1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599 |
- // =================================================================================================
- // 입원사후심사 메인화면(김상진)
- // 수정이력
- // - 2007.03.22 / 정주미
- // - 2008.06.03 / 김상진
- //==================================================================================================
- /* --------------------------------------------------------------------------------------------------
- Fucntion Name || Description
- -----------------------------------------------------------------------------------------------------
- - fInitialize : 화면 초기화
- - initCalendar : 그리드달력 초기화
- --------------------------------
- - 팝업화면 Function
- --------------------------------
- - fGetOrderComment : 심사메모 : SPPIZ00700_심사Comment조회.xrw 호출
- - fSetLnUnitSpclSpec : 특정내역 : SPPIZ00500_특정내역상세관리.xrw
- - fSetLnUnitClsoSpclSpec : 특정내역 : SPPIZ00500_특정내역상세관리.xrw
- - fDiagOrderToothInput : 치식 : SPPIZ00600_상병및처방별치식
- - fOrderGridInsertCnfmCd : 확인코드 : SPPIZ01100_확인코드조회
- - fOrderRsltSrch : 결과조회 : SMAER00800_결과조회
- - fSrchEstmCd : 산정의미코드 : SPPIZ00800_산정코드조회.xrw
- - fGetEmrInformation : 진료정보조회 : SMMMO02500_환자진료정보.xrw
- - fGetMemoHistList : 메모이력조회 : SPPIZ00300_메모이력조회.xrw
- - fGetDiagHistList : 상병이력조회 : SMPIZ00100_외래입원상병이력조회.xrw
- - fPrcpResnRef :처방사유조회 : SPMMO19000_중복처방사유조회
- --------------------------------
- - 상병관련 Function
- --------------------------------
- - fDiagSeqUp : 상병순서 위로
- - fDiagSeqDown : 상병순서 아래로
- - fSortDiagNo : 상병SORT
- - fDiagGridInsertRow : 행삽입
- - fDiagGridInsertRowMulti : 행추가(5줄)
- - fDiagGridDeleteRow : 행삭제
- - fDiagGridDeleteCancel : 삭제취소
- - fSearchDiageCode : 상병코드 PopUp 조회
- - fSearchSPPIZ00400 : 상병코드 PopUp 조회호출
- - fSetDiagCdNm : 상병코드 PopUp 반영
- --------------------------------
- - 특정내역관련 Function
- --------------------------------
- - fRepeatSpclSpec : 특정내역반복
- - fSpclGridInsertRow : 특정내역 "행 추가"
- - fSpclGridDeleteRow : 특정내역 "행 삭제"
- - fSetLnUnitSpclSpec : 줄단위 특정내역 수정/입력 ==> SPPIZ00500_특정내역상세관리.xrw
- - fSetDocRefLnSpclSpec : 명세서단위 특정내역 수정/입력 ==> SPPIZ00500_특정내역상세관리.xrw
- - fOrderGridInsertCmt : 처방 Grid 마우스 오른쪽 "처방주석입력" ==> SPPIZ00500_특정내역상세관리.xrw
- - fSetLnUnitMemoRefresh : 심사Comment 조회 Popup : 줄단위메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetJudgMemoRefresh : 심사Comment 조회 Popup : 심사메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetEdiMemoRefresh : 심사Comment 조회 Popup : EDI메모 설정 ==> SPPIZ00700_심사Comment조회.xrw
- - fSetCnfmCdSpclSpec : 특정내역 더블클릭 : 확인코드 줄단위 특정내역 수정/입력 ==> SPPIZ01100_확인코드조회
- - fOrderGridInsertCnfmCd : 처방내역 버튼클릭 : 확인코드 줄단위 특정내역 수정/입력 ==> SPPIZ01100_확인코드조회
- - fGetMemoHistList : 메모이력 버튼클릭 : 심사자메모, edi메모, JX999조회 입력 ==> SPPIZ00300_메모이력조회.xrw
- - fSetSpclSpecJX999 : 저장할때 : 기타메모(JX999)를 특정내역 형식에 맞춰 설정
- - fSetJudgEDIMemo : 저장할때 : 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- --------------------------------
- - 처방입력(수가입력)
- --------------------------------
- - fOrderGridInsertRow : 행추가
- - fOrderGridCopyRow : 행복사
- - fOrderGridDeleteRow : 행삭제
- - fOrderGridDeleteCancel : 삭제취소
- - fOrderGridAddRow : 처방추가
- - fSetSrchCalcScorCd : 신규코드 추가
- - fSetNewCalcScorCd : 신규코드 추가후
- - fSetCalcScorAmt : 수가코드의 금액정보를 표시
- - fSetOrderLnNo
- _
- - fSetTotDrugQtyAmt : 기존코드 수정 1회량/횟수/일수 수정시
- - fSetCalcScorAmt : 조회수가 금액표시
- - fSetOrderLnNo : 처방그리드 sort
- - fChangeOrderLnNo : 처방, 특정 줄번호 셋팅
- - fSortSpclNo : 특정그리드 sort
- - fSetNewCnfmCd : 확인코드, 검체검사위탁, 준용코드를 특정내역에 자동으로 추가
- - fSetPayflag : 처방 급여구분 변경
- -----------------------------------------
- - 저장 및 완료 후 프로세스(저장 및 조회)
- -----------------------------------------
- - fSaveInAftJudg : 저장(B)
- - fGetNextAftJudgTrgtMan : 완료(C), 미심(A), 보류(N), 삭제(D)
- - pidfGetKDRGCode : KDRG 3.2 DRG분류번호 조회
- - fSrchNextJudgTrgtManCLBS : 다음 대상자 찾기
- - fSrchNextJudgTrgtManSPEC : 다음 대상자 찾기(선별심사인 경우)
- - fGetInAftJudgMngt : 다음 대상자 조회(대상자에서 더블클릭했을 경우...)
- - fInitSrchData : 화면초기화 (기존환자 심사중 해제)
- - fSetAftJudgTrgtManSrchData : 다음 대상자 조회이후
- - fSetJudgStatBtnAuth : 심사완료여부 상태따라 버튼권한 설정(현재환자 심사중 설정)
- - fGetSelectedOrderData : 재료행위/급여/항목구분 Radio 선택
- - fGetSelectedPayflag : 급여Radio 선택
- - fSetOrderData : 처방 항목 구분 및 선별심사 처방 색깔 구분
- - fSetSubtotal : 항목별 소계(item1별로 금액sum해서 보여준다)
- - fInitOrderFilter : 처방 Grid 필터용 조회조건을 초기화한다.
- --------------------------------
- - 기타조회
- --------------------------------
- - fClodSelectByPayflag : 급여구분별 처방조회
- - fOpenSMPIS00500DetailSnglCD : 처방별환자조회(계산)_수가코드
- - fOpenSMPIS00500DetailEdicd : 처방별환자조회(계산)_EDI코드
- - fOpenSMPIS00600Detail : 처방별환자조회(청구/삭감)
- -------------------------------------------------------------------------------------------------- */
- // 20100615 환경초기화를 위한 로딩상태 저장
- var gCldihist_refdata = "";
- var gCldihist_sizedata = "";
- var gClodhist_refdata = "";
- var gClodhist_sizedata = "";
- var df_tp_size_grp_cldihist = grp_cldihist.attribute("top");
- var df_tp_size_grp_clsphist = grp_clsphist.attribute("top");
- var df_tp_size_cap_clod = cap_clod.attribute("top");
- // ----------------------------------------------------------------
- // 화면 open시(와 초기화 버튼 클릭시) 화면 초기화 기능을 수행한다.
- // ---------------------------------------------------------------
- function fInitialize() {
- // 처방 Grid "EDI코드"까지 틀 고정
- grd_clodhist.frozenCols = grd_clodhist.colRef("basecd");
- grd_clsphist.frozenCols = grd_clsphist.colRef("snglcalcscorcd");
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- cap_message.attribute("left") = "5";
- opt_msgspclformat.attribute("left") = "95";
- opt_msgspclformat.attribute("width") = "1099";
- // 상병 Grid 크기를 초기화한다.
- grp_cldihist.attribute("height") = "170";
- grd_cldihist.attribute("height") = "142"; // 상병 Grid의 세로 폭을 축소한다.
- // 처방
- cap_clod.attribute("top") = df_tp_size_cap_clod; // "90";
- grd_clodhist.attribute("height") = "351"; // "527";
- cap_grptemp.visible = false;
- grp_predoculist.visible = false; // 이전 명세서 목록용 Group
- grp_delclodlist.visible = false; // 처방 휴지통 Group
- grp_delorderlist.visible = false; // 심사변경 목록 Group
- // grp_clsphist.attribute("height") = "632";
- // swt_spclmemo.attribute("height") = "608";
- // fSetOrderControlSize(); // 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다.
- // fSetDelOrdPreDocuSize(); // 이전명세서, 처방휴지통, 삭제처방 Group의 컨트롤 크기를 설정한다.
- case_spclspec.selected = false; // true;
- case_judgrmemo.selected = false;
- case_ediclammemo.selected = false;
- // fInitUIControlSize();
- // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
- model.removeNodeset("/root/main/list1/cldi");
- model.removeNodeset("/root/main/list2/clod");
- model.removeNodeset("/root/main/list3/clsp");
- model.removeNodeset("/root/main/list4/clbs");
- model.removeNodeset("/root/main/list5/clod");
- model.removeNodeset("/root/main/list6/delclod");
- // 처방Grid용 조회부의 Radio 초기값을 "전체"로 설정한다.
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoMatrAct", "-");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoPay", "0");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoItem", "-");
- // 특정내역Grid용 필터링 Radio 초기값
- model.setValue("/root/hidden/list3/selectedUnitFlag", "-");
- // -----------------------
- // 공통코드를 조회한다.
- // -----------------------
- // (ZBC001.js) com.ZBCMCODE에서 기초코드 값을 가져와서 Combo 컨트롤 item으로 설정하기 위해 사용한다.
- zbcfGetCodeList(new Array("P0110" // 진료결과(보험)
- , "P0297" // 진료결과(산재)
- , "P0111" // 입원경로
- , "P0112" // 도착경로
- , "P0117" // 특정코드
- , "P0127" // 조정사유코드
- , "P0131" // 표준코드구분
- , "P0151" // 심사완료여부
- , "P0291" // 진료분야
- , "P0287" // 청구과(의과)
- , "P0288" // 청구과(치과)
- , "P0322" // 청구세부과
- , "P0236" // 공상구분
- , "P0465" // 명세서삭제사유
- , "P0466" // 반송부제기사유
- , "P0155" // 청구구분
- , "P0261" // 급여종별
- ), new Array("/root/init/P0110list", "/root/init/P0297list",
- "/root/init/P0111list", "/root/init/P0112list",
- "/root/init/P0117list", "/root/init/P0127list",
- "/root/init/P0131list", "/root/init/P0151list",
- "/root/init/P0291list", "/root/init/P0287list",
- "/root/init/P0288list", "/root/init/P0322list",
- "/root/init/P0236list", "/root/init/P0465list",
- "/root/init/P0466list", "/root/init/P0155list",
- "/root/init/P0261list"), false); // minimum을 'false'로 설정한 경우에는
- // 코드의 모든속성을 가져온다.
- pamfGetCodeList(new Array("PK043"), new Array("/root/init/PK043list"));
- pamfGetCodeList(new Array("PK221"), new Array("/root/init/PK221list"));
- // -------------------------------------------------
- // 진료과, 주치의 조회
- // -------------------------------------------------
- model.setValue("/root/main/item1/clbs/ioflag", "I");
- submit("TRPID20309");
- model.makeNode("root/hidden/tmp/orddeptcd");
- model.makeNode("root/hidden/tmp/orddeptcd2");
- model.makeNode("root/hidden/tmp/orddrid");
- model.makeNode("root/hidden/tmp/orddrid2");
- model.removeNodeset("root/init/orddeptcd");
- model.removeNodeset("root/init/orddeptcd2");
- model.removeNodeset("root/init/orddrid");
- model.removeNodeset("root/init/orddrid2");
- model.makeNode("root/init/orddeptcd");
- model.makeNode("root/init/orddeptcd2");
- model.makeNode("root/init/orddrid");
- model.makeNode("root/init/orddrid2");
- model.copyNode("root/init/orddeptcd", "root/hidden/tmp/orddeptcd");
- model.copyNode("root/init/orddeptcd2", "root/hidden/tmp/orddeptcd2");
- model.copyNode("root/init/orddrid", "root/hidden/tmp/orddrid");
- model.copyNode("root/init/orddrid2", "root/hidden/tmp/orddrid2");
- model.removeNodeset("root/hidden/tmp/orddeptcd");
- model.removeNodeset("root/hidden/tmp/orddeptcd2");
- model.removeNodeset("root/hidden/tmp/orddrid");
- model.removeNodeset("root/hidden/tmp/orddrid2");
- // ----------------------------------------
- // EDI관련 컬럼 표시
- // ----------------------------------------
- fEdiCheck();
- // ----------------------------------------
- // 사용자에게 보여줄 필요없는 컬럼을 숨긴다.
- // ----------------------------------------
- fColHidden();
- // -----------------------------------------------------------------------
- // 20100615 환경저장 조회부분 처리전 로딩상태 저장 (환경초기화에서 사용)
- // -----------------------------------------------------------------------
- // 1. 상병리스트
- var cldihist_obj = document.controls.item("grd_cldihist");
- for ( var i = 0; i < cldihist_obj.cols; i++) {
- var refval = cldihist_obj.colAttribute(i, "ref");
- gCldihist_refdata += refval + "^";
- var sizeval = cldihist_obj.colWidth(i);
- gCldihist_sizedata += sizeval + "^";
- }
- gCldihist_refdata = gCldihist_refdata.substring(0, gCldihist_refdata.length - 1);
- gCldihist_sizedata = gCldihist_sizedata.substring(0, gCldihist_sizedata.length - 1);
- // 2. 처방리스트
- var clodhist_obj = document.controls.item("grd_clodhist");
- for ( var i = 0; i < clodhist_obj.cols; i++) {
- var refval = clodhist_obj.colAttribute(i, "ref");
- gClodhist_refdata += refval + "^";
- var sizeval = clodhist_obj.colWidth(i);
- gClodhist_sizedata += sizeval + "^";
- }
- gClodhist_refdata = gClodhist_refdata.substring(0, gClodhist_refdata.length - 1);
- gClodhist_sizedata = gClodhist_sizedata.substring(0, gClodhist_sizedata.length - 1);
- // -----------------------------------------------------------------------
- // ---------------------------------------------------------------------------------------------
- // 환경저장 조회부분(환경저장된 컬럼 ref순서대로 colMove시킨다.
- // ---------------------------------------------------------------------------------------------
- model.resetInstanceNode("/root/send/listval/uuee");
- model.setValue("/root/send/listval/uuee/scrnid", "SMPID20300"); // SMPID20300_입원사후심사관리.
- if (submit("TRPID21602")) {
- var selrow = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
- var refarr = "";
- var sizearr = "";
- for ( var x = 1; x <= model.getXPathValue("count(/root/hidden/listval/uuee)"); x++) {
- compsnm = model.getValue("/root/hidden/listval/uuee[" + x + "]/compsnm");
- if (compsnm) { // Grid ID 정보
- refdata = model.getValue("/root/hidden/listval/uuee[" + x + "]/compscnts"); // Grid의
- // 칼럼명
- sizedata = model.getValue("/root/hidden/listval/uuee[" + x + "]/compssizecnts"); // Grid의
- // 칼럼Size
- grdobj = document.controls.item(compsnm);
- selrow = grd_cldihist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로 바뀌므로 selectedRow로 체크함
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for ( var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- }
- }
- }
- // 처방 조회부의 수가코드와 EDI코드 검색용 Input 컨트롤
- ipt_calcscorcd.attribute("_chartype") = "upper"; // (tfHelper.js) 대문자로
- // 입력을 제한한다.
- ipt_edicd.attribute("_chartype") = "upper";
- model.refresh();
- // 완료 ~ 삭제 Btn 색을 변경한다.
- btn_end.attribute("color") = "#cc3333"; // cc3333=붉은색
- btn_unjudg.attribute("color") = "#cc3333";
- btn_rete.attribute("color") = "#cc3333";
- btn_del.attribute("color") = "#cc3333";
- btn_save.attribute("font-weight") = "bold";
- btn_end.attribute("font-weight") = "bold";
- btn_unjudg.attribute("font-weight") = "bold";
- btn_rete.attribute("font-weight") = "bold";
- btn_del.attribute("font-weight") = "bold";
- btn_maininit.attribute("font-weight") = "bold";
- // -----------------------
- // 화면 권한을 설정한다.
- // -----------------------
- fCheckAuth();
- // ----------------------
- // Popup 여부체크
- // ----------------------
- if (isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
- btn_closepredocupopup.visible = true; // Popup용 닫기 버튼
- btn_predocu.visible = false; // 이전명세서 버튼
- var clamym = model.getValue("/root/send/item1/clbs/clamym");
- var clamdg = model.getValue("/root/send/item1/clbs/clamdg");
- var pid = model.getValue("/root/send/item1/clbs/pid");
- var pidsn = model.getValue("/root/send/item1/clbs/pidsn");
- if (clamym && clamdg && pid && pidsn) {
- // --------------------------------------
- // 사후 심사 대상자를 조회한 이후의 처리
- // --------------------------------------
- submit("TRPID20301");
- fSetAftJudgTrgtManSrchData();
- }
- } else {
- btn_closepredocupopup.visible = false; // Popup용 닫기 버튼
- btn_predocu.visible = true; // 이전명세서 버튼
- // ---------------------------------------------
- // Popup이 아닌 경우 대상자 조회를 바로 띄운다.
- // ---------------------------------------------
- fGetInAftJudgTrgtManPidSrch();
- }
- model.setValue("/root/hidden/reselect", "N"); // 재조회여부(저장버튼을 눌러서 재조회 할 경우)
- model.setValue("/root/hidden/orgjudgendyn", ""); // 오리지날 심사상태(심사중이었다가
- // 해제되는 경우 원래값 돌려주기 위해
- // 사용)
- }
- // 20100615 환경초기화
- function fClearSetInfo() {
- var selrow = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
- var refarr = "";
- var sizearr = "";
- // 1. 상병그리드 초기화
- selrow = grd_cldihist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로
- // 바뀌므로 selectedRow로 체크함
- compsnm = "grd_cldihist";
- refdata = gCldihist_refdata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼명
- sizedata = gCldihist_sizedata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for ( var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- // 2. 처방그리드 초기화
- selrow = grd_clodhist.selectedRow(0); // row 선택 후 타이틀 부분 조정시 row = 0으로
- // 바뀌므로 selectedRow로 체크함
- compsnm = "grd_clodhist";
- refdata = gClodhist_refdata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼명
- sizedata = gClodhist_sizedata; // 초기설정 담아둔 글로벌 변수에서 가져온다. Grid의 칼럼Size
- grdobj = document.controls.item(compsnm);
- refarr = refdata.split("^");
- sizearr = sizedata.split("^");
- for ( var i = 0; i < refarr.length; i++) {
- var colcnt = grdobj.colref("" + refarr[i] + "");
- if (i != colcnt) {
- grdobj.colMove(i, colcnt, "before", false);
- }
- var size = sizearr[i];
- grdobj.colWidth(i) = eval(size);
- }
- grdobj.rebuild();
- model.setFocus(compsnm);
- grdobj.select(selrow, 1) = true;
- grdobj.row = selrow; // 환경초기화 이후 row = -1로 설정되므로
- }
- // 20100615 환경저장
- function fSaveSetInfo() {
- var uueemax = 0;
- var uueemod = "";
- var compsnm = "";
- var refdata = "";
- var sizedata = "";
- var grdobj = "";
- model.resetInstanceNode("/root/send/listval/uuee");
- // 1. 상병그리드 저장
- compsnm = "grd_cldihist";
- uueemax++;
- uueemod = "I";
- refdata = "";
- sizedata = "";
- for ( var x = 1; x <= model
- .getXPathValue("count(/root/hidden/listval/uuee)"); x++) {
- if (model.getValue("/root/hidden/listval/uuee[" + x + "]/compsnm") == compsnm) {
- uueemod = "U";
- break;
- }
- }
- grdobj = document.controls.item(compsnm);
- for ( var i = 0; i < grdobj.cols; i++) {
- var refval = grdobj.colAttribute(i, "ref");
- refdata += refval + "^";
- var sizeval = grdobj.colWidth(i);
- sizedata += sizeval + "^";
- }
- refdata = refdata.substring(0, refdata.length - 1);
- sizedata = sizedata.substring(0, sizedata.length - 1);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/flag", uueemod);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/scrnid", "SMPID20300");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsnm", compsnm);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compscnts", refdata);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsrefcnts", "");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compssizecnts", sizedata);
- // 2. 처방그리드 저장
- compsnm = "grd_clodhist";
- uueemax++;
- uueemod = "I";
- refdata = "";
- sizedata = "";
- for ( var x = 1; x <= model
- .getXPathValue("count(/root/hidden/listval/uuee)"); x++) {
- if (model.getValue("/root/hidden/listval/uuee[" + x + "]/compsnm") == compsnm) {
- uueemod = "U";
- break;
- }
- }
- grdobj = document.controls.item(compsnm);
- for ( var i = 0; i < grdobj.cols; i++) {
- var refval = grdobj.colAttribute(i, "ref");
- refdata += refval + "^";
- var sizeval = grdobj.colWidth(i);
- sizedata += sizeval + "^";
- }
- refdata = refdata.substring(0, refdata.length - 1);
- sizedata = sizedata.substring(0, sizedata.length - 1);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/flag", uueemod);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/scrnid", "SMPID20300");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsnm", compsnm);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compscnts", refdata);
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compsrefcnts", "");
- model.makeValue("/root/send/listval/uuee[" + uueemax + "]/compssizecnts", sizedata);
- if (submit("TXPID21601")) {
- messageBox("사용자 환경 저장이", "I002"); // /사용자 환경 저장이 완료되었습니다.
- }
- }
- // -----------------------------------------
- // 사용자에게 보여줄 필요없는 컬럼은 숨긴다.
- // -----------------------------------------
- function fColHidden() {
- grd_clodhist.colHidden(grd_clodhist.colRef("toot")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("choiordamt")) = true; // 선택단가
- grd_clodhist.colHidden(grd_clodhist.colRef("choiordtotamt")) = true; // 선택진료sum
- grd_clodhist.colHidden(grd_clodhist.colRef("item1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("item2")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("ediitem")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("totdrugqty")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("baserlapnt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("baseaddrlapnt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("pntunitcost")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("hosinresncd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("rcptunitcost")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("prcpflag")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("rcptcalcamt")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("estmcdnm")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("pynpy1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls1")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls2")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("earncls3")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("mechfromdd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("mechtodd")) = true;
- grd_clodhist.colHidden(grd_clodhist.colRef("workflag")) = true;
- }
- // -----------------------------------------------------------------
- // submit("TRPID20301") 사후심사대상자를 조회한 이후의 처리를 한다.
- // -----------------------------------------------------------------
- function fSetAftJudgTrgtManSrchData() {
- // 상단에 환자정보 기입하기
- if (!isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
- fSetInPatPamInfo();
- }
- // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn 권한을 설정한다.
- fSetJudgStatBtnAuth();
- if (getNodesetCount("/root/main/dupidlist/dupid") > 0) {
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var duppid = model.getValue("/root/main/dupidlist/dupid/newpid");
- if (pid == duppid) {
- duppid = model.getValue("/root/main/dupidlist/dupid/oldpid")
- }
- messageBox("★★★ 합번정보 : 해당 환자는 " + duppid + " 챠트번호와 합번정보가 있으며, " + "진료개시일이 동일한 " + duppid + "의 명세서가 존재하니 반드시 청구여부 확인하시기 바랍니다. ★★★", "I"); // /
- // 잠금설정되어있는 상태입니다.수정할 수 없습니다.
- }
- if (model.getValue("/root/main/item1/clbs/clamkey")) {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "Y") {
- messageBox("잠금설정되어있는 상태입니다. 수정", "E001"); // / 잠금설정되어있는 상태입니다. 수정할 수 없습니다.
- }
- } else {
- // 해당 심사대상자가 없는 경우
- return;
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- // fSortSpclNo();
- // 특정코드 줄단위 였던 row가 명세서 단위 row로 바뀌는 경우, 특정코드 값이 표시되지 않으므로 다시 확인한다.
- // for (var i = 1; i < grd_clsphist.rows; i++) {
- // grd_clsphist.cellComboNodeset(i, grd_clsphist.colRef("spclcd")) =
- // "/root/init/P0117list/P0117";
- // }
- // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- // fGetSelectedOrderData();
- // if (model.getValue("/root/hidden/reselect") == "N") { // 저장후 재조회가 아닐
- // 경우만..(속도개선)
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- // }
- // 항목별 금액소계표시 2011.01.04 김상진보류
- // fSetSubtotal();
- // "저장" Btn 클릭시에 인적사항이 변경되었는지 여부를 알기 위해 조회한 항목을 임시로 저장해두고 추후에 비교한다.
- model.copyNode("/root/hidden/item1/initclbs/clbs", "/root/main/item1/clbs");
- model.copyNode("/root/hidden/item1/initmemo/memo", "/root/main/item1/memo");
- // "급여구분" 조회위한 급여처방을 임시로 저장해 둔다.
- model.copyNode("/root/hidden/initclodlist/list2", "/root/main/list2");
- // 진료결과 nodeset (산재:P0297, 보험,보호,자보:P0110)
- if (model.getValue("/root/main/item1/clbs/insukindcd") == "41") {
- cmb_ordrsltcd.choices.itemset.attribute("nodeset") = "/root/init/P0297list/P0297";
- } else {
- cmb_ordrsltcd.choices.itemset.attribute("nodeset") = "/root/init/P0110list/P0110";
- }
- cmb_ordrsltcd.refresh();
- // 진료과 의사 값에 따라 선택가능한 주치의 nodeset을 설정한다.
- // cmb_orddrid.choices.itemset.attribute("nodeset") =
- // "/root/init/orddrid/orddridlist[dp = '"+
- // model.getValue("/root/main/item1/clbs/orddeptcd") +"']";
- // if (model.getValue("/root/main/item1/clbs/dethyn") == "Y") {
- // messageBox("사망", "I005"); ///사망 환자입니다.
- // }
- // ---------------------------------------------------------------------------------------------------------
- // 조회된 심사대상자의 특이 인적사항, 보조/요율 등을 계산하여 보여준다.
- fGetPersonalData();
- // ---------------------------------------------------------------------------------------------------------
- // 상병 Grid의 상병순서를 체크하고, 마지막 줄에 줄추가를 한다.
- // fSortDiagNo(true);
- // 환자호출시 기본적으로 특정내역 탭을 선택하여 보여준다 - 20091112 박창원 -- 병원별 차등적용으로 변경
- // 환자호출시 병원별로 차별화 해서 디스플레이 해줌 - 20091117 박창원
- var dispclsp = model.getValue("/root/main/item1/clbs/dispclsp");
- if (dispclsp == "S") { // 특정내역우선
- btn_spclspec.selected = true;
- btn_judgrmemo.selected = false;
- btn_ediclammemo.selected = false;
- // btn_spclspec.dispatch("DOMActivate");
- fGeCaseSelect("case_spclspec", true);
- } else if (dispclsp == "E") {
- btn_spclspec.selected = false;
- btn_judgrmemo.selected = false;
- btn_ediclammemo.selected = true;
- // btn_ediclammemo.dispatch("DOMActivate");
- fGeCaseSelect("case_ediclammemo", false);
- } else if (dispclsp == "U") {
- btn_spclspec.selected = false;
- btn_judgrmemo.selected = true;
- btn_ediclammemo.selected = false;
- // btn_judgrmemo.dispatch("DOMActivate");
- fGeCaseSelect("case_judgrmemo", false);
- }
- // model.refresh(); // 밑에 refresh 있어서 삭제
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- if (grd_cldihist.rows == 1) {
- fDiagGridInsertRow("Y", "N");
- }
- model.setFocus("grd_cldihist");
- grd_cldihist.row = 1;
- grd_clodhist.row = 1; // 그리드의 첫줄부터 표시되도록 포커스를 0으로 설정한다..
- // 공여자일경우 처리 - 20091021 박창원
- var rsvcnt = model.getValue("/root/main/list9/trnpt/trnptcnt");
- var rsvname = model.getValue("/root/main/list9/trnpt/rsvname");
- var rsvrrgstno = model.getValue("/root/main/list9/trnpt/rsvrrgstno");
- if (rsvcnt > "1") { // 건수가 2건이상 있는겅우 메세지 처리
- messageBox("이식건수가 2건 이상인 공여자입니다 이식 정보를 확인하세요 ", "I009");
- }
- if (rsvcnt == "1") { // 건수가 1건인경우 적용할것인지 질문
- var msg = messageBox("공여자입니다 정보를 수혜자로 변경(변경후 저장해야 적용) ", "S001");
- if (msg == "6") {
- model.setValue("/root/main/item1/clbs/patnm", rsvname);
- model.setValue("/root/main/item1/clbs/patrrgstno", rsvrrgstno);
- model.refresh();
- }
- }
- // 메모여부에 따른 색깔분류 - 박창원 20091102
- var edimemo = model.getValue("/root/main/item1/memo/edimemo");
- var usermemo = model.getValue("/root/main/item1/memo/judgmemo");
- var edilength = edimemo.length;
- var userlength = usermemo.length;
- if (edilength > 0) {
- btn_ediclammemo.attribute("background-image") = "../../../com/commonweb/images/tab_hide_orange.gif";
- } else if (edilength == 0) {
- btn_ediclammemo.attribute("class") = "btn_sw"; // 표준에서 정한 기본 버튼으로 설정
- }
- if (userlength > 0) {
- btn_judgrmemo.attribute("background-image") = "../../../com/commonweb/images/tab_hide_orange.gif";
- } else if (userlength == 0) {
- btn_judgrmemo.attribute("class") = "btn_sw"; // 표준에서 정한 기본 버튼으로 설정
- }
- // 20091230 완화의료 표시 추가
- var fixrateyn = model.getValue("/root/main/item1/clbs/fixrateyn");
- if (fixrateyn == "7" || fixrateyn == "8") {
- pm_flag.visible = true;
- }
- // 20100402 주민반송일 경우 온라인 주민번호 확인메세지 추가
- if (model.getValue("/root/main/item1/clbs/lockyn") != "Y"
- && getStringLength(model.getValue("/root/main/item1/clbs/realrgstno")) == 13 // 자리수체크
- && model.getValue("/root/main/item1/clbs/realrgstno") != model.getValue("/root/main/item1/clbs/patrrgstno")
- && model.getValue("/root/main/item1/clbs/preresncd").substr(0, 2) == "91") {
- var ans = messageBox("명세서상의 주민번호와 온라인 상의 주민번호가 상이합니다. "
- + "\n\n"
- + "온라인 상의 주민번호는 ( "
- + model.getValue("/root/main/item1/clbs/realrgstno").substr(0,6)
- + "-"
- + model.getValue("/root/main/item1/clbs/realrgstno").substr(6, 7) + " ) 입니다." + "\n\n" + "주민번호를 변경 ", "S001");
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- model.setValue("/root/main/item1/clbs/patrrgstno", model.getValue("/root/main/item1/clbs/realrgstno"));
- ipt_patrrgstno.refresh();
- }
- }
-
- var judgdifamt = model.getValue("/root/main/item1/clbs/judgdifamt");
- if (Math.abs(judgdifamt) >= 10000 ) {
- messageBox("심사수정차액("+opt_judgdifamt.label+")이 10,000원 이상입니다.", "I007");
- }
-
- var bfafamtdiff = getNodesetCount("/root/main/bfafamtdiff/amtlist");
- var payamt = model.getValue("/root/main/bfafamtdiff/amtlist/payamt");
- var tot12 = model.getValue("/root/main/bfafamtdiff/amtlist/tot12");
- var ownbamt = model.getValue("/root/main/bfafamtdiff/amtlist/ownbamt");
- var ownb12 = model.getValue("/root/main/bfafamtdiff/amtlist/ownb12");
- var insubamt = model.getValue("/root/main/bfafamtdiff/amtlist/insubamt");
- var clam12 = model.getValue("/root/main/bfafamtdiff/amtlist/clam12");
- var handcapfund = model.getValue("/root/main/bfafamtdiff/amtlist/handcapfund");
- var handcap12 = model.getValue("/root/main/bfafamtdiff/amtlist/handcap12");
- var procsubtamt = model.getValue("/root/main/bfafamtdiff/amtlist/procsubtamt");
- var subt12 = model.getValue("/root/main/bfafamtdiff/amtlist/subt12");
- var suppamt = model.getValue("/root/main/bfafamtdiff/amtlist/suppamt");
- var supp12 = model.getValue("/root/main/bfafamtdiff/amtlist/supp12");
- var max12 = model.getValue("/root/main/bfafamtdiff/amtlist/max12");
- var payownblimamt = model.getValue("/root/main/bfafamtdiff/amtlist/payownblimamt");
- if (bfafamtdiff > 0 ) {
- messageBox("원무사후차액이 10,000원 이상입니다." + "\n" +
- "원무급여총액:[" + payamt + "] 사후급여총액:[" + tot12 + "]\n" +
- "원무본인부담액:[" + ownbamt + "] 사후본인부담액:[" + ownb12 + "]\n" +
- "원무청구액:[" + insubamt + "] 사후청구액:[" + clam12 + "]\n" +
- "원무장애인금액:[" + handcapfund + "] 사후장애인금액:[" + handcap12 + "]\n" +
- "원무대불금:[" + procsubtamt + "] 사후대불금:[" + subt12 + "]\n" +
- "원무지원금:[" + suppamt + "] 사후지원금:[" + supp12 + "]\n" +
- "원무본인부담상한액:[" + max12 + "] 사후본인부담상한액:[" + payownblimamt + "]\n"
- , "I007");
- }
-
- model.refresh();
- /*
- * model.setFocus("grd_cldihist"); grd_cldihist.row = grd_cldihist.rows-1;
- * grd_cldihist.col = grd_cldihist.colRef("diagcd");
- * grd_cldihist.editCell();
- */
- }
- // ---------------------------
- // 상단에 환자정보 기입하기
- // ---------------------------
- function fSetInPatPamInfo() {
- // emr/prcpmngtweb/xrw/SPMMO08900_환자기본정보설정.xrw
- var ioflag = model.getValue("/root/main/item1/clbs/ioflag");
- var stsioflag = model.getValue("/root/main/item1/clbs/stsioflag");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var indd = model.getValue("/root/main/item1/clbs/indd");
- var cretno = model.getValue("/root/main/item1/clbs/cretno");
- var instcd = model.getValue("/root/main/item1/clbs/instcd");
- var ordtodd = model.getValue("/root/main/item1/clbs/ordtodd");
- var srchdd = ""
- // 20100201 응급실 주과구분(C) 추가
- if (stsioflag == "E" || stsioflag == "C") {
- ioflag = "E";
- srchdd = indd;
- } else {
- ioflag = "I";
- srchdd = ordtodd;
- }
- if (pid) {
- // 입원환자 parameter 구조 ioflag▦pid▦indd▦cretno▦instcd▦srchdd
- var param = ioflag + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
- setParameter("condparam", param);
- // 원무에 환자정보가 없는 경우 에러메시지 화면을 보이지 않게 처리함
- setParameter("errflag", "Y");
- modal(
- "SPMMO08900",
- 1,
- 0,
- 0,
- "",
- "",
- "",
- "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var useyn = getParameter("SPMMO08900_rtn_useyn");
- if (useyn == "Y") {
- setParameter("SPMMO08900_rtn_useyn", "");
- } else {
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- }
- } else {
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- }
- }
- // -----------------------------------------------------------------------------------------
- // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn 권한을 설정한다.
- // -----------------------------------------------------------------------------------------
- function fSetJudgStatBtnAuth() {
- // 1. 팝업이 아닌 경우 "11100000" // RXP권한
- // 2. 심사전 명세서 팝업 "00100000"
- // 3. 이전 명세서 팝업 "11100000"
- // 4. 그외 팝업 "10100000"
- var xAuth = checkAuth("X"); // 처리권한(입력, 수정, 삭제 등) - RXP
- if (xAuth == true) {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "N") { // 청구완료여부 A:샘생성전
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- // 심사중이면...
- if (judgendyn == "B") {
- if (model.getValue("/root/hidden/reselect") == "N") {
- var lastupdtrid = model
- .getValue("/root/main/item1/clbs/lastupdtrid");
- if (lastupdtrid == userid) {
- // rowstat = "ing";
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false;
- messageBox("기존에 심사중이었던", "I005"); // /기존에 심사중이었던
- // 환자입니다.
- } else {
- btn_save.disabled = true;
- btn_end.disabled = true;
- btn_unjudg.disabled = true;
- btn_rete.disabled = true;
- btn_del.disabled = true;
- // btn_cretdel.disabled = true; // 생성삭제 Btn
- // 심사중인 환자 메시지
- messageBox("다른 심사자가 심사중인", "I005"); // /다른 심사자가 심사중인
- // 환자입니다.
- }
- // -------------------------------------------------
- // 원래 심사상태를 저장해둔다.(심사중해제를 위해서)
- // -------------------------------------------------
- // model.setValue("/root/hidden/orgjudgendyn", judgendyn);
- } else {
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false;
- // -------------------------------------------------
- // 저장후재조회여부 초기화
- // -------------------------------------------------
- model.setValue("/root/hidden/reselect", "N");
- }
- }
- // 심사중이 아니라면
- else if (judgendyn != "B") {
- // 심사자ID이고 미심(A)일 경우만 심사중으로 변경
- if (model.getValue("/root/init/item3/judgidyn") == "Y"
- && judgendyn == 'A') {
- // "심사중" 상태로 설정한다.
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- model.removeNodeset("/root/send/item4");
- model.makeValue("/root/send/item4/endclbs/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.makeValue("/root/send/item4/endclbs/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.makeValue("/root/send/item4/endclbs/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/send/item4/endclbs/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.makeValue("/root/send/item4/endclbs/judgendyn", "B");
- submit("TXPID20302");
- model.setValue("/root/main/item1/clbs/judgendyn", "B");
- model.setValue("/root/main/item1/clbs/lastupdtrid", userid);
- model.refreshpart("/root/main/item1/clbs/judgendyn");
- // 대상자화면 상태도 update
- fSetJudgSaveState("B"); // 심사완료여부 (P0151) - B: 심사중
- }
- // -------------------------------------------------
- // 원래 심사상태를 저장해준다.(심사중해제를 위해서)
- // -------------------------------------------------
- model.setValue("/root/hidden/orgjudgendyn", judgendyn);
- if (judgendyn == "D") { // D: 삭제
- btn_save.disabled = true; // 저장
- // 2012.5.23 이경민 심사완료일자가 15일 이후면 완료버튼 비활성화 추가.
- var judgenddd = model.getValue("/root/hidden/smpid20200/rslt/judgenddd");
- judgenddd = judgenddd.toDate();
- var bfday15 = getCurrentDate().toDate().getAddDate(-15, 'D');
- if (judgenddd < bfday15) {
- btn_end.disabled = true; // 완료
- } else {
- btn_end.disabled = false; // 완료
- }
- btn_unjudg.disabled = false; // 미심사
- btn_rete.disabled = false; // 보류
- btn_del.disabled = true; // 삭제
- // btn_cretdel.disabled = false; // 생성삭제 Btn
- } else if (judgendyn == "C" || judgendyn == "E"
- || judgendyn == "Z") { // C: 심사완료, E: 통합완료, Z: 일괄완료
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false;
- } else if (judgendyn == "A") { // A: 미심사
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = true;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false;
- } else if (judgendyn == "N") { // N: 보류
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = true;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false;
- } else { // B: 심사중
- btn_save.disabled = false;
- btn_end.disabled = false;
- btn_unjudg.disabled = false;
- btn_rete.disabled = false;
- btn_del.disabled = false;
- // btn_cretdel.disabled = false; // 생성삭제 Btn
- }
- } // if (rowstat != "Y")
- } // if (clamendyn == "A")
- else {
- // 청구완료여부 A:샘생성전 이 아닌 경우
- btn_save.disabled = true;
- btn_end.disabled = true;
- btn_unjudg.disabled = true;
- btn_rete.disabled = true;
- btn_del.disabled = true;
- // btn_cretdel.disabled = true; // 생성삭제 Btn
- }
- } // if (xAuth == true)
- // 유형보조가 정상(00)이 아닐 경우
- var suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd");
- if (suppkindcd != "" && suppkindcd != "00") {
- opt_suppkind.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색"#cece9c";
- opt_payownbrate.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색"#cece9c";
- } else {
- opt_suppkind.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- opt_payownbrate.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- }
- // 특이환자 버튼 설정
- if (model.getValue("/root/main/item1/clbs/patspcfyn") == "Y") {
- btn_patspcfyn.attribute("background-image") = "../../../com/commonweb/images/icon_btn_s.gif"; // 주황색
- } else {
- btn_patspcfyn.attribute("background-image") = "../../../com/commonweb/images/icon_btn.gif"; // 파란색
- }
- // 수술환자의 경우 수술(유) 버튼의 색상을 설정한다.
- if (model.getValue("/root/main/item1/clbs/opyn") == "Y") {
- btn_opyn.visible = true;
- btn_opyn.attribute("class") = "btn5_letter4";
- btn_opyn.attribute("color") = "#cc3333"; // #ff0066"; // 해당 정보가 있는 경우
- // 버튼 색 변경 // cc3333=붉은색
- // 분만간호기록 Btn
- btn_babymom.attribute("left") = "193px";
- } else {
- btn_opyn.visible = false;
- btn_opyn.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- // 분만간호기록 Btn
- btn_babymom.attribute("left") = "260px";
- }
- // 분만간호기록 버튼 설정
- if (model.getValue("/root/main/item1/clbs/bornbaby") == "Y") {
- btn_babymom.visible = true;
- btn_babymom.attribute("class") = "btn5_letter6";
- btn_babymom.attribute("color") = "#cc3333"; // "#ff0066"; // 해당 정보가 있는
- // 경우 버튼 색 변경 // cc3333=붉은색
- } else {
- btn_babymom.visible = false;
- btn_babymom.attribute("class") = "btn2_letter6"; // 표준에서 정한 기본 버튼으로
- // 설정
- }
- // 상병이력 버튼 설정
- if (model.getValue("/root/main/item1/clbs/diaghist") == "Y") {
- btn_diagHist.attribute("class") = "btn5_letter4";
- btn_diagHist.attribute("color") = "#cc3333"; // #ff0066"; // 해당 정보가
- // 있는 경우 버튼 색 변경 //
- // cc3333=붉은색
- } else {
- btn_diagHist.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로
- // 설정
- }
- // 원외처방 버튼 설정
- var btntop = btn_oprcp.attribute("top");
- if (model.getValue("/root/main/item1/clbs/oprcp") == "Y") {
- btn_oprcp.attribute("class") = "btn5_letter4";
- btn_oprcp.attribute("color") = "#cc3333"; // #ff0066"; // 해당 정보가 있는 경우
- // 버튼 색 변경 // cc3333=붉은색
- btn_oprcp.attribute("top") = btntop;
- } else {
- btn_oprcp.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로 설정
- btn_oprcp.attribute("top") = btntop;
- }
- // 메모이력 버튼 설정
- if (model.getValue("/root/main/item1/clbs/memohist") == "Y") {
- btn_memohist.attribute("class") = "btn5_letter4";
- btn_memohist.attribute("color") = "#cc3333"; // #ff0066"; // 해당 정보가
- // 있는 경우 버튼 색 변경 //
- // cc3333=붉은색
- } else {
- btn_memohist.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본 버튼으로
- // 설정
- }
- // (특정내역) 반복 버튼 설정
- if (model.getValue("/root/main/item1/memo/judgmemorepeat") == "R") {
- btn_judgmemorepeat.attribute("class") = "btn5_letter6";
- btn_judgmemorepeat.attribute("color") = "#cc3333"; // #ff0066"; // 해당
- // 정보가 있는 경우 버튼 색 변경
- // // cc3333=붉은색
- } else {
- btn_judgmemorepeat.attribute("class") = "btn2_letter6"; // 표준에서 정한 기본
- // 버튼으로 설정
- }
- if (model.getValue("/root/main/item1/memo/edimemorepeat") == "R") {
- btn_edimemorepeat.attribute("class") = "btn5_letter6";
- btn_edimemorepeat.attribute("color") = "#cc3333"; // #ff0066"; // 해당
- // 정보가 있는 경우 버튼 색 변경
- // // cc3333=붉은색
- } else {
- btn_edimemorepeat.attribute("class") = "btn2_letter6"; // 표준에서 정한 기본
- // 버튼으로 설정
- }
- // 이전명세서 버튼 설정 20100224 입원쪽 누락되어 있어 추가
- if (model.getValue("/root/main/item1/clbs/predocuyn") == "Y") {
- btn_predocu.attribute("class") = "btn5_letter5";
- btn_predocu.attribute("color") = "#cc3333"; // 해당 정보가 있는 경우 버튼 색 변경 //
- // cc3333=붉은색
- } else {
- btn_predocu.attribute("class") = "btn2_letter5"; // 표준에서 정한 기본 버튼으로
- // 설정
- }
- /*
- * // 메모가 저장된 경우 메모이력 버튼의 색상을 설정한다. var judgmemo =
- * model.getValue("/root/main/item1/memo/judgmemo"); var edimemo =
- * model.getValue("/root/main/item1/memo/edimemo"); if (judgmemo || edimemo) {
- * btn_memohist.attribute("class") = "btn5_letter4";
- * btn_memohist.attribute("color") = "#ff0066"; // 해당 정보가 있는 경우 버튼 색 변경 }
- * else { btn_memohist.attribute("class") = "btn2_letter4"; // 표준에서 정한 기본
- * 버튼으로 설정 }
- */
- // 같은 청구월에 동일진료과명세서가 존재하는 경우
- if (model.getValue("/root/main/item1/clbs/samedocuyn") == "Y") {
- messageBox("동일청구월 동일진료과 명세서가 존재합니다.", "I007"); // 확인하십시오 !
- }
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
- // 16세미만, 35세 이상 초산 산모 필수 진단 체크
- var chk_R = model.getValue("/root/main/list8/clod[snglcalcscorcd='R4351' "
- + "or snglcalcscorcd='R3131' " + "or snglcalcscorcd='R3141' "
- + "or snglcalcscorcd='R4361' " + "or snglcalcscorcd='R4519' "
- + "]/snglcalcscorcd"); // 초산 상병체크
- var patage = parseInt(model.getValue("/root/main/item1/clbs/patage"));
- if (chk_R.length > 0 && (patage >= 35 || patage < 16)) {
- messageBox("어린 초임부 또는 고령초임부", "I009");
- }
- var clbs_licnsno = model.getValue("/root/main/item1/clbs/licnsno");
- var cldi_licnsno = model.getValue("/root/main/list1/cldi[diagseq='1']/licnsno");
- var clod_snglcalcscorcd = model.getValue("/root/main/list8/clod[item='0101' or item='0102']/snglcalcscorcd");
-
- var holigbn = model.getValue("/root/main/item1/clbs/holigbn");
- var holifromdd = model.getValue("/root/main/item1/clbs/holifromdd");
- var holitodd = model.getValue("/root/main/item1/clbs/holitodd");
- if (holigbn == "Y" && clod_snglcalcscorcd.length > 0) {
- messageBox("진료의가 " + holifromdd + " ~ " + holitodd
- + " 기간동안 해외 출장입니다. 진료의사를 변경하세요.", "E");
- }
- // 자보한도액 버튼 설정 20090327
- // 자보한도액 초과자 체크 : 자보환자일때만 자보발생금액 버튼 활성화 초과자는 자보발생금액 버튼 색깔변경 - 20080923 박창원
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- var suppkind = model.getValue("/root/main/item1/clbs/suppkindcd");
- if (insukind == "31" && suppkind == "18" && model.getValue("/root/main/item1/clbs/paylimamt") != "0") {
- btn_autolimit.attribute("background-image") = "../../../com/commonweb/images/icon_btn_s.gif"; // 주황색
- } else {
- btn_autolimit.attribute("background-image") = "../../../com/commonweb/images/icon_btn.gif"; // 파란색
- }
- // 자보산재 보험유형별 caption 설정 20090327
- if (insukind == "31") {
- cap_insdnm.attribute("text") = "사고일자";
- cap_certno.attribute("text") = "접수번호";
- } else if (insukind == "41") {
- cap_insdnm.attribute("text") = "사고일자";
- cap_certno.attribute("text") = "관리번호";
- } else {
- cap_insdnm.attribute("text") = "가입자";
- cap_certno.attribute("text") = "증번호";
- }
- // 삭감처방여부에 따라 삭감처방버튼 색 변경
- if (model.getValue("/root/main/item1/clbs/cutprcpyn") == "Y") {
- btn_redu.attribute("class") = "btn5_letter4";
- btn_redu.attribute("color") = "#cc3333";
- } else {
- btn_redu.attribute("class") = "btn2_letter4";
- }
- // 20100317 환자별 메세지 버튼 추가 (별도 조회되던것을 기본정보 조회에 포함 처리)
- if (model.getValue("/root/main/item1/clbs/patmsgyn") == "Y") {
- img_msg.visible = true;
- } else {
- img_msg.visible = false;
- }
- }
- // ---------------------------------------------------------------------------
- // 처방 행 삭제 or 삭제취소 후에 특정내역 줄번호/특정코드에 따라 sorting 작업
- // ---------------------------------------------------------------------------
- function fSortSpclNo() {
- if (grd_clsphist.rows > 1) {
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- grd_clsphist.rowHidden(j) = false;
- var rowstatus = grd_clsphist.rowstatus(j);
- var spclcd = model.getValue("/root/main/list3/clsp[" + j + "]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp[" + j + "]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(j, false);
- j--;
- } else {
- // JS010(특정코드:야간가산)의 hhmm이 야간(18~09시)가 아니면 특정내역 Grid에 빨간색으로 표시
- grd_clsphist.rowStyle(j, "data", "color") = "#000000"; // 000000=검은색
- if (spclcd == "JS010") { // JS010 야간가산
- var js010chk = false;
- if (spclspec.length >= 12) { // <spclformat>ccyymmddhhmm</spclformat>
- var ccyymmddhhmm = spclspec.substr(0, 12);
- if (isValidDateTime(ccyymmddhhmm, "YYYYMMDDhhmm")) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- var hhmm = parseInt(spclspec.substr(8, 4), 10); // '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- if (hhmm >= 1800 || hhmm < 900) {
- js010chk = true;
- }
- }
- }
- if (js010chk == false) {
- grd_clsphist.rowStyle(j, "data", "color") = "#ff3333"; // ff3333=붉은색
- }
- } // if (spclcd == "JS010")
- }
- }
- grd_clsphist.refresh();
- grd_clsphist.colsort(grd_clsphist.colRef("unitflag")) = "desc";
- grd_clsphist.colsort(grd_clsphist.colRef("spclcd")) = "asc";
- grd_clsphist.colsort(grd_clsphist.colRef("edilnno")) = "asc";// "edilnno";
- var maxRow = parseInt(grd_clsphist.rows) - 1; // rows는 타이틀부분 부터 개수를
- // 센다.
- var maxCol = parseInt(grd_clsphist.cols) - 1;
- grd_clsphist.sort(grd_clsphist.fixedRows, grd_clsphist.fixedCols, maxRow, maxCol) = "usersort";
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_clsphist.gridToInstance();
- grd_clsphist.row = 0;
- // rdo_unitflag.dispatch("xforms-select");
- fGetSelectedUnitFlag();
- } else { // 타이틀만 있는 경우 grd_clsphist.rows = 1
- var selectedUnitFlag = model
- .getValue("/root/hidden/list3/selectedUnitFlag");
- if (selectedUnitFlag == "-" || selectedUnitFlag == "M") {
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- }
- }
- }
- // -------------------------------------------------------------------------
- // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- // -------------------------------------------------------------------------
- function fGetSelectedOrderData() {
- var inpCalcScorCd = model.getValue("/root/hidden/list2/clodsrch/inpCalcScorCd");
- var inpEDICd = model.getValue("/root/hidden/list2/clodsrch/inpEDICd");
- var selectedRdoMatrAct = model.getValue("/root/hidden/list2/clodsrch/selectedRdoMatrAct");
- var selectedRdoPay = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- var selectedRdoItem = model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem");
- var pre_ediitem1 = "";
- var pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
- var insukind = model.getValue("/root/main/Item1/clbs/insukindcd");
- insukind = insukind.substr(1, 1);
- for ( var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- grd_clodhist.rowHidden(i) = false;
- if (inpCalcScorCd == "") {
- } else if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("snglcalcscorcd")).indexOf(inpCalcScorCd) == -1) { // indexOf: 문자열이 없으면 -1
- grd_clodhist.rowHidden(i) = true;
- }
- if (inpEDICd == "") {
- } else if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("basecd")).indexOf(inpEDICd) == -1) { // indexOf: 문자열이 없으면 -1
- grd_clodhist.rowHidden(i) = true;
- }
- if (selectedRdoMatrAct == "" || selectedRdoMatrAct == "-") { // 전체
- } else if (selectedRdoMatrAct == "1") { // 재료인 경우
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) == "2" || grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) == "3") {
- grd_clodhist.rowHidden(i) = true;
- }
- } else { // 행위인 경우 (2 : 가산있는 행위 / 3 : 가산없는 행위)
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) != "2" && grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) != "3") {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- if (selectedRdoPay == "" || selectedRdoPay == "-") { // 전체
- } else { // 급여구분1(P0104 -:해당사항없음, 0:급여, 1:전액본인부담, 2:비급여)
- if (selectedRdoPay == "0") {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "0" && grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "9") {
- grd_clodhist.rowHidden(i) = true;
- }
- } else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != selectedRdoPay) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- }
- if (selectedRdoItem == "" || selectedRdoItem == "-") { // 전체
- } else {
- // if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("ediitem1"))
- // != model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem"))
- // {
- // 20091222 산재유형 필터링 안되는 오류 수정
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("item1")) != selectedRdoItem) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- if (grd_clodhist.rowHidden(i) == false) {
- // 항목의 항 별로 흰색/회색 구분표시
- var ediitem1 = model.getValue("/root/main/list2/clod[" + i + "]/ediitem1");
- if (ediitem1 != pre_ediitem1) { // 항목의 항이 변경된 경우
- pre_ediitem1 = ediitem1;
- if (pre_backcolor == "#f4f4f4") {
- pre_backcolor = "#ffffff"; // 배경색 없음 // #ffffff = White
- } else {
- pre_backcolor = "#f4f4f4"; // datagrid
- // backcoloralternate:#f4f4f4
- }
- }
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("edilnno")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem1")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem2")) = pre_backcolor;
- }
- }
- }
- // -------------------------------------------------------------------------
- // 처방 조회부 - 급여구분 Radio 선택에 따라 처방 내역을 보여준다.
- // -------------------------------------------------------------------------
- function fGetSelectedPayflag() {
- var selectedRdoPay = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- var selectedRdoItem = model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem");
- var pre_ediitem1 = "";
- var pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
- var insukind = model.getValue("/root/main/Item1/clbs/insukindcd");
- insukind = insukind.substr(1, 1);
- for ( var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- grd_clodhist.rowHidden(i) = false;
- if (inpCalcScorCd == "") {
- } else if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("snglcalcscorcd")).indexOf(inpCalcScorCd) == -1) { // indexOf: 문자열이 없으면 -1
- grd_clodhist.rowHidden(i) = true;
- }
- if (inpEDICd == "") {
- } else if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("basecd")).indexOf(inpEDICd) == -1) { // indexOf: 문자열이 없으면 -1
- grd_clodhist.rowHidden(i) = true;
- }
- if (selectedRdoMatrAct == "" || selectedRdoMatrAct == "-") { // 전체
- } else if (selectedRdoMatrAct == "1") { // 재료인 경우
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) == "2" || grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) == "3") {
- grd_clodhist.rowHidden(i) = true;
- }
- } else { // 행위인 경우 (2 : 가산있는 행위 / 3 : 가산없는 행위)
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) != "2" && grd_clodhist.valueMatrix(i, grd_clodhist.colRef("matractflag")) != "3") {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- if (selectedRdoPay == "" || selectedRdoPay == "-") { // 전체
- } else { // 급여구분1(P0104 -:해당사항없음, 0:급여, 1:전액본인부담, 2:비급여)
- if (selectedRdoPay == "9") {
- if (insukind == "3" || insukind == "4") {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "9") {
- grd_clodhist.rowHidden(i) = true;
- }
- } else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != "8") {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- } else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("payflag")) != selectedRdoPay) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- }
- if (selectedRdoItem == "" || selectedRdoItem == "-") { // 전체
- } else {
- if (grd_clodhist.valueMatrix(i, grd_clodhist.colRef("item1")) != selectedRdoItem) {
- grd_clodhist.rowHidden(i) = true;
- }
- }
- }
- }
- // -------------------------------------------
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // -------------------------------------------
- function fSetOrderData() {
- model.resetInstanceNode("/root/hidden/list2/cloditem1");
- // 20100305 초기화 추가
- grd_clodhist.initStyle("color");
- grd_clodhist.initStyle("background-color");
- for ( var i = 1; i <= grd_cldihist.rows; i++) {
-
- var col_vcode = grd_cldihist.colRef("vcode");
- var col_diagcd = grd_cldihist.colRef("diagcd");
- var srchnm = grd_cldihist.valueMatrix(i, col_diagcd).substr(0, 2);
- var t_vcode = grd_cldihist.valueMatrix(i, col_vcode);
- var rowno, rn = 0;
-
- rowno = grd_cldihist.findRow(srchnm,grd_cldihist.fixedrows ,col_diagcd, true, false);
- if (t_vcode != "V252" && t_vcode != "V193") {
- while( rowno > 0){
- var s_vcode = grd_cldihist.valueMatrix(rowno, col_vcode );
- var t_diagcd = grd_cldihist.valueMatrix(rowno, col_diagcd).substr(0, 2);
- if (rowno != i && t_diagcd != "" && t_vcode != "" && srchnm == t_diagcd && t_vcode == s_vcode ) {
- grd_cldihist.cellStyle("background-color", rowno, grd_cldihist.colRef("rowstat"), rowno, grd_cldihist.colRef("workflag")) = "#ffff9c"; //#ffff9c=연한노랑
- }
- rowno = grd_cldihist.findRow(srchnm,rowno + 1 ,col_diagcd, true, false);
- }
- }
- var srchnm2 = grd_cldihist.valueMatrix(i, col_diagcd).substr(0, 3);
- rn = grd_cldihist.findRow(srchnm2,grd_cldihist.fixedrows ,col_diagcd, true, false);
- while( rn > 0){
- var t_diagcd = grd_cldihist.valueMatrix(rn, col_diagcd).substr(0, 3);
- if (rn != i && srchnm2 == t_diagcd && t_diagcd != "") {
- grd_cldihist.cellStyle("background-color", rn, grd_cldihist.colRef("rowstat"), rn, grd_cldihist.colRef("workflag")) = "#ffff9c"; //#ffff9c=연한노랑
- }
- rn = grd_cldihist.findRow(srchnm2 ,rn + 1 ,col_diagcd, true, false);
- }
-
- // 상병그리드 해당상병보다 큰 5단이상의 세부상병이 있는 경우 표시해준다.
- if (model.getValue("/root/main/list1/cldi[" + i + "]/kcd6chk") == "Y") {
- grd_cldihist.cellStyle("background-color", i, grd_cldihist.colRef("rowstat"), i, grd_cldihist.colRef("workflag")) = "#0000ff"; // #0000ff=파랑
- // 종료상병을 표시한다.
- } else if (model.getValue("/root/main/list1/cldi[" + i + "]/endyn") == "Y") {
- grd_cldihist.cellStyle("background-color", i, grd_cldihist.colRef("rowstat"), i, grd_cldihist.colRef("workflag")) = "#ff0000"; // #ff0000=빨강
- }
-
-
-
- }
- var pre_item1 = "";
- var pre_backcolor = "#f4f4f4"; // datagrid backcoloralternate:#f4f4f4
- for ( var i = 1; i <= grd_clodhist.rows; i++) { // 처방 개수만큼 돌면서
- // 선별심사 처방 색깔 구분
- var spcljudgyn = model.getValue("/root/main/list2/clod[" + i + "]/spcljudgyn");
- if (spcljudgyn == "Y") {
- grd_clodhist.rowStyle(i, "data", "color") = "#ff3333"; // ff3333=붉은색
- } else {
- grd_clodhist.rowStyle(i, "data", "color") = "#000000"; // 000000=검은색
- }
- if (grd_clodhist.rowHidden(i) == false) {
- // 항목의 항 별로 흰색/회색 구분표시
- var item1 = model.getValue("/root/main/list2/clod[" + i + "]/ediitem1");
- if (item1 != pre_item1) { // 항목의 항이 변경된 경우
- pre_item1 = item1;
- if (pre_backcolor == "#f4f4f4") {
- pre_backcolor = "#ffffff"; // 배경색 없음 // #ffffff = White
- } else {
- pre_backcolor = "#f4f4f4"; // datagrid
- // backcoloralternate:#f4f4f4
- }
- }
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("edilnno")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem1")) = pre_backcolor;
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("ediitem2")) = pre_backcolor;
- }
- // 조정사유코드 입력된 처방 색깔 구분
- var adjtresncd = model.getValue("/root/main/list2/clod[" + i + "]/adjtresncd");
- if (adjtresncd != "" && adjtresncd != "-") {
- // 처방 Grid 배경색을 설정한다. - 심사사유있는 row (카키색)
- fOrderBkColorResn(i);
- }
- // 단가오류, 계산착오인 처방색깔 구분 : 심사자에게 알려주기 위함 2009-03-20
- if (model.getValue("/root/main/list2/clod[" + i + "]/erroramtyn") == "Y") {
- grd_clodhist.rowStyle(i, "data", "background-color") = "#ffff9c"; // ffff9c=연한노랑
- }
- // --------------------------------------------------------------------------
- // 2008-08-25 김상진. 줄단위 특정내역 색깔구분 일단 뺀다 나중에 오픈 후 처리
- // --------------------------------------------------------------------------
- /*
- * // 줄단위 특정내역 입력된 처방 색깔 구분 var lnunitspclspecyn =
- * model.getValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn"); if
- * (lnunitspclspecyn) { var jx999cnt = 0; var nonjx999cnt = 0; // JX999가
- * 아닌 특정내역코드의 수 for (var j = 1; j < grd_clsphist.rows; j++) { if
- * (grd_clsphist.rowstatus(j) != 4) { var spclLnNo =
- * model.getValue("/root/main/list3/clsp["+ j +"]/edilnno"); if
- * (spclLnNo == model.getValue("/root/main/list2/clod["+ i
- * +"]/edilnno")) { var spclcd =
- * model.getValue("/root/main/list3/clsp["+ j +"]/spclcd"); if (spclcd ==
- * "JX999") { // JX999인 경우 jx999cnt++; } else if (spclcd != "JT001") { //
- * JX999도, 확인코드도 아닌 경우 nonjx999cnt++; } } } }
- *
- * if (jx999cnt > 0) { if (nonjx999cnt == 0) { // JX999만 있는 경우
- * grd_clodhist.cellStyle("background-color", i,
- * grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; //
- * class="color_6" 다홍색 } else { // JX999 + 다른 코드도 있는 경우
- * grd_clodhist.cellStyle("background-color", i,
- * grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색 } }
- * else { // JX999가 없는 경우 grd_clodhist.cellStyle("background-color", i,
- * grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff =
- * White } } else { grd_clodhist.cellStyle("background-color", i,
- * grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff =
- * White }
- */
- // --------------------------------------------------------------------------
- // 2008-10-29 김상진. 항목구분 item 굵게표시 주석처리함. 속도문제
- // --------------------------------------------------------------------------
- /*
- * // 항목구분 조회부 Radio에 해당하는 처방이 있는지 여부를 확인한다. var item1 =
- * model.getValue("/root/main/list2/clod["+ i +"]/item1"); if (item1) {
- * var path = "/root/hidden/list2/cloditem1/ediitem1_"+ item1; var node =
- * instance1.selectSingleNode(path); if (node != null) {
- * model.setValue(path, item1); } }
- */
- }
- // --------------------------------------------------------------------------
- // 2008-10-29 김상진. 항목구분 item 굵게표시 주석처리함. 속도문제
- // --------------------------------------------------------------------------
- /*
- * if (grd_clodhist.rows > 1) { // 타이틀만 있는 경우 grd_clodhist.rows = 1
- * rdo_item1.item(0).attribute("font-weight") = "bold"; // "전체" 항목은 default
- * 로 굵게 표시한다. } else { rdo_item1.item(0).attribute("font-weight") =
- * "normal"; } // 처방 조회부 항목구분 Radio에서 해당 처방이 있는 item을 굵게 표시한다. var
- * itemRadioList =
- * instance1.selectSingleNode("/root/hidden/list2/cloditem1"); var itemNode =
- * itemRadioList.childNodes; for (var i = 1; i < itemNode.length; i++) { var
- * item1 = itemNode.item(i).value; if (item1) {
- * rdo_item1.item(i).attribute("font-weight") = "bold"; } else {
- * rdo_item1.item(i).attribute("font-weight") = "normal"; } }
- */
- }
- // -------------------------------------------
- // 항목별 금액소계(item1별로 금액sum)
- // -------------------------------------------
- function fSetSubtotal() {
- // ****************************************************************************************************************
- // 항목별소계 subtotal 김상진 20101223
- // ****************************************************************************************************************
- // #ffff0| 밝은노랑
- // #d9e3fe 옅은파랑
- // #eeddff 옅은보라
- // #b9fcf8 밝은하늘
- // #cefcfa 옅은하늘
- grd_clodhist.subtotalposition = "below";
- grd_clodhist.subtotal("sum", grd_clodhist.colRef("item1"), grd_clodhist.colRef("amt"), "format:(-)#,###; roundmode:round; roundposition:0","background-color:#cefcfa; color:#0000ff;font-weight:bold; ", grd_clodhist.colRef("hngnm"), "", false);
- grd_clodhist.subtotal("sum", grd_clodhist.colRef("item1"), grd_clodhist.colRef("ediamt"), "format:(-)#,###; roundmode:round; roundposition:0","background-color:#cefcfa; color:#0000ff;font-weight:bold; ", grd_clodhist.colRef("hngnm"), "항목별소계", false);
- var fild1 = "0";
- var fild2 = "0";
- for ( var i = grd_clodhist.fixedRows; i <= grd_clodhist.rows; i++) {
- fild1 = grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm"));
- if (fild1 == "항목별소계" && fild2 != "") {
- if (fild2 == "01") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "진찰료 소계";
- } else if (fild2 == "02") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "입원료 소계";
- } else if (fild2 == "03") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "투약료 소계";
- } else if (fild2 == "04") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "주사료 소계";
- } else if (fild2 == "05") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "마취료 소계";
- } else if (fild2 == "06") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "이학료 소계";
- } else if (fild2 == "07") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "정신료 소계";
- } else if (fild2 == "08") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "수술료 소계";
- } else if (fild2 == "09") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "검사료 소계";
- } else if (fild2 == "10") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "방사선 소계";
- } else if (fild2 == "SS") {
- grd_clodhist.valueMatrix(i, grd_clodhist.colRef("hngnm")) = "특수 소계";
- }
- }
- fild2 = grd_clodhist.valueMatrix(i, grd_clodhist.colRef("item1"));
- }
- }
- // 조회된 심사대상자의 특이 인적사항, 보조/요율 등을 계산하여 보여준다.
- function fGetPersonalData() {
- // 인적사항 타이틀 옆 output
- var srchrslt = "";
- // 2008-06-23 neverdie 윤영옥선생님 요청 (사망환자 메시지 막아주세요)
- // if (model.getValue("/root/main/item1/clbs/dethyn") == "Y") {
- // srchrslt = " [사망환자입니다.]";
- // }
- // 중증및 희귀정보가 모두다 존재할때에는 콤보에 등록암우선으로 보여준다. - 20091123 박창원
- // 중증 등록정보를 유형에 맞게 보여준다 - 20091021 박창원
- var suppkind = model.getValue("/root/main/item1/clbs/suppkindcd");
- var rooamsgcnt = getNodesetCount("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00']/msg");
- var sdoamsgcnt = getNodesetCount("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd='00']/msg");
- var rooamsg = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00']/msg");
- var sdoamsg = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd='00']/msg");
- var rooamsgtooth = model.getXPathValue("/root/main/rarecancermsglist/rarecancermsg[rgstkindcd!='00' and rgstkindcd!='01']/msg");
- if ((rooamsgcnt > 0) && (sdoamsgcnt > 0)) {
- cmb_rarecancermsg.visible = true;
- // 등록암 보조유형일경우(06.등록암, 11.가정간호등록암, 32.차상위1종, 40.차상위2종등록암
- if (suppkind == "06" || suppkind == "11" || suppkind == "32" || suppkind == "40") {
- model.makeValue("/root/hidden/rarecancermsg/msg", sdoamsg);
- } else if (suppkind == "87" || suppkind == "88" || suppkind == "89") {
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsgtooth, true);
- } else {
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsg, true);
- }
- } else if (rooamsgcnt > 0) {
- if (suppkind == "87" || suppkind == "88" || suppkind == "89") {
- if (rooamsgcnt == 1) {
- srchrslt += rooamsgtooth; // 희귀등록번호
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsgtooth, true);
- }
- } else {
- if (rooamsgcnt == 1) {
- srchrslt += rooamsg; // 희귀등록번호
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", rooamsg, true);
- }
- }
- } else if (sdoamsgcnt > 0) {
- if (sdoamsgcnt == 1) {
- srchrslt += sdoamsg; // 중증등록정보
- } else {
- cmb_rarecancermsg.visible = true;
- model.makeValue("/root/hidden/rarecancermsg/msg", sdoamsg, true);
- }
- }
- model.setValue("/root/hidden/item1/clbs/srchrslt", srchrslt);
- model.refreshpart("/root/hidden/item1/clbs/srchrslt");
- // 보조유형ID과 요율%로 combo 의 value
- var suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd");
- var payownbrate = model.getValue("/root/main/item1/clbs/payownbrate");
- var supprate = suppkindcd + "/" + payownbrate; // 보조유형ID과 요율%로 combo 의
- // value
- model.setValue("/root/hidden/item1/clbs/patsupprate", supprate);
- cmb_supprate.refresh();
- cmb_rarecancermsg.refresh();
- cmb_prockindflag.refresh();
- }
- // "심사저장" 상태로 대상자 화면 갱신
- function fSetJudgSaveState(judgendyn) {
- var trgtManWindow = getChildWindow("SMPID20200"); // SMPID20200_입원사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- var selectedRow = model.getValue("/root/hidden/smpid20200/rslt/selectedRow");
- if (selectedRow) {
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1/clbs");
- if (trgtmanlist == null) { // 조회된 대상자 목록이 없는 경우
- // messageBox("조회된 심사대상자 목록이", "I004"); ///조회된 심사대상자 목록이 없습니다.
- // return;
- } else {
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- for ( var i = 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (clamkey == trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/clamkey")) {
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + i + "]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + i + "]/lastupdtrid", userid);
- }
- }
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른
- // cnt를 표시한다.
- trgtManWindow.grd_clbsmast.refresh();
- }
- }
- }
- }
- // ---------------------------------
- // 저장 버튼을 누르면
- // ---------------------------------
- function fSaveInAftJudg(judgendyn) {
- // 상병그리드에서 editmode인상태에서 F7 단축키 누렀을 경우 에러발생방지 위함. 절대 지우지 말것.
- model.setFocus("grd_clodhist");
- model.removeNodeset("/root/send/item2");
- model.removeNodeset("/root/send/item3"); // 저장 오류가 난 경우 다시 "저장" Btn 누르면
- // 새로 메모 내역이 생성되어야 하므로
- model.removeNodeset("/root/send/item4");
- model.removeNodeset("/root/send/list1");
- model.removeNodeset("/root/send/list2");
- model.removeNodeset("/root/send/list3");
- model.removeNodeset("/root/send/item5");
- var selectedRow = model.getValue("/root/hidden/smpid20200/rslt/selectedRow"); // 대상자 화면에서
- // 선택했던 줄
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- var workflag = model.getValue("/root/main/item1/clbs/workflag");
- var isValidCheck = true;
- var cutprcpyn = "";
- var trgtManWindow = getChildWindow("SMPID20200"); // SMPID20200_입원사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- cutprcpyn = trgtManWindow.model.getValue("/root/send/item1/cutprcpsel"); // 20100302
- // 추가
- }
- if (clamym) {
- var saveNoMsg = "";
- var saveOkMsg = "[계산]";
- // CLBS 저장전 점검
- if (fCheckSaveInAftJudgCLBS()) {
- // --------------------------
- // KDRG 3.2 DRG분류번호 조회
- // --------------------------
- // pidfGetKDRGCode();
- // 인적사항
-
- var initclbs = instance1.selectNodesXml("/root/hidden/item1/initclbs/clbs");
- var currentclbs = instance1.selectNodesXml("/root/main/item1/clbs");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- if ((initclbs == currentclbs) && (insukind != "31")) {
- saveNoMsg = "[인적사항] ";
- // 인적사항 변경이 없는 경우에도 send data에 설정한다.
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "N"); // 인적사항
- // 저장여부
- } else {
- saveOkMsg = "[인적사항] ";
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "Y"); // 인적사항
- // 저장여부
- // ------------------------------------------------------------------------------
- // 재계산할 항목이 변경된 경우 체크(입원)
- // ------------------------------------------------------------------------------
- // 1. 공상구분
- var init_offcharm = model.getValue("/root/hidden/item1/initclbs/clbs/offcharm");
- var current_offcharm = model.getValue("/root/main/item1/clbs/offcharm");
- if (init_offcharm != current_offcharm) {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- }
- // 심사상태를 '저장' 또는 '심사완료' 상태로 저장한다.
- model.makeValue("/root/send/item1/clbs/judgendyn", judgendyn); // 사후심사-심사완료여부 (P0151) - B:심사중,C: 심사완료
- } else {
- isValidCheck = false;
- }
- // 심사메모
- var initmemo = instance1.selectNodesXml("/root/hidden/item1/initmemo/memo");
- var currentmemo = instance1.selectNodesXml("/root/main/item1/memo");
- if (initmemo != currentmemo) {
- // 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo").getTrim();
- var judgmemorepeat = model.getValue("/root/main/item1/memo/judgmemorepeat");
- var edimemo = model.getValue("/root/main/item1/memo/edimemo").getTrim();
- var edimemorepeat = model.getValue("/root/main/item1/memo/edimemorepeat");
- var noChange = true;
- if (judgmemo != model.getValue("/root/hidden/item1/initmemo/memo/judgmemo").getTrim()) {
- fSetJudgEDIMemo(judgmemo, "Y");
- noChange = false; // 심사자메모가 변경된 경우임
- } else if (judgmemo != "" && judgmemorepeat != model.getValue("/root/hidden/item1/initmemo/memo/judgmemorepeat")) {
- fSetJudgEDIMemo(judgmemo, "Y");
- noChange = false; // 심사자메모 반복 설정이 변경된 경우임
- }
- if (edimemo != model.getValue("/root/hidden/item1/initmemo/memo/edimemo").getTrim()) {
- fSetJudgEDIMemo(edimemo, "N");
- noChange = false; // EDI청구메모가 변경된 경우임
- } else if (edimemo != "" && edimemorepeat != model.getValue("/root/hidden/item1/initmemo/memo/edimemorepeat")) {
- fSetJudgEDIMemo(edimemo, "N");
- noChange = false; // EDI청구메모 반복 설정이 변경된 경우임
- }
- if (noChange == false) {
- saveOkMsg += "[심사메모] ";
- } else {
- saveNoMsg += "[심사메모] ";
- }
- } else {
- saveNoMsg += "[심사메모] ";
- }
- // CLDI 저장전 점검
- if (fCheckSaveInAftJudgInfoCLDI()) {
- // 상병
- var licnsflag = "";
- var licnsno = "";
- var diagseq = "";
- for ( var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- diagseq = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("diagseq"));
- licnsflag = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("licnsflag"));
- licnsno = grd_cldihist.valueMatrix(j, grd_cldihist.colRef("licnsno"));
- if (grd_cldihist.rowstatus(j) == 4 && diagseq.substr(0, 1) == "D") {
- model.setValue("/root/main/list1/cldi[" + j + "]/diagseq", diagseq.substr(1, diagseq.length));
- }
- if ((diagseq == "1" && grd_cldihist.rowstatus(j) == 0) && (licnsflag == "" || licnsflag == "-" || licnsno == "-" || licnsno == "-")) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- var updtdata = getGridUpdateData(grd_cldihist); // (tfHelper.js) 그리드
- // 업데이트 데이터 반환, 업데이트
- // 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list1/cldi", updtdata);
- }
- if (updtdata != "" && grd_cldihist.rows > 1) { // 타이틀 부분으로 인해 data가
- // 없어도 rows = 1 임.
- // <table id="list1/cldi" count_ref="cldi" min_count="1"> 로 인해
- // 빈줄이 제거된 경우에도 delete 처리를 하므로
- // Grid 상에 데이터가 있는지를 확인한다.
- saveOkMsg += "[상병] ";
- } else {
- saveNoMsg += "[상병] ";
- }
- } else {
- isValidCheck = false;
- }
- // CLSP 저장전 점검
- if (fCheckSaveInAftJudgInfoCLSP()) {
- var updtdata = getGridUpdateData(grd_clsphist); // (tfHelper.js) 그리드
- // 업데이트 데이터 반환, 업데이트
- // 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
- if (updtdata != "" && grd_clsphist.rows > 1) {
- saveOkMsg += "[특정내역] ";
- } else {
- saveNoMsg += "[특정내역] ";
- }
- } else {
- isValidCheck = false;
- }
- // CLOD 저장전 점검
- if (fCheckSaveInAftJudgInfoCLOD()) {
- // 처방
- var updtdata = getGridUpdateData(grd_clodhist); // (tfHelper.js) 그리드
- // 업데이트 데이터 반환, 업데이트
- // 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list2/clod", updtdata);
- }
- if (updtdata != "" && (grd_clodhist.rows > 1 || grd_delclod.rows > 1)) {
- saveOkMsg += "[처방] ";
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- } else {
- saveNoMsg += "[처방] ";
- }
- } else {
- isValidCheck = false;
- }
- // PIFHIUNC 재청구 차액발생사유 점검....
- if (fCheckSaveReClamChangeAmt()) {
- var resncd = fSetReClamChgAmtResncd();
- if (resncd) {
- saveOkMsg += "[재청구 차액발생사유] ";
- } else {
- saveNoMsg += "[재청구 차액발생사유] ";
- }
- }
- // 2011-03-23 저장시 무조건 재계산 한다.
- // 2014-11-10 DRG 환자는 재계산 대상에서 제외한다. (LEJ)
- var drgyn = model.getValue("/root/main/item1/clbs/drgyn");
- if (drgyn == 'Y') {
- model.makeValue("/root/send/item1/clbs/recalcyn", "N"); // 저장 시에 재계산할지 여부를 설정함
- } else {
- model.makeValue("/root/send/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를 설정함
- }
- if (btn_end.disabled == true
- && model.getValue("/root/main/item1/clbs/judgendyn") == "D") {
- messageBox("버튼이 비활성화 이거나 심사일로 부터 15일이 경과 된 경우 완료 할 수", "I004");
- return false;
- }
- // 중증, 산정특례 여부 체크
- if (fGetDiagSpclcdCheck() == false) {
- return false;
- } else {
- }
- if (isValidCheck) {
- if (saveOkMsg) {
- if (model.getValue("/root/send/list3/clsp")) {
- // 특정내역 삭제상태 값 설정은 submit을 보내기 전에 한다.
- for ( var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp[" + j + "]/seqno");
- if (spclLnNo.substr(0, 1) == "D") {
- model.setValue("/root/main/list3/clsp[" + j + "]/seqno", spclLnNo.substr(1, spclLnNo.length));
- }
- }
- // 기타메모(JX999)를 특정내역 형식에 맞춰 설정
- fSetSpclSpecJX999();
- var updtdata = getGridUpdateData(grd_clsphist);
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
- if (submit("TXPID20301")) {
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- grd_cldihist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태
- // 제거
- grd_clsphist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태
- // 제거
- grd_clodhist.clearStatus();
- grd_delclod.clearStatus();
- if (judgendyn == "B") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C:
- // 심사완료
- // 저장 후 결과를 다시 조회하기 위해
- model.resetInstanceNode("/root/hidden/smpid20200/rslt");
- model.setValue("/root/hidden/smpid20200/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20200/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20200/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20200/rslt/pidsn", pidsn);
- model.setValue("/root/hidden/smpid20200/rslt/popupcallyn", "Y");
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서
- // 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20200/rslt/selectedRow", selectedRow);
- // 저장후 재조회 여부
- model.setValue("/root/hidden/reselect", "Y");
- model.setValue("/root/hidden/smpid20200/rslt/cutprcpyn", cutprcpyn); // 20100302 추가
- // 1) "저장" 이후에 현재 대상자 정보를 다시 조회한다.
- fGetInAftJudgMngt();
- fSetJudgSaveState("B"); // 심사완료여부 (P0151) - B: 심사중
- }
- // C: 심사완료의 경우, 저장 후 결과를 다시 조회하기 위해
- return "true";
- }
- } else if (saveNoMsg) {
- // if (judgendyn == "C") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C:
- // 심사완료
- if (judgendyn != "B") { // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- return "false";
- }
- }
- } else { // isValidCheck == false
- // 상병
- for ( var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- if (grd_cldihist.rowstatus(j) == 4) {
- var diagseq = model.getValue("/root/main/list1/cldi[" + j + "]/diagseq");
- model.setValue("/root/main/list1/cldi[" + j + "]/diagseq", "D" + diagseq);
- }
- }
- if (grd_clsphist.rows == 1) {
- fSpclGridInsertRow(); // 특정내역 줄추가
- }
- }
- } else {
- messageBox("변경된 정보를 저장할 사후심사 대상자가", "I004"); // /변경된 정보를 저장할 사후심사
- // 대상자가 없습니다.
- }
- }
- // CLBS 테이블에 저장할 정보가 올바른지 확인한다.
- function fCheckSaveInAftJudgCLBS() {
- if (model.getValue("/root/main/item1/clbs/clamym") == "") {
- messageBox("청구년월이", "I004"); // /청구일자가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/clamdg") == "") {
- messageBox("청구차수가", "I004"); // /청구차수가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/pid") == "") {
- messageBox("등록번호가", "I004"); // /등록번호가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/patnm") == "") {
- messageBox("환자이름이", "I004"); // /환자이름이 없습니다
- return false;
- }
- var patrrgstno = model.getValue("/root/main/item1/clbs/patrrgstno");
- if (patrrgstno.length != 13) {
- messageBox("주민번호가", "E016"); // /주민번호가 유효하지 않습니다.
- return false;
- }
- /*
- * if (isResidentNo(model.getValue("/root/main/item1/clbs/patrrgstno")) ==
- * false) { // (utilHelper.js) 유효한 주민번호인지 점검한다. messageBox("주민번호가", "E016");
- * ///주민번호가 유효하지 않습니다. return false; }
- */
- if (model.getValue("/root/main/item1/clbs/patrrgstno") == "") {
- messageBox("주민번호가", "I004"); // /주민번호가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/insukindcd") == "") {
- messageBox("보험유형이", "I004"); // /보험유형이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/suppkindcd") == "") {
- messageBox("보조유형이", "I004"); // 보조유형이 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/payownbrate") == "") {
- messageBox("올바른 보조유형을", "C002"); // /올바른 보조유형을 선택하십시오.
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/ordfildcd") == "") {
- messageBox("진료분야가", "I004"); // /진료분야가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/orddeptcd") == "") {
- messageBox("진료과가", "I004"); // /진료과가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/orddrid") == "") {
- messageBox("주치의가", "I004"); // /주치의가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/arvpathcd") == "") {
- messageBox("도착경로가", "I004"); // /도착경로가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/inpathcd") == "") {
- messageBox("입원경로가", "I004"); // /입원경로가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/ordrsltcd") == "") {
- messageBox("진료결과가", "I004"); // /진료결과가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/insdnm") == "") {
- // messageBox("가입자가", "I004"); ///가입자가 없습니다
- // return false;
- }
- if (model.getValue("/root/main/item1/clbs/insuno") == "") {
- messageBox("조합기호가", "I004"); // /조합기호가 없습니다
- return false;
- }
- if (model.getValue("/root/main/item1/clbs/insunm") == "") {
- // messageBox("조합명칭이", "I004"); ///조합명칭이 없습니다
- // return false;
- }
- if (!model.getValue("/root/main/item1/clbs/insukindcd") == "31") {
- if (model.getValue("/root/main/item1/clbs/certno") == "") {
- // messageBox("증번호가", "I004"); ///증번호가 없습니다
- // return false;
- }
- }
- return true;
- }
- // CLDI 테이블에 저장할 정보가 올바른지 확인한다.
- function fCheckSaveInAftJudgInfoCLDI() {
- // 먼저 빈 줄을 삭제한다.
- var delcldiCheck = false;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- var rowstatus = grd_cldihist.rowstatus(i);
- var diagcd = model.getValue("/root/main/list1/cldi[" + i + "]/diagcd");
- // var ordfromdd = model.getValue("/root/main/list1/cldi["+ i
- // +"]/ordfromdd");
- // 상병코드와 진료개시일이 입력되지 않은 경우
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- // if (diagcd == "" && ordfromdd == "") {
- if (diagcd == "") {
- // 줄을 삭제한다.
- grd_cldihist.deleteRow(i, false);
- i--;
- delcldiCheck = true;
- }
- }
- }
- // 2008-07-30 김상진
- // 이미 상병을 수정할때 SORT를 다 했기때문에 다시 해줄 필요가 없다.
- // 빈줄을 삭제한 경우 상병순서를 다시 부여한다.
- /*
- * if (delcldiCheck) { var seq = 1; for (var i = 1; i < grd_cldihist.rows;
- * i++) { var rowstatus = grd_cldihist.rowstatus(i); if (rowstatus != 4) {
- * model.setValue("/root/main/list1/cldi["+ i +"]/diagseq", seq++); } } }
- */
- // 저장할 정보를 체크한다.
- var cldiList = instance1.selectSingleNode("/root/main/list1"); // root/main/list1
- if (cldiList == null) {
- return false;
- }
- var cldiNode = cldiList.childNodes; // root/main/list1/cldi
- if (cldiNode.length == 0) {
- messageBox("상병이 입력되지", "E007"); // /상병이 입력되지 않았습니다.
- return false;
- } else {
- for ( var i = 1; i <= cldiNode.length; i++) {
- var diagcd = model.getValue("/root/main/list1/cldi[" + i + "]/diagcd");
- var toot = model.getValue("/root/main/list1/cldi[" + i + "]/toot");
- if (diagcd == "") {
- // messageBox("상병코드 또는 진료개시일이 입력되지", "E007"); ///상병코드가 입력되지
- // 않았습니다.
- // return false;
- model.removeNode("/root/main/list1/cldi[" + i + "]");
- grd_cldihist.refresh();
- } else {
- var diagseq = model.getValue("/root/main/list1/cldi[" + i + "]/diagseq");
- for ( var j = 1; j < i; j++) {
- var prediagseq = model.getValue("/root/main/list1/cldi[" + j + "]/diagseq");
- var prediagcd = model.getValue("/root/main/list1/cldi[" + j + "]/diagcd");
- var pretoot = model.getValue("/root/main/list1/cldi[" + j + "]/toot");
- if (grd_cldihist.rowstatus(i) != 4) {
- // 중복된 상병 NO가 있는 경우
- if (diagseq == prediagseq) {
- messageBox("상병순서 '" + diagseq + "'가", "E006"); // /상병순서 '***'가 중복되었습니다.
- return false;
- }
- // 중복된 상병코드가 있는 경우
- if (diagcd == prediagcd && toot == pretoot) {
- messageBox("상병코드 '" + diagcd + "'가", "E006"); // /상병코드 '***'가 중복되었습니다.
- return false;
- }
- }
- }
- if (model.getValue("/root/main/list1/cldi[" + i + "]/toot") == "") { // 치식이 입력되지 않은 경우
- model.setValue("/root/main/list1/cldi[" + i + "]/toot", "-");
- }
- }
- }
- }
- return true;
- }
- // CLSP 테이블에 저장할 정보가 올바른지 확인한다.
- function fCheckSaveInAftJudgInfoCLSP() {
- // 먼저 빈 줄을 삭제한다.
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp[" + i + "]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(i, false);
- i--;
- }
- }
- // 저장할 정보를 체크한다.
- var clspList = instance1.selectSingleNode("/root/main/list3"); // root/main/list3
- if (clspList == null) {
- return false;
- }
- var clspNode = clspList.childNodes; // root/main/list3/clsp
- for ( var i = 1; i <= clspNode.length; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp[" + i + "]/spclspec");
- if (spclcd == "" || spclspec == "") {
- // 2009-01-29
- // messageBox("특정코드 또는 특정내역이 입력되지", "E007"); ///특정코드 또는 특정내역이 입력되지
- // 않았습니다.
- model.removeNode("/root/main/list3/clsp[" + i + "]");
- grd_clsphist.refresh();
- // return false;
- } else if (spclcd == "MX999" || spclcd == "MT015" || spclcd == "MT016" || spclcd == "MT004") {
- for ( var j = 1; j < i; j++) {
- var prespclcd = model.getValue("/root/main/list3/clsp[" + j
- + "]/spclcd");
- // 중복된 명세서 단위 특정코드가 있는 경우
- if (grd_clsphist.rowstatus(i) != 4 && spclcd == prespclcd) {
- messageBox("명세서 단위 특정코드 '" + spclcd + "'가", "E006"); // /명세서 단위 특정코드 '***'가 중복되었습니다.
- return false;
- }
- }
- }
- }
- return true;
- }
- // CLOD 테이블에 저장할 정보가 올바른지 확인한다.
- function fCheckSaveInAftJudgInfoCLOD() {
- // 먼저 빈 줄을 삭제한다.
- for ( var i = 1; i < grd_clodhist.rows; i++) {
- var rowstatus = grd_clodhist.rowstatus(i);
- var seqno = model.getValue("/root/main/list2/clod[" + i + "]/seqno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- var basecd = model.getValue("/root/main/list2/clod[" + i + "]/basecd");
- var drugqty = model.getValue("/root/main/list2/clod[" + i + "]/drugqty");
- var edidrugqty = model.getValue("/root/main/list2/clod[" + i + "]/edidrugqty");
- var tims = model.getValue("/root/main/list2/clod[" + i + "]/tims");
- var dayno = model.getValue("/root/main/list2/clod[" + i + "]/dayno");
- var edidayno = model.getValue("/root/main/list2/clod[" + i + "]/edidayno");
- var ordfromdd = model.getValue("/root/main/list2/clod[" + i + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + i + "]/ordtodd");
- // 처방일련번호가 부여되지 않고,
- // 수가코드, EDI코드, 투여량, 횟수, 일수, 진료종료일자가 입력되지 않은 경우
- if (rowstatus != 4 && seqno == "" && snglcalcscorcd == "" && basecd == "" && drugqty == "" && tims == "" && dayno == "" && edidrugqty == "" && edidayno == "" && ordtodd == "") {
- // 줄을 삭제한다.
- grd_clodhist.deleteRow(i, false);
- i--;
- }
- }
- // 저장할 정보를 체크한다.
- // 처방 Grid
- var clodList = instance1.selectSingleNode("/root/main/list2"); // root/main/list2
- if (clodList == null) {
- return false;
- }
- var clodNode = clodList.childNodes; // root/main/list2/clod
- for ( var i = 1; i <= clodNode.length; i++) {
- var seqno = model.getValue("/root/main/list2/clod[" + i + "]/seqno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- var basecd = model.getValue("/root/main/list2/clod[" + i + "]/basecd");
- var drugqty = model.getValue("/root/main/list2/clod[" + i + "]/drugqty");
- var edidrugqty = model.getValue("/root/main/list2/clod[" + i + "]/edidrugqty");
- var tims = model.getValue("/root/main/list2/clod[" + i + "]/tims");
- var dayno = model.getValue("/root/main/list2/clod[" + i + "]/dayno");
- var edidayno = model.getValue("/root/main/list2/clod[" + i + "]/edidayno");
- var ordfromdd = model.getValue("/root/main/list2/clod[" + i + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + i + "]/ordtodd");
- if (snglcalcscorcd != "" && basecd != "") {
- if (ordfromdd == "" || ordtodd == "") {
- messageBox("수가코드 '" + snglcalcscorcd + "'의 처방일자 정보가", "I004"); // /수가코드 '***'의 처방일자 정보가 없습니다.
- return false;
- } else if (drugqty == "" || tims == "" || dayno == ""
- || edidrugqty == "" || edidayno == "") {
- messageBox("수가코드 '" + snglcalcscorcd + "'의 투여량 정보가", "I004"); // /수가코드 '***'의 투여량 정보가 없습니다.
- return false;
- }
- }
- }
- return true;
- }
- // PIFHIUNC 재청구 저장시 차액이 발생했는지 체크
- function fCheckSaveReClamChangeAmt() {
- // if (model.getValue("/root/send/item1/clbs/recalcyn") == "Y") {
- if (model.getValue("/root/main/item1/clbs/clamflagcd") == "1" && model.getValue("/root/send/item1/clbs/recalcyn") == "Y") {
- return true;
- } else {
- return false;
- }
- }
- // 1) "저장" 이후에 현재 대상자 정보를 다시 조회한다.
- // 2) 대상자조회 화면에서 선택한 환자의 pid를 기준으로 이전, 이후 대상자를 조회한다.
- function fGetInAftJudgMngt() {
- var popupcallyn = model.getValue("/root/hidden/smpid20200/rslt/popupcallyn");
- var clamym = model.getValue("/root/hidden/smpid20200/rslt/clamym");
- var clamdg = model.getValue("/root/hidden/smpid20200/rslt/clamdg");
- var pid = model.getValue("/root/hidden/smpid20200/rslt/pid");
- var pidsn = model.getValue("/root/hidden/smpid20200/rslt/pidsn");
- var workflag = model.getValue("/root/hidden/smpid20200/rslt/workflag");
- var selectedRow = model.getValue("/root/hidden/smpid20200/rslt/selectedRow");
- var cutprcpyn = model.getValue("/root/hidden/smpid20200/rslt/cutprcpyn");
- var judgenddd = model.getValue("/root/hidden/smpid20200/rslt/judgenddd");
- var cretno = model.getValue("/root/hidden/smpid20200/rslt/cretno");
- if (clamym && clamdg && pid && pidsn) {
- var rslt = fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- }
- model.makeValue("/root/send/item1/clbs/clamym", clamym);
- model.makeValue("/root/send/item1/clbs/clamdg", clamdg);
- model.makeValue("/root/send/item1/clbs/pid", pid);
- model.makeValue("/root/send/item1/clbs/pidsn", pidsn);
- model.makeValue("/root/send/item1/clbs/workflag", workflag);
- model.makeValue("/root/send/item1/clbs/popupcallyn", popupcallyn);
- model.makeValue("/root/send/item1/clbs/ioflag", "I");
- model.makeValue("/root/send/item1/clbs/cretno", cretno);
- // 대상자조회 화면에서 선택했던 환자의 Row를 기억해 두고, pre/next대상조회 버튼에서 이전, 이후 대상자를 조회한다.
- model.setValue("/root/hidden/smpid20200/rslt/selectedRow", selectedRow);
- // 20100302 삭감조회 여부
- if (cutprcpyn != "") {
- model.makeValue("/root/send/item1/clbs/cutviewyn", "Y");
- } else {
- model.makeValue("/root/send/item1/clbs/cutviewyn", "N");
- }
- // var s;
- // var d = new Date();
- // s += " 서버시작 : " + d.getMinutes() + "분 " + d.getSeconds() + "초 " +
- // d.getMilliseconds();
- submit("TRPID20301");
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한줄추가(); 20090918 정승우
- // var d = new Date();
- // s += " 서버종료 : " + d.getMinutes() + "분 " + d.getSeconds() + "초 " +
- // d.getMilliseconds();
- // pid가 변경되었는데 조회창을 여는 경우 기존 조회된 data 초기화를 위해 저장해둔다.
- model.setValue("/root/hidden/smpid20200/rslt/oldPid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/smpid20200/rslt/judgenddd", judgenddd);
- // submit("TRPID20301") 사후 심사 대상자를 조회한 이후의 처리를 한다.
- fSetAftJudgTrgtManSrchData();
- cmb_orddrid.refresh();
- // alert(s);
- // rdo_unitflag.dispatch("xforms-select"); //20090915 정승우 JT001 제외 기능 추가
- fGetSelectedUnitFlag();
- // fDiagGridInsertRowMulti(); //20090917 정승우 대상자 선택시 자동으로 상병 5줄 가져오기 추가
- // model.refresh(); // cmb_orddrid.choices.itemset.attribute("nodeset")
- // 변경 사항을 적용하기 위해
- // 20100302 삭감팝업 추가
- var cutpopwindow = getChildWindow("SMPIS00600");
- if (cutpopwindow != null) {
- cutpopwindow.close();
- }
- if (model.getValue("/root/main/item1/clbs/cutprcpyn") == "Y") {
- if (cutprcpyn == "2") {
- setParameter("openflag", 'O');
- setParameter("pid", pid);
- open("SMPIS00600", "", "50", "50", "SMPIS00600", "", "");
- }
- }
- }
- }
- // 1) 심사대상자 조회 Popup을 호출하기 전
- // 2) 이전, 이후 대상자를 조회하기 전
- /*
- * 1.저장버튼 클릭 fGetInAftJudgMngt -> fInitSrchData 2.이전,다음명세서 버튼클릭
- * fGetInAftJudgMngt -> fSaveInAftJudg -> fInitSrchData 3.완료,미심,보류,삭제 버튼클릭
- * fGetInAftJudgMngt -> fSaveInAftJudg -> fInitSrchData 4.이전명세서 더블클릭시 화면 떠있는 경우
- * fActivatePreDocuWindow -> fInitSrchData 5.심사전명세서 클릭 fActivatePreDocuWindow ->
- * fInitSrchData 6.등록번호 엔터 fInitSrchData 7.등록번호 value-changed fInitSrchData
- * 8.환자조회 버튼클릭 fInitSrchData 9.종료시 fInitSrchData
- *
- * 심사중해제해야하는 경우!! 수정전체크해야하는 경우!! /root/hidden/changecheckyn
- *
- * 6.등록번호 엔터 7.등록번호 value-changed 8.환자조회버튼 클릭 9.종료시 2.이전,다음명세서버튼 클릭
- */
- function fInitSrchData() {
- // 기존 조회 내역 중 수정 사항이 있는 경우 저장할 것인지를 물어본다.
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- if (clamym) {
- var judgendyn = model.getValue("/root/main/item1/clbs/judgendyn");
- if (judgendyn == "B") {
- var clamendyn = model.getValue("/root/main/item1/clbs/clamendyn");
- var lockyn = model.getValue("/root/main/item1/clbs/lockyn");
- if (lockyn == "N") { // 청구완료여부 A:샘생성전
- if (btn_save.disabled == false || btn_unjudg.disabled == false) {
- var rslt = fCheckChangeSave();
- if (rslt == false) { // 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- } else {
- // 동일환자 저장 후 재조회가 아닌경우에만 '심사중' 상태 해제를 한다.
- if (model.getValue("/root/hidden/reselect") == "N") {
- // "심사중" 상태를 해제한다. 원래 심사상태로 변경한다.
- var judgendyn = "";
- if (model.getValue("/root/hidden/orgjudgendyn") == "") {
- judgendyn = "A";
- } else {
- judgendyn = model.getValue("/root/hidden/orgjudgendyn");
- }
- model.removeNodeset("/root/send/item4");
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/clamdg", clamdg);
- model.makeValue("/root/send/item4/endclbs/pid", pid);
- model.makeValue("/root/send/item4/endclbs/pidsn", pidsn);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- submit("TXPID20302");
- // 대상자조회 심사상태 변경
- fSetJudgSaveState(judgendyn);
- }
- }
- }
- }
- }
- }
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- fInitUIControlSize();
- // 대상자 화면과 이전명세서 화면을 제외한 자식창을 닫는다.
- var judgWindow1 = getChildWindow("SMPID20200"); // SMPID20200_입원사후심사대상자조회.xrw
- var judgWindow2 = getChildWindow("SMPID20300"); // SMPID20300_입원사후심사관리.xrw
- var judgWindow3 = getChildWindow("SMPID20500"); // SMPID20500_외래사후심사관리.xrw
- if (judgWindow1 == null && judgWindow2 == null && judgWindow3 == null) {
- var childCnt = window.children.length;
- for ( var i = childCnt; i > 0; i--) {
- var child = window.children.item(i - 1);
- if (window.children.item(i - 1).window.type != "modal") {
- window.children.item(i - 1).close();
- }
- }
- } else {
- var childCnt = window.children.length;
- for ( var i = childCnt; i > 0; i--) {
- var isClose = "true";
- var child = window.children.item(i - 1);
- var curWinID = child.model.getValue("/root/properties/uid/myself");
- if (judgWindow1 != null) {
- var judgWinID = judgWindow1.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow2 != null) {
- var judgWinID = judgWindow2.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (judgWindow3 != null) {
- var judgWinID = judgWindow3.model.getValue("/root/properties/uid/myself");
- if (curWinID == judgWinID) {
- isClose = "false";
- }
- }
- if (isClose != "false") {
- if (window.children.item(i - 1).window.type != "modal") {
- window.children.item(i - 1).close();
- }
- }
- }
- }
- delPatientInfos(); // (common.js) 상단의 환자정보 삭제
- model.resetInstanceNode("/root/main/item1/clbs");
- model.resetInstanceNode("/root/main/item1/memo");
- model.resetInstanceNode("/root/main/item2/incd");
- model.removeNodeset("/root/main/item3/supp");
- model.removeNodeset("/root/main/list1/cldi");
- model.removeNodeset("/root/main/list2/clod");
- model.removeNodeset("/root/main/list3/clsp");
- model.resetInstanceNode("/root/main/item5/mech");
- model.removeNodeset("/root/main/list4/clbs");
- model.removeNodeset("/root/main/list5/clod");
- model.removeNodeset("/root/main/list6/delclod");
- model.removeNodeset("/root/hidden/rarecancermsg"); // 중증 및 희귀번호 초기화
- // 20091123 박창원
- cmb_rarecancermsg.visible = false;
- fSetJudgStatBtnAuth(); // 심사완료여부 상태에 따라 "저장 / 재계산 / 완료 / 미심 / 보류 / 삭제" Btn
- // 권한을 설정한다.
- /*
- * // 분만간호기록 Btn btn_babymom.attribute("class") = "btn2_letter6"; // 표준에서 정한
- * 기본 버튼으로 설정 btn_babymom.attribute("left") = "193px"; btn_babymom.visible =
- * true; // 수술(유) Btn btn_opyn.attribute("class") = "btn2_letter4"; // 표준에서
- * 정한 기본 버튼으로 설정 btn_opyn.visible = true;
- */
- model.resetInstanceNode("/root/send");
- model.resetInstanceNode("/root/hidden/item1/clbs"); // hidden을 모두 초기화하면
- // children의 wid 삭제됨
- model.resetInstanceNode("/root/hidden/item1/initclbs/clbs");
- model.resetInstanceNode("/root/hidden/item1/initmemo/memo");
- model.resetInstanceNode("/root/hidden/list1");
- // /// model.resetInstanceNode("/root/hidden/list2/clodsrch");
- model.resetInstanceNode("/root/hidden/list2/cloditem1");
- model.resetInstanceNode("/root/hidden/list3");
- model.resetInstanceNode("/root/hidden/item5/clod");
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch"); // SMPIC00200_수가조회
- model.resetInstanceNode("/root/hidden/smpic00200/rslt");
- model.resetInstanceNode("/root/hidden/smpid20200/cond"); // SMPID20200_입원사후심사대상자조회
- model.resetInstanceNode("/root/hidden/smpid20200/rslt");
- model.resetInstanceNode("/root/hidden/smpid20300/cond"); // SMPID20300_입원사후심사관리
- model.resetInstanceNode("/root/hidden/smpid20500/cond"); // SMPID20500_외래사후심사관리
- model.resetInstanceNode("/root/hidden/sppid21300/cond"); // SPPID21300_심사전후차액조회
- model.resetInstanceNode("/root/hidden/sppid21600/cond"); // SPPID21600_세부계산내역조회
- model.resetInstanceNode("/root/hidden/sppid21700/cond"); // SPPID21700_원외처방조회
- model.resetInstanceNode("/root/hidden/smpiz00100/cond"); // SMPIZ00100_외래입원상병이력조회
- model.resetInstanceNode("/root/hidden/smpiz00100/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00200/cond/clsp"); // SPPIZ00200_첨부물자료관리
- model.resetInstanceNode("/root/hidden/sppiz00200/rslt/clsp");
- model.resetInstanceNode("/root/hidden/sppiz00300/rslt"); // SPPIZ00300_메모이력조회
- model.resetInstanceNode("/root/hidden/sppiz00400/cond"); // SPPIZ00400_상병코드조회
- model.resetInstanceNode("/root/hidden/sppiz00400/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00500/cond"); // SPPIZ00500_특정내역상세관리
- model.resetInstanceNode("/root/hidden/sppiz00500/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00600/cond"); // SPPIZ00600_상병및처방별치식
- model.resetInstanceNode("/root/hidden/sppiz00600/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond"); // SPPIZ00700_심사Comment조회
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00800/cond"); // SPPIZ00800_산정코드조회
- model.resetInstanceNode("/root/hidden/sppiz00800/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01000/cond"); // SPPIZ01000_심사수정사유관리
- model.resetInstanceNode("/root/hidden/sppiz01000/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01100/cond"); // SPPIZ01100_확인코드조회
- model.resetInstanceNode("/root/hidden/sppiz01100/rslt");
- model.resetInstanceNode("/root/hidden/sppiz01300/cond"); // SPPIZ01300_수술정보조회
- model.resetInstanceNode("/root/hidden/sppiz01400/cond"); // SPPIZ01400_특정내역코드상세조회
- model.resetInstanceNode("/root/hidden/sppiz01400/rslt");
- model.resetInstanceNode("/root/hidden/smpmc01300/cond"); // SMPMC01300_특이환자관리
- model.resetInstanceNode("/root/hidden/smpmc01300/rslt");
- // model.resetInstanceNode("/root/hidden/sppmb01500/cond"); //
- // SPPMB01500_보험자기호조회
- model.resetInstanceNode("/root/hidden/sppmc02500/cond"); // SPPMC02500_환자조회
- model.resetInstanceNode("/root/hidden/smmnn00700/cond"); // SPPIZ01200_분만신생아정보관리
- model.resetInstanceNode("/root/hidden/sppid22800/cond"); // SPPID22800_재청구차액발생사유관리
- model.resetInstanceNode("/root/hidden/sppid22800/rslt");
- model.resetInstanceNode("/root/hidden/sppid23100/cond"); // SPPID23100_급비변경관리
- model.resetInstanceNode("/root/hidden/sppid23100/rslt");
- // 특정내역Grid용 필터링 Radio 초기값
- model.setValue("/root/hidden/list3/selectedUnitFlag", "-");
- // 처방 조회부 항목구분 Radio item의 굵은 표시를 취소한다.
- var itemRadioList = instance1
- .selectSingleNode("/root/hidden/list2/cloditem1");
- var itemNode = itemRadioList.childNodes;
- for ( var i = 0; i < itemNode.length; i++) {
- rdo_item1.item(i).attribute("font-weight") = "normal";
- }
- // 처방Grid 배경색을 초기화한다.
- grd_clodhist.rebuildStyle();
- grd_cldihist.rebuildStyle();
- // 처방 Grid 필터용 조회조건을 초기화한다.
- fInitOrderFilter();
- cmb_orddeptcd.choices.itemset.attribute("nodeset") = "/root/init/orddeptcd2/orddeptcdlist";
- cmb_orddrid.choices.itemset.attribute("nodeset") = "/root/init/orddrid2/orddridlist";
- // 20091230 완화의료 표시 삭제
- pm_flag.visible = false;
- return true;
- }
- // 삭제 or 삭제취소 후 or 처방Grid에서 그룹/수가/EDI코드를 입력한 이후에 줄번호를 다시 부여한다.
- function fSetOrderLnNo() {
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod[" + row + "]/seqno");
- var ediitem1 = model.getValue("/root/main/list2/clod[" + row + "]/ediitem1");
- var ediitem2 = model.getValue("/root/main/list2/clod[" + row + "]/ediitem2");
- var grupcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd");
- var estmmncd = model.getValue("/root/main/list2/clod[" + row + "]/estmmncd");
- // sort 전 row 위치를 기억한다.
- var rowNum = grd_clodhist.topRow - grd_clodhist.row;
- // 수가코드가 없는 row를 삭제하고, 정렬하고, 줄번호를 다시 부여한다.
- // 2008-09-01
- // fDelEmptyGridOrderData();
- // 항,목,그룹코드,재행에 따라 정렬한다.
- grd_clodhist.colsort(grd_clodhist.colRef("ediitem1")) = "asc"; // 항
- grd_clodhist.colsort(grd_clodhist.colRef("ediitem2")) = "asc"; // 목
- grd_clodhist.colsort(grd_clodhist.colRef("grupcalcscorcd")) = "asc"; // 그룹코드
- grd_clodhist.colsort(grd_clodhist.colRef("grupseqno")) = "asc"; // 그룹 정렬순번
- grd_clodhist.colsort(grd_clodhist.colRef("snglcalcscorcd")) = "asc"; // 싱글코드
- grd_clodhist.colsort(grd_clodhist.colRef("edicd")) = "asc"; // EDI코드
- var maxRow = parseInt(grd_clodhist.rows); // rows는 타이틀부분 부터 개수를 센다
- var maxCol = parseInt(grd_clodhist.cols);
- grd_clodhist.sort(grd_clodhist.fixedRows, grd_clodhist.fixedCols, maxRow, maxCol) = "usersort";
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_clodhist.gridToInstance();
- // 줄번호를 변경한다.
- // fChangeOrderLnNo();
- var row = grd_clodhist.findRow(seqno, 0, grd_clodhist.colRef("seqno"), false, true);
- grd_clodhist.select(row, 1) = true;
- grd_clodhist.row = row;
- grd_clodhist.topRow = row + rowNum;
- /*
- * for (var i = grd_clodhist.rows; i > 0; i--) { if
- * (model.getValue("/root/main/list2/clod["+ i +"]/seqno") == seqno) { if
- * (model.getValue("/root/main/list2/clod["+ i +"]/ediitem1") == ediitem1) {
- * if (model.getValue("/root/main/list2/clod["+ i +"]/ediitem2") ==
- * ediitem2) { if (model.getValue("/root/main/list2/clod["+ i
- * +"]/grupcalcscorcd") == grupcalcscorcd) { if
- * (model.getValue("/root/main/list2/clod["+ i +"]/snglcalcscorcd") ==
- * snglcalcscorcd) { if (model.getValue("/root/main/list2/clod["+ i
- * +"]/estmmncd") == estmmncd) { grd_clodhist.select(i, 1) = true;
- * grd_clodhist.row = i;
- *
- * grd_clodhist.topRow = i + rowNum; break; } } } } } } }
- */
- }
- // 줄번호를 변경한다.
- function fChangeOrderLnNo() {
- /*
- * // 줄번호와 수가코드가 동일한 특정내역의 줄번호부터 변경한다. for (var i = grd_clodhist.fixedRows;
- * i < grd_clodhist.rows; i++) { // 첫 줄부터 var clodLnno =
- * model.getValue("/root/main/list2/clod["+ i +"]/initlnno"); if
- * (model.getValue("/root/main/list2/clod["+ i +"]/cnfmcd") ||
- * model.getValue("/root/main/list2/clod["+ i +"]/lnunitspclspecyn")) { //
- * 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우 for (var j = grd_clsphist.fixedRows;
- * j < grd_clsphist.rows; j++) { var spclLnNo =
- * model.getValue("/root/main/list3/clsp["+ j +"]/oldedilnno"); if (spclLnNo ==
- * "") { // 입력된 줄번호가 없는 경우 제외 } else if (spclLnNo == "0") { // 명일련 단위는 제외 }
- * else if (spclLnNo == clodLnno) { var clspstatus =
- * grd_clsphist.rowstatus(j); if (clspstatus == 0 || clspstatus == 2) { // 0 :
- * new, 2 : update if (spclLnNo != i) { // 기존 줄번호와 새 줄번호가 다른 경우
- * grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다. } }
- * model.setValue("/root/main/list3/clsp["+ j +"]/edilnno", i); } } } // 처방
- * Grid의 줄번호를 변경한다. model.setValue("/root/main/list2/clod["+ i +"]/edilnno",
- * i);
- *
- * var initlnno = model.getValue("/root/main/list2/clod["+ i +"]/initlnno");
- * if (initlnno != i) { // DB에 저장된 줄번호와 다른 줄번호로 바뀐 경우 // 처방의 수정된 row 상태를
- * 표시한다. // fSetOrderChangeRowStat(i); var rowstatus =
- * grd_clodhist.rowstatus(i); if (rowstatus == 1 || rowstatus == 3) { // 1 :
- * insert, 3 : insert & new } else { grd_clodhist.rowstatus(i) = 2; // 2 :
- * update 상태로 stat를 변경한다. } } }
- *
- * for (var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- * model.setValue("/root/main/list2/clod["+ i +"]/initlnno",
- * model.getValue("/root/main/list2/clod["+ i +"]/edilnno")); } for (var j =
- * grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- * model.setValue("/root/main/list3/clsp["+ j +"]/oldedilnno",
- * model.getValue("/root/main/list3/clsp["+ j +"]/edilnno")); }
- */
- }
- // 1. grd_clodhist : xforms_Value_changed : 그룹코드, 싱글코드, edi코드,한글 수정시
- // 2. grd_clodhist : xfomrs_value_changed : fromdd수정시 일수없는 경우기존 줄번호 없는 경우
- // 3. grd_clodhist : xfomrs_value_changed : todd수정시 일수변경되어 기존 줄번호 없는 경우
- // 4. grd_clodhist : xfomrs_value_changed : todd수정시 fromdd없어서 fromdd변경되어 기존 줄번호
- // 없는 경우
- // 4. grd_clodhist : xfomrs_value_changed : dayno수정시 기존 줄번호 없는 경우
- // 수가코드를 조회한 후 처방으로 행 추가를 한다.
- function fSetSrchCalcScorCd() {
- var col = grd_clodhist.col;
- var row = grd_clodhist.row;
- var calcscorcd = "";
- model.resetInstanceNode("/root/hidden/smpic00200/judgsrch"); // SMPIC00200_수가조회에 전달할 조건값
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303")용
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "N"); // 단가변경여부
- model.makeValue("/root/send/item5/mech/ediupdateyn", "N"); // edi변경여부
- var cnfmcd = model.getValue("/root/main/list2/clod[" + row + "]/cnfmcd");
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- if (cnfmcd || lnunitspclspecyn) {
- var ans = messageBox("입력된 줄단위 특정내역을 삭제하고 코드를 변경", "S001"); // /입력된 줄단위 특정내역을 삭제하고 코드를 변경하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- model.resetInstanceNode("/root/main/list2/clod[" + row + "]/cnfmcd");
- model.resetInstanceNode("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- var edilnno = model.getValue("/root/main/list2/clod[" + row + "]/edilnno");
- var clspgridrow;
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp[" + j + "]/edilnno");
- if (spclLnNo == edilnno) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 :
- // insert & new
- model.resetInstanceNode("/root/main/list3/clsp[" + j + "]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp[" + j + "]/spclspec");
- // grd_clsphist.deleteRow(j, false); // 해당 라인을 Grid에서
- // 삭제한다.
- // j--;
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를
- // 변경한다.
- }
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- } else if (ans == 7 || ans == 2) { // 6: yes, 7:no, 2:cancel
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- }
- if (col == grd_clodhist.colRef("grupcalcscorcd")) { // 그룹코드
- var grupcalcscorcd = model.getValue("/root/main/list2/clod[" + row
- + "]/grupcalcscorcd");
- if (grupcalcscorcd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2",grupcalcscorcd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", grupcalcscorcd); // submit("TRPID20303")
- // 용
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/basecd", "");
- calcscorcd = grupcalcscorcd;
- } else if (col == grd_clodhist.colRef("snglcalcscorcd")) { // 수가코드
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd");
- if (snglcalcscorcd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", snglcalcscorcd); // SMPIC00200_수가조회 용
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd); // submit("TRPID20303")
- // 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/basecd", "");
- calcscorcd = snglcalcscorcd;
- } else if (col == grd_clodhist.colRef("basecd")) { // EDI코드
- var basecd = model.getValue("/root/main/list2/clod[" + row + "]/basecd");
- if (basecd == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", basecd); // SMPIC00200_수가조회
- // 용
- model.makeValue("/root/send/item5/mech/basecd", basecd); // submit("TRPID20303")
- // 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- calcscorcd = basecd;
- }
- else if (col == grd_clodhist.colRef("hngnm")) { // 한글명
- var hngnm = model.getValue("/root/main/list2/clod[" + row + "]/hngnm");
- if (hngnm == "") {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- return; // 입력된 코드에 변경이 없거나 코드를 삭제한 경우임
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con4_search2", hngnm); // SMPIC00200_수가조회
- // 용
- model.makeValue("/root/send/item5/mech/basecd", ""); // submit("TRPID20303")
- // 용
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", "");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", "");
- }
- var ordfromdd = model.getValue("/root/main/list2/clod[" + row + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + row + "]/ordtodd");
- /*
- * // 2009-01-12 입원환자 의약품관리료는 입원일자로 조회한다. var ioflag =
- * model.getValue("/root/main/item1/clbs/ioflag"); if (ioflag == "I" &&
- * calcscorcd.substr(0, 2) == "AL") { var indd =
- * model.getValue("/root/main/item1/clbs/indd"); ordfromdd = indd; ordtodd =
- * indd; model.setValue("/root/main/list2/clod["+ row +"]/ordfromdd", indd);
- * model.setValue("/root/main/list2/clod["+ row +"]/ordtodd", indd); } else { }
- */
- if (isValidDateTime(ordfromdd)) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- if (!isValidDateTime(ordtodd)) {
- model.setValue("/root/main/list2/clod[" + row + "]/ordtodd", ordfromdd);
- model.setValue("/root/main/list2/clod[" + row + "]/orddd", ordfromdd);
- ordtodd = ordfromdd;
- }
- } else {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방시작일 & 종료일은", "I003"); // /처방시작일 & 종료일은 필수입력입니다.
- return;
- }
- var dayno = getDateInterval(ordfromdd, ordtodd); // (dateHelper.js) 두
- // 일자사이의 차를 일단위로 반환
- if (dayno < 0) {
- messageBox("처방종료일자가 처방시작일자 보다 이전 날짜", "E008"); // /처방종료일자가 처방시작일자 보다 이전
- // 날짜입니다.
- return;
- } else if (dayno > 365) {
- messageBox("처방일이 잘못", "E005"); // /처방일이 잘못 선택되었습니다.
- return;
- }
- model.makeValue("/root/send/item5/mech/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordtodd);
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod[" + row + "]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod[" + row + "]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
- var drugqty = model.getValue("/root/main/list2/clod[" + row + "]/drugqty");
- if (drugqty == "") {
- drugqty = "1";
- }
- model.makeValue("/root/send/item5/mech/drugqty", drugqty);
- var tims = model.getValue("/root/main/list2/clod[" + row + "]/tims");
- if (tims == "") {
- tims = "1";
- }
- model.makeValue("/root/send/item5/mech/tims", tims);
- var dayno = model.getValue("/root/main/list2/clod[" + row + "]/dayno");
- if (dayno == "") {
- dayno = "1";
- }
- model.makeValue("/root/send/item5/mech/dayno", dayno);
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod[" + row + "]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", model.getValue("/root/main/list2/clod[" + row + "]/hosinresncd"));
- model.makeValue("/root/send/item5/mech/payflag", model.getValue("/root/main/list2/clod[" + row + "]/payflag"));
- model.makeValue("/root/send/item5/mech/clbsordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- model.makeValue("/root/send/item5/mech/mode", "n");
- model.makeValue("/root/send/item5/mech/pid", model.getValue("/root/main/item1/clbs/pid")); // 20100125 추가
- model.makeValue("/root/send/item5/mech/clamdeptcd", model.getValue("/root/main/item1/clbs/clamdeptcd")); // 20100724 추가
- var clodlength;
- // if (!col == grd_clodhist.colRef("hngnm")) { // 한글명인 경우는 수가를 바로 조회하지 않고
- // 수가조회 popup창을 띄운다.
- if (col == grd_clodhist.colRef("hngnm")) { // 20100112 not 조건이 왜 걸리있을까요?
- clodlength = 0;
- } else {
- if (submit("TRPID20303")) {
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); // root/main/item5
- var clod = clodSelect.childNodes; // root/main/item5/mech
- clodlength = clod.length;
- } else {
- clodlength = 0;
- }
- }
- // 입력한 코드에 대해 조회된 결과가 없거나, 하나의 EDI코드에 여러 수가코드가 존재할 때
- if ((clodlength == 0)
- || (col == grd_clodhist.colRef("basecd") && clodlength > 1)) {
- // 검색된 결과가 여러 수가코드인 경우 이를 초기화하고 수가조회 Popup 창에서 새로 결과를 얻는다.
- model.resetInstanceNode("/root/main/item5");
- // insukindcd를 SMPIC00200_수가조회 화면에서 사용하는 조건값으로 변경한다.
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukindcd == "11") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- } else if (insukindcd == "21" || insukindcd == "22") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "proc");
- } else if (insukindcd == "31") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "autm");
- } else if (insukindcd == "41") {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "indus");
- } else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con5_insu", "insu");
- }
- // SMPIC00200_수가조회 화면의 그룹,싱글 combo 조건값 설정
- if (col == grd_clodhist.colRef("grupcalcscorcd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "G");
- } else if (col == grd_clodhist.colRef("snglcalcscorcd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con2_gsflag", "S");
- }
- // SMPIC00200_수가조회 화면의 검색조건 combo 조건값 설정
- if (col == grd_clodhist.colRef("basecd")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "edicd");
- } else if (col == grd_clodhist.colRef("hngnm")) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "hngnm");
- } else {
- model.setValue("/root/hidden/smpic00200/judgsrch/con3_search1", "calcscorcd");
- }
- // 처방시작일을 수가조회 기준일자로 설정
- if (ordfromdd) {
- model.setValue("/root/hidden/smpic00200/judgsrch/con1_dd", ordfromdd);
- }
- model.setValue("/root/hidden/smpic00200/judgsrch/con_ordinptflag",
- "PAM"); // 20100113 처방입력구분이 입력가능으로 된 수가도 조회하기 위해서 추가
- model.removeNodeset("/root/hidden/smpic00200/rslt/mech"); // SMPIC00200_수가조회 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/smpic00200/rslt/picmmech"); // SMPIC00200_수가조회 에서 선택된 결과가copyNode되는 경로임
- modal("SMPIC00200", "1", "10", "10", "SMPIC00200","root/hidden/smpic00200", "/root/temp", "", ""); // SMPIC00200_수가조회.xrw
- var mechSelect = instance1.selectSingleNode("/root/temp/mech");
- if (mechSelect == null) { // 선택한 코드가 없는 경우
- model.setValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- messageBox("수가조회 화면에서 선택한 결과가", "I004"); // /수가조회 화면에서 선택한 결과가
- // 없습니다.
- return;
- }
- // SMPIC00200_수가조회 화면에서 보낸 결과 값에 대한 처리
- model.makeNode("/root/hidden/smpic00200/rslt/mech");
- model.makeNode("/root/hidden/smpic00200/rslt/picmmech");
- model.copyNode("/root/hidden/smpic00200/rslt/mech", "/root/temp/mech");
- model.copyNode("/root/hidden/smpic00200/rslt/picmmech", "/root/temp/picmmech");
- model.removeNodeset("/root/temp"); // SMPIC00200_수가조회 에서 선택된 결과가 직접
- // 전달되는 경로임
- if (model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "A" && model.getValue("/root/hidden/smpic00200/rslt/mech/ordinptflag") != "I" // 20100120
- // 김용민
- // 입력가능한
- // 수가
- // 제외
- ) { // 처방입력구분(코드군 P0141) A: 가능
- model.setValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- messageBox("처방이 불가한 코드", "E008"); // /처방이 불가한 코드입니다.
- return;
- }
- if (model.getValue("/root/hidden/smpic00200/rslt/mech/grupsnglflag") != "S") { // 그룹코드인
- // 경우의
- // 그룹코드에
- // 속하는
- // 싱글코드를
- // 조회함.
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/mech/calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/snglcalcscorcd");
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- // model.resetInstanceNode("/root/send/item5/mech/toot");
- submit("TRPID20303");
- } else { // 싱글코드를 선택했을 때
- model.resetInstanceNode("/root/send/item5/mech/grupcalcscorcd");
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", model.getValue("/root/hidden/smpic00200/rslt/picmmech/picmmech_calcscorcd"));
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.resetInstanceNode("/root/send/item5/mech/estmmncd");
- // model.resetInstanceNode("/root/send/item5/mech/toot");
- submit("TRPID20303");
- }
- }
- // 수가조회 이후 신규처방 추가처리
- fSetNewCalcScorCd();
- // ////////////////
- }
- // 수가조회 이후 신규처방 추가처리
- function fSetNewCalcScorCd() {
- var row = grd_clodhist.row;
- // SMPIC00200_수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과 값에 대한 처리
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); // root/main/item5
- if (clodSelect != null) {
- var clod = clodSelect.childNodes; // root/main/item5/mech
- if (clod.length == 0) {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); // /처방이
- // 불가한
- // 코드입니다.
- // 수가조회
- // 화면에서
- // 선택한
- // 그룹코드에
- // 대해
- // 조회한
- // 결과가
- // 없습니다.
- return;
- }
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "new");
- // 수가코드가 변경되면 치식을 초기화시킨다.
- model.resetInstanceNode("/root/main/list2/clod[" + row + "]/toot");
- // fSetOrderLnNo();
- // 새로 입력된 수가코드가 처방 Grid에 삽입 또는 수정되었으므로 처방 필터링이 선택되어있는 경우, 해당 Row만 표시되도록
- // 한다.
- // 2008-10-28
- // fGetSelectedOrderData();
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // fSetOrderData();
- // 변경일자를 갱신한다.
- // fChkUpdtdd(); // 20100120 왜 전체내역을 다시 변경하는지.. 일단삭제 (속도도 오래걸리고 로직확인 필요)
- // 확인코드가 추가된 경우 특정내역 Grid에도 JT001을 추가한다.
- fSetNewCnfmCd();
- } else {
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- messageBox("처방이 불가한 코드입니다. 수가조회 화면에서 선택한 그룹코드에 대해 조회한 결과가", "I004"); // /처방이
- // 불가한
- // 코드입니다.
- // 수가조회
- // 화면에서
- // 선택한
- // 그룹코드에
- // 대해
- // 조회한
- // 결과가
- // 없습니다.
- return;
- }
- }
- // 변경된 투여량, 횟수, 일수에 따라 총투여량, 금액을 재계산한다.
- function fSetTotDrugQtyAmt() {
- var i = grd_clodhist.row;
- var col = grd_clodhist.col;
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303")
- // 용
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "N"); // 단가변경여부
- model.makeValue("/root/send/item5/mech/ediupdateyn", "N"); // edi변경여부
- var drugqty = model.getValue("/root/main/list2/clod[" + i + "]/drugqty");
- if (drugqty == "" || drugqty == "0") {
- model.setValue("/root/main/list2/clod[" + i + "]/drugqty", "1");
- }
- var tims = model.getValue("/root/main/list2/clod[" + i + "]/tims");
- if (tims == "" || tims == "0") {
- model.setValue("/root/main/list2/clod[" + i + "]/tims", "1");
- }
- var dayno = model.getValue("/root/main/list2/clod[" + i + "]/dayno");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod[" + i + "]/dayno", "1");
- }
- // -------------------------------------------
- // 20100205 추가 (기존 조건을 EDI 조회를 기본으로 변경하여 수정시 1일량 변경안되는 오류 때문에 추가
- // -------------------------------------------
- var dayno = model.getValue("/root/main/list2/clod[" + i + "]/edidrugqty");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod[" + i + "]/edidrugqty", "1");
- }
- var dayno = model.getValue("/root/main/list2/clod[" + i + "]/edidayno");
- if (dayno == "" || dayno == "0") {
- model.setValue("/root/main/list2/clod[" + i + "]/edidayno", "1");
- }
- if (col == grd_clodhist.colRef("edidrugqty")) { // edi1회투여량이 변경된 경우
- model.setValue("/root/main/list2/clod[" + i + "]/drugqty", model.getValue("/root/main/list2/clod[" + i + "]/edidrugqty"));
- col = grd_clodhist.colRef("drugqty");
- } else if (col == grd_clodhist.colRef("edidayno")) { // edi일수가 변경된 경우
- model.setValue("/root/main/list2/clod[" + i + "]/dayno", model.getValue("/root/main/list2/clod[" + i + "]/edidayno"));
- col = grd_clodhist.colRef("dayno");
- }
- // -------------------------------------------
- var sDrugqty = model.getValue("/root/main/list2/clod[" + i + "]/drugqty");
- var sTims = model.getValue("/root/main/list2/clod[" + i + "]/tims");
- var sDayno = model.getValue("/root/main/list2/clod[" + i + "]/dayno");
- var sUnitcost = model.getValue("/root/main/list2/clod[" + i + "]/unitcost");
- var sEdiDrugqty = model.getValue("/root/main/list2/clod[" + i
- + "]/edidrugqty");
- var sEdiDayno = model.getValue("/root/main/list2/clod[" + i + "]/edidayno");
- var drugqty = parseFloat(sDrugqty);
- var tims = parseInt(sTims);
- var dayno = parseInt(sDayno);
- var unitcost = parseFloat(sUnitcost);
- var edidrugqty = parseFloat(sEdiDrugqty);
- var edidayno = parseInt(sEdiDayno);
- if (col == grd_clodhist.colRef("drugqty")) { // 1회투여량이 변경된 경우
- if (sDrugqty == "" || drugqty <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- }
- } else if (col == grd_clodhist.colRef("tims")) { // 횟수가 변경된 경우
- if (sTims == "" || tims <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- }
- } else if (col == grd_clodhist.colRef("dayno")) { // 일수가 변경된 경우
- if (sDayno == "" || dayno <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- }
- } else if (col == grd_clodhist.colRef("unitcost")) { // 단가 변경된 경우(추가청구인
- // 경우만 해당)
- if (sUnitcost == "" || unitcost <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/unitcostupdateyn", "Y"); // 단가변경여부
- }
- } else if (col == grd_clodhist.colRef("edidrugqty")) { // edi1회투여량이 변경된 경우
- if (sEdiDrugqty == "" || edidrugqty <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/ediupdateyn", "Y"); // edi변경여부
- }
- } else if (col == grd_clodhist.colRef("edidayno")) { // edi일수가 변경된 경우
- if (sEdiDayno == "" || edidayno <= 0) {
- fCancelClodStatusChng(); // 처방이전상태 복구
- return false;
- } else {
- model.makeValue("/root/send/item5/mech/ediupdateyn", "Y"); // edi변경여부
- }
- }
- var ordfromdd = model
- .getValue("/root/main/list2/clod[" + i + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + i + "]/ordtodd");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i
- + "]/snglcalcscorcd");
- if (ordfromdd == "" || ordtodd == "" || snglcalcscorcd == "") {
- return false;
- }
- var dayno = getDateInterval(ordfromdd, ordtodd); // (dateHelper.js) 두
- // 일자사이의 차를 일단위로 반환
- if (dayno < 0) {
- return false;
- } else if (dayno > 365) {
- return false;
- }
- model.makeValue("/root/send/item5/mech/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordtodd);
- model.makeValue("/root/send/item5/mech/drugqty", sDrugqty);
- model.makeValue("/root/send/item5/mech/tims", sTims);
- model.makeValue("/root/send/item5/mech/dayno", sDayno);
- model.makeValue("/root/send/item5/mech/unitcost", sUnitcost);
- model.makeValue("/root/send/item5/mech/edidrugqty", sEdiDrugqty);
- model.makeValue("/root/send/item5/mech/edidayno", sEdiDayno);
- var grupcalcscorcd = model.getValue("/root/main/list2/clod[" + i
- + "]/grupcalcscorcd");
- if (grupcalcscorcd != "" && grupcalcscorcd != "-") {
- model.makeValue("/root/send/item5/mech/grupcalcscorcd", grupcalcscorcd);
- } else {
- model.resetInstanceNode("/root/send/item5/mech/grupcalcscorcd");
- }
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd);
- model.resetInstanceNode("/root/send/item5/mech/basecd");
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod[" + i + "]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod[" + i + "]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
- var estmmncd = model.getValue("/root/main/list2/clod[" + i + "]/estmmncd");
- if (estmmncd != "" && estmmncd != "-") {
- model.makeValue("/root/send/item5/mech/estmmncd", estmmncd);
- }
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod[" + i + "]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/hosinresncd", model.getValue("/root/main/list2/clod[" + i + "]/hosinresncd"));
- model.makeValue("/root/send/item5/mech/payflag", model.getValue("/root/main/list2/clod[" + i + "]/payflag"));
- model.makeValue("/root/send/item5/mech/clbsordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- // if (col == grd_clodhist.colRef("drugqty")) { // 투여량이 변경된 경우
- /*
- * if (model.getValue("/root/main/list2/clod["+ i +"]/seqno") == "") { //
- * EDI환산치, 위탁진료 적용 model.makeValue("/root/send/item5/mech/mode", "n"); }
- * else { model.makeValue("/root/send/item5/mech/mode", "u"); }
- */
- model.makeValue("/root/send/item5/mech/mode", "u");
- submit("TRPID20303");
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); // root/main/item5
- var clod = clodSelect.childNodes; // root/main/item5/mech
- if (clod.length == 1) {
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "update");
- // 기존에 줄번호가 부여안된 경우
- } else {
- // [20070618] 조회된 결과가 없을 때?
- if (col == grd_clodhist.colRef("drugqty")) { // 투여량이 변경된 경우
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- } else if (col == grd_clodhist.colRef("tims")) { // 횟수가 변경된 경우 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- }
- // 일수가 바뀐 경우 fromdd / todd 날짜 역시 원위치가 되지 않으므로 복구하지 않는다.
- else if (col == grd_clodhist.colRef("dayno")) { // 일수가 변경된 경우 처방 data 및 row status를 변경 이전 상태로 복구한다.
- fCancelClodStatusChng();
- ;
- }
- messageBox("조회된 처방 계산 내역이", "I004"); // /조회된 처방 계산 내역이 없습니다
- }
- return true;
- }
- // -----------------------------
- // EDI관련 컬럼 표시
- // -----------------------------
- function fEdiCheck() {
- // 20100128 edi 관련 컬럼 조회기준으로 변경 (재원비교로 변경)
- if (model.getValue("/root/hidden/edicheck") == "Y") {
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = false; // EDI코드
- grd_clodhist.colHidden(grd_clodhist.colRef("unitcost")) = false; // 단가
- grd_clodhist.colHidden(grd_clodhist.colRef("drugqty")) = false; // 1회량
- grd_clodhist.colHidden(grd_clodhist.colRef("dayno")) = false; // 일수
- grd_clodhist.colHidden(grd_clodhist.colRef("amt")) = false; // 금액
- grd_clodhist.colHidden(grd_clodhist.colRef("druglimitamt")) = false; // 약제상한가
- grd_clodhist.colHidden(grd_clodhist.colRef("limitdiffamt")) = false; // 약제상한차액
- } else {
- grd_clodhist.colHidden(grd_clodhist.colRef("edicd")) = true; // EDI코드
- grd_clodhist.colHidden(grd_clodhist.colRef("unitcost")) = true; // 단가
- grd_clodhist.colHidden(grd_clodhist.colRef("drugqty")) = true; // 1회량
- grd_clodhist.colHidden(grd_clodhist.colRef("dayno")) = true; // 일수
- grd_clodhist.colHidden(grd_clodhist.colRef("amt")) = true; // 금액
- grd_clodhist.colHidden(grd_clodhist.colRef("druglimitamt")) = true; // 약제상한가
- grd_clodhist.colHidden(grd_clodhist.colRef("limitdiffamt")) = true; // 약제상한차액
- }
- }
- // -----------------------------
- // 처방 "행 추가"
- // -----------------------------
- function fOrderGridInsertRow() {
- var clodrow = grd_clodhist.row;
- var preediitem1 = model.getValue("/root/main/list2/clod[" + clodrow + "]/ediitem1");
- var prematractflag = model.getValue("/root/main/list2/clod[" + clodrow + "]/matractflag");
- var prepayflag = model.getValue("/root/main/list2/clod[" + clodrow + "]/payflag");
- grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ediitem1", preediitem1);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/matractflag", prematractflag);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/payflag", prepayflag);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/snglcalcscorcd", model.getValue("/root/hidden/list2/clodsrch/inpCalcScorCd"));
- model.setValue("/root/main/list2/clod[" + clodrow + "]/basecd", model.getValue("/root/hidden/list2/clodsrch/inpEDICd"));
- var ordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ordfromdd", ordfromdd);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ordtodd", ordfromdd);
- grd_clodhist.row = clodrow;
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- }
- }
- }
- // --------------------------
- // 처방 "처방추가"
- // --------------------------
- function fOrderGridAddRow() {
- var clodrow = grd_clodhist.row;
- var preediitem1 = model.getValue("/root/hidden/list2/clodsrch/selectedRdoItem");
- var prematractflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoMatrAct");
- var prepayflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- if (preediitem1 == "-") {
- }
- if (prematractflag == "-") {
- }
- grd_clodhist.addRow(true, true); // 처방 Grid에 행 추가
- clodrow = grd_clodhist.row;
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ediitem1", preediitem1);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/matractflag", prematractflag);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/payflag", prepayflag);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/snglcalcscorcd", model.getValue("/root/hidden/list2/clodsrch/inpCalcScorCd"));
- model.setValue("/root/main/list2/clod[" + clodrow + "]/basecd", model.getValue("/root/hidden/list2/clodsrch/inpEDICd"));
- var indd = model.getValue("/root/main/item1/clbs/indd");
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ordfromdd", indd);
- grd_clodhist.row = clodrow;
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- }
- }
- }
- // ---------------------------
- // 처방 "행 복사"
- // ---------------------------
- function fOrderGridCopyRow() {
- var clodrow = grd_clodhist.row;
- grd_clodhist.insertRow(clodrow++, "below", true, true); // 처방 Grid에 행 삽입
- model.copyNode("/root/main/list2/clod[" + clodrow + "]", "/root/main/list2/clod[" + (clodrow - 1) + "]");
- model.resetInstanceNode("/root/main/list2/clod[" + clodrow + "]/rowstat");
- model.resetInstanceNode("/root/main/list2/clod[" + clodrow + "]/cnfmcd");
- model.resetInstanceNode("/root/main/list2/clod[" + clodrow + "]/lnunitspclspecyn");
- // seqno 셋팅
- model.setValue("/root/main/list2/clod[" + clodrow + "]/seqno", model.getValue("/root/main/item1/clbs/maxseqno"));
- model.setValue("/root/main/item1/clbs/maxseqno", parseInt(model.getValue("/root/main/item1/clbs/maxseqno")) + 1);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/edilnno", "0");
- grd_clodhist.refresh();
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- } else {
- newcd = model.getValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- } else {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- grd_clodhist.deleteRow(clodrow, true); // 처방 Grid에서 해당 라인을 삭제한다.
- return;
- }
- }
- }
- // 처방 Grid 타이틀을 이용해서 sorting 한 경우 줄번호가 현재 정렬된 순서대로 부여되므로 다시 sort하여 처리한다.
- fSetOrderLnNo();
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // fSetOrderData();
- // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- // / fGetSelectedOrderData();
- }
- // -----------------------------
- // 처방 "행 삭제"
- // -----------------------------
- function fOrderGridDeleteRow() {
- if (grd_clodhist.selectedRows == 1) { // 한줄을 삭제하는 경우
- // 처방 Grid의 일변번호와 수가코드
- var clodrow = grd_clodhist.row;
- var clodSeqno = model.getValue("/root/main/list2/clod[" + clodrow + "]/seqno");
- if (clodSeqno) {
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd) {
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- } else {
- newcd = model.getValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd");
- if (newcd == "") {
- newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- }
- }
- // 해당 특정내역을 삭제한다.
- if (model.getValue("/root/main/list2/clod[" + clodrow + "]/cnfmcd") || model.getValue("/root/main/list2/clod[" + clodrow + "]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + j + "]/clodseqno");
- if (spclClodseqno == clodSeqno) { // 기존에 이미 삭제된 특정내역도 함께 삭제해서, "삭제취소" 때에도 같이 복구되고, 다시 사용자가 필요없는 내역을 삭제하도록 한다.
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_clsphist.deleteRow(j, false);
- }
- }
- }
- }
- // 기존입력된 처방삭제시 휴지통에 담는다.
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- // 처방 Grid에서 행 삭제 / 처방휴지통 Grid에 행 삽입
- var delclodrow = grd_delclod.rows - 1;
- grd_delclod.insertRow(delclodrow++, true); // 처방휴지통 Grid에 행 삽입
- model.copyNode("/root/main/list6/delclod[" + delclodrow + "]", "/root/main/list2/clod[" + clodrow + "]"); // desc, sorce
- if (clodstatus == 0 || clodstatus == 2) { // 0 : new, 2 : update
- grd_delclod.rowstatus(grd_delclod.row) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_delclod.rowstatus(grd_delclod.row) = 0;
- }
- }
- grd_delclod.refresh();
- grd_clodhist.rowstatus(clodrow) = 4; // 4 : delete 상태로 stat를 변경한다.
- grd_clodhist.rowHidden(clodrow) = true; // delete된것은 rowHidden 시킨다.
- grd_clodhist.row = clodrow;
- } // if (grd_clodhist.selectedRows == 1) // 한줄 삭제
- else if (grd_clodhist.selectedRows > 1) { // 여러줄을 삭제하는 경우
- // 심사사유, 조정사유, 수정사유 입력
- var clodrow = grd_clodhist.row;
- var newcd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (newcd == "") {
- var oldcd = model.getValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd");
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftin");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", oldcd);
- modal("SPPIZ01000", "1", "550", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- newcd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- newdesc = model.getValue("/root/hidden/sppiz01000/rslt/adjtresndesc");
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) { // 타이틀 부분에 setValue 하게 되어 에러 발생함
- var seqno = model.getValue("/root/main/list2/clod[" + clodrow + "]/seqno");
- if (newcd != model.getValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd")) {
- if (grd_clodhist.rowStatus(clodrow) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(clodrow) = 2;
- }
- }
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", newcd);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresndesc", newdesc);
- // 해당 특정내역을 삭제한다.
- if (model.getValue("/root/main/list2/clod[" + clodrow + "]/cnfmcd") || model.getValue("/root/main/list2/clod[" + clodrow + "]/lnunitspclspecyn")) {
- // 확인코드 'JT001'이 입력되거나 줄단위 특정내역이 입력된 경우
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp[" + j + "]/clodseqno");
- if (spcClodseqno == "") { // 입력된 줄번호가 없는 경우 제외
- } else if (spcClodseqno == "0") { // 명일련 단위는 제외
- } else if (spcClodseqno == seqno) { // 기존에 이미 삭제된 특정내역도 함께 삭제해서, "삭제취소" 때에도 같이 복구되고, 다시 사용자가 필요없는 내역을 삭제하도록 한다.
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- // 기존입력된 처방삭제시 휴지통에 담는다.
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus != 1 && clodstatus != 3) {
- var delclodrow = grd_delclod.rows - 1;
- grd_delclod.insertRow(delclodrow++, true); // 처방휴지통 Grid에 행 삽입
- model.copyNode("/root/main/list6/delclod[" + delclodrow + "]", "/root/main/list2/clod[" + clodrow + "]"); // desc, sorce
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus == 0 || clodstatus == 2) { // 0 : new, 2 : update
- grd_delclod.rowstatus(grd_delclod.row) = 4; // 4 : delete 상태로 stat를 변경한다.
- } else {
- grd_delclod.rowstatus(grd_delclod.row) = 0;
- }
- }
- if (model.getValue("/root/main/list2/clod[" + clodrow + "]/updtdd")) {
- updtdd = model.getValue("/root/main/list2/clod[" + clodrow + "]/updtdd");
- }
- grd_clodhist.rowstatus(clodrow) = 4; // 4 : delete 상태로 stat를 변경한다.
- grd_clodhist.rowHidden(clodrow) = true; // delete된것은 rowHidden 시킨다.
- }
- }
- grd_delclod.refresh();
- } // if (grd_clodhist.selectedRows > 1) // 여러줄 삭제
- }
- // -------------------------------
- // 처방 "삭제 취소"
- // -------------------------------
- function fOrderGridDeleteCancel() {
- var delclodrow = grd_delclod.row;
- var delseqno = model.getValue("/root/main/list6/delclod[" + delclodrow + "]/seqno");
- var delclodCalcscorcd = model.getValue("/root/main/list6/delclod[" + delclodrow + "]/snglcalcscorcd");
- var isSpclChange = false; // 특정내역 줄번호도 변경된 경우, 처방 줄번호에 맞춰 특정내역 줄번호가 모두 변경된
- // 다음 다시 정렬한다.
- if (model.getValue("/root/main/list6/delclod[" + delclodrow + "]/cnfmcd") || model.getValue("/root/main/list6/delclod[" + delclodrow + "]/lnunitspclspecyn")) {
- var clsprow = grd_clsphist.findRow(delseqno, 1, grd_clsphist.colRef("clodseqno"), false, true);
- grd_clsphist.rowstatus(clsprow) = 0;
- isSpclChange = true;
- }
- var clodrow = grd_clodhist.findRow(delseqno, 1, grd_clodhist.colRef("seqno"), false, true);
- grd_clodhist.rowstatus(clodrow) = 0;
- grd_clodhist.rowHidden(clodrow) = false;
- grd_delclod.deleteRow(delclodrow, true); // 처방휴지통 Grid에서 해당 라인을 삭제한다.
- fSetOrderLnNo();
- if (isSpclChange) { // 줄단위 특정내역이 입력된 경우 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- }
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- grd_delclod.refresh();
- }
- // 확인코드, 분업예외코드 검체검사위탁, 준용코드를 특정내역에 자동으로 추가한다.
- function fSetNewCnfmCd() {
- var isClspChange = false;
- for ( var i = 1; i < grd_clodhist.rows; i++) {
- var rowstatus = grd_clodhist.rowstatus(i);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- // 1.확인코드 : JT001 : 확인코드 : X(5) : 여러개 발생시 '/' 로 구분
- // 2.분업예외코드 : JS002 : 분업예외코드 : 9(2)
- // 3.검체검사위탁 : JS005 : 수탁기관기호/검사의뢰일(ccccyymmdd) : 9(8)/cyymmdd
- // 위탁계약처구분코드(-:해당없음,1:검체검사위탁,2:시설공동이용,3:개방병원진료,4:위탁진료)
- // 4.준용코드 : JS009 : 준용명 : X(700)
- var seqno = model.getValue("/root/main/list2/clod[" + i + "]/seqno");
- var cnfmcd = model.getValue("/root/main/list2/clod[" + i + "]/cnfmcd");
- var basecd = model.getValue("/root/main/list2/clod[" + i + "]/basecd");
- var hosinresncd = model.getValue("/root/main/list2/clod[" + i + "]/hosinresncd");
- var trustinstno = model.getValue("/root/main/item5/mech/trustinstno");
- var clamspclcd = model.getValue("/root/main/item5/mech/clamspclcd");
- var okmsg = ""
- var spclcd = "";
- var cdnm = "";
- var spclspec = "";
- var spclformat = "";
- var detldesc = "";
- if (cnfmcd) {
- okmsg = "확인코드";
- spclcd = "JT001";
- cdnm = "확인코드";
- spclspec = cnfmcd;
- spclformat = "X(5)";
- detldesc = "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재";
- }
- /*
- * else if (hosinresncd != "" && hosinresncd != '00' && hosinresncd !=
- * '-'){ okmsg = "분업예외코드"; spclcd = "JS002"; cdnm = "분업예외코드";
- * spclspec = hosinresncd; spclformat = "9(2)"; detldesc = "의약분업
- * 예외사항 발생으로 의료기관에서 원내 조제/투약이 이루어진 경우 해당 예외구분코드를 기재하고, 원외처방발행기에서
- * 퇴장방지의약품 원외처방시 해당의약품의 사용장려비를 청구할 경우 구분코드 99를 기재"; }
- */
- else if (trustinstno != "" && clamspclcd == "1") {
- okmsg = "검체검사위탁";
- spclcd = "JS005";
- cdnm = "검체검사위탁";
- spclspec = trustinstno + "/" + model.getValue("/root/main/list2/clod[" + i + "]/ordfromdd");
- spclformat = "9(8)/ccyymmdd";
- detldesc = "수탁기관에 검체검사를 의뢰한 경우 수탁기관기호와 검사의뢰일을 기재";
- } else if (basecd == "JJJJJJ") {
- okmsg = "준용명";
- spclcd = "JS009";
- cdnm = "준용명";
- spclspec = model.getValue("/root/main/list2/clod[" + i + "]/hngnm");
- spclformat = "X(700)";
- detldesc = "상대가치점수표에 분류되지 않은 항목을 상대가치점수표상의 비슷한 진료행위로 준용하여 'JJJJJJ'코드로 청구시 진료행위명과 산출식을 기재하고, 한의사의 임의처방 청구시에는 임의 처방명을 기재";
- }
- if (okmsg) {
- var isFind = false;
- var edilnno = model.getValue("/root/main/list2/clod[" + i + "]/edilnno");
- if (edilnno == "" || edilnno == "0") {
- if (isFind == false) { // 기존에 없었던 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장
- // 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- // CLSP 테이블의 calcscorcd 컬럼에 CLOD 테이블의 basecd 컬럼 값 넣어주기로
- // 변경함
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", spclcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", cdnm);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", spclspec);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", spclformat);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", detldesc);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list2/clod[" + i + "]/lnunitspclspecyn", "*");
- grd_clsphist.row = clsprow;
- isClspChange = true;
- }
- model.setValue("/root/hidden/list3/msgspclformat", cdnm + " - " + spclcd + " / " + "입력코드내역 : " + spclspec + " / 기재형식 : " + spclformat);
- model.refreshpart("/root/hidden/list3/msgspclformat");
- }
- }
- }
- }
- // 추가된 처방이 싱글코드인 경우 수가마스터 / 그룹코드인 경우 그룹마스터에 입력된 확인코드를 자동발생시킨 경우
- if (isClspChange == true) {
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- }
- }
- // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- function fSpclGridInsertRow() {
- // 특정내역 Grid 상에서 직접 행을 추가하는 경우 : 명세서단위 특정내역만을 추가할 수 있다.
- // 줄단위 특정내역의 경우, 처방 Grid에서 'T' 컬럼을 더블클릭하여 특정내역 상세관리 Popup을 통해 입력한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "M");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", "0"); // 구분, 줄번호, 수정상태, 특정내역코드 순으로 sort 처리 하므로
- grd_clsphist.row = clsprow;
- }
- // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- function fSpclGridDeleteRow() {
- // 여러 row를 동시에 선택하고 삭제하는 기능을 부여한다.
- for ( var i = 0; i < grd_clsphist.selectedRows; i++) {
- var row = grd_clsphist.selectedrow(i);
- // var row = grd_clsphist.row;
- // 줄번호가 부여된 줄단위 특정내역이 삭제된 경우, 처방Grid의 'T' 컬럼의 "*" 를 삭제한다.
- var clodseqno = model.getValue("/root/main/list3/clsp[" + row + "]/clodseqno");
- if (clodseqno != "" && clodseqno != "0") { // 줄단위 특정내역의 경우
- var spclcd = model.getValue("/root/main/list3/clsp[" + row + "]/spclcd");
- if (spclcd == "JT001") { // 확인코드를 삭제한 경우
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod[" + j + "]/seqno");
- if (clodseqno == seqno) {
- model.resetInstanceNode("/root/main/list2/clod[" + j + "]/cnfmcd");
- j = grd_clodhist.rows;
- }
- }
- } else {
- var isSameLn = false;
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var clspclodseqno = model.getValue("/root/main/list3/clsp[" + j + "]/clodseqno");
- var spclcd = model.getValue("/root/main/list3/clsp[" + j + "]/spclcd");
- if (clspclodseqno == "") { // 입력된 줄번호가 없는 경우 제외
- } else if (clspclodseqno == "0") { // 명일련 단위는 제외
- } else if (clspclodseqno == clodseqno && j != row
- && grd_clsphist.rowstatus(j) != 4
- && spclcd != "JT001") {
- isSameLn = true; // 같은 줄번호에 여러개의 특정내역이 있는 경우임
- j = grd_clsphist.rows;
- }
- }
- if (isSameLn == false) { // 동일한 줄번호의 특정내역이 없는 경우
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod[" + j + "]/seqno");
- if (seqno == clodseqno) {
- model.resetInstanceNode("/root/main/list2/clod[" + j + "]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- j = grd_clodhist.rows;
- }
- }
- }
- }
- }
- var unitflag = model.getValue("/root/main/list3/clsp[" + row + "]/unitflag");
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp[" + row + "]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp[" + row + "]/spclspec");
- // grd_clsphist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(row) = 4; // 4 : delete 상태로 stat를 변경한다.
- model.setValue("/root/main/list3/clsp[" + row + "]/insntstat", "D");
- }
- if (unitflag == "M") { // 명세서 단위 특정내역의 경우
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- model.resetInstanceNode("/root/hidden/list3/msgspclformat");
- model.refreshpart("/root/hidden/list3/msgspclformat");
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- }
- //줄단위 특정내역을 수정/입력한다.
- function fSetLnUnitSpclSpec() { // 'T' 필드 더블클릭시 호출한다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
- var row = grd_clodhist.row;
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod[" + row + "]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod[" + row + "]/edilnno");
- // CLSP 테이블의 calcscorcd 컬럼에 CLOD 테이블의 basecd 컬럼 값 넣어주기로 변경함
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd");
- if (seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", "0");
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeNode("/root/hidden/sppiz00500/cond/spclcd");
- model.makeNode("/root/hidden/sppiz00500/cond/detldesc");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeNode("/root/hidden/sppiz00500/cond/spclformat");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeNode("/root/hidden/sppiz00500/cond/cdnm");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
- var rowcnt = 1;
- var setrow = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spcClodseqno == seqno) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/snglcalcscorcd", model.getValue("/root/main/list3/clsp[" + i + "]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/clodseqno", model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/edilnno", model.getValue("/root/main/list3/clsp[" + i + "]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclformat", model.getValue("/root/main/list3/clsp[" + i + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/cdnm", model.getValue("/root/main/list3/clsp[" + i + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/detldesc", model.getValue("/root/main/list3/clsp[" + i + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- rowcnt = rowcnt + 1;
- }
- }
- }
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp[" + setrow + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp[" + setrow + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/detldesc");
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막
- // 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldspclcd", "");
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp[" + rownum + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/detldesc", newdetldesc);
- grd_clsphist.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- // }
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "") {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spclClodseqno == seqno) {
- cnt++;
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- } else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (cnt > 0) {
- model.setValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } else {
- model.resetInstanceNode("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff= White
- }
- } // 처리 건수 if end
- // model.refresh();
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- } else {
- messageBox("줄번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); // /줄번호가 부여되지 않았으며
- // 해당 줄단위 특정내역이
- // 없습니다.
- }
- }
- // 명세서단위 특정내역을 수정/입력
- function fSetDocRefLnSpclSpec() { // 특정내역 Grid의 row 더블클릭시 호출한다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리
- // 에서 선택된 결과가
- // copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
- var row = grd_clsphist.row;
- var clodseqno = model.getValue("/root/main/list3/clsp[" + row + "]/clodseqno");
- var edilnno = model.getValue("/root/main/list3/clsp[" + row + "]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list3/clsp[" + row + "]/snglcalcscorcd");
- var unitflag = model.getValue("/root/main/list3/clsp[" + row + "]/unitflag");
- if (unitflag == "J") {
- // 삭제상태인 경우 처방Grid에서 입력,수정은 가능하지만 특정내역Grid에서는 편집할 수 없다.
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- messageBox("삭제된 특정내역은 수정할 수", "I004"); // /삭제된 특정내역은 수정할 수 없습니다.
- return;
- }
- }
- var rowcnt = 1;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spclclodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spclclodseqno == clodseqno) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/snglcalcscorcd", model.getValue("/root/main/list3/clsp[" + i + "]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/clodseqno", model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/edilnno", model.getValue("/root/main/list3/clsp[" + i + "]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclformat", model.getValue("/root/main/list3/clsp[" + i + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/cdnm", model.getValue("/root/main/list3/clsp[" + i + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/detldesc", model.getValue("/root/main/list3/clsp[" + i + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- rowcnt = rowcnt + 1;
- }
- }
- }
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", clodseqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp[" + row + "]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp[" + row + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp[" + row + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp[" + row + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", row);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp[" + row + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", unitflag);
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/detldesc");
- if (flag == "I") {
- // 특정코드 추가인 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", unitflag);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", clodseqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldspclcd", "");
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- } else if (flag == "U") {
- // 특정코드 변경인 경우
- model.setValue("/root/main/list3/clsp[" + rownum + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/detldesc", newdetldesc);
- grd_clsphist.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclspec");
- // if (oldspclcd != newspclcd || oldspclspec != newspclspec ||
- // grd_clsphist.rowstatus(row) == 4) {
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- // }
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- } else if (flag == "D" && rownum != "") {
- // 특정코드 삭제인 경우
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- if (unitflag == "M") { // 명세서 단위
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- fCheckSpclSpecData();
- } else { // 줄단위인 경우
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for (var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spclClodseqno == clodseqno) {
- cnt++;
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- } else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (cnt > 0) {
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod[" + j + "]/seqno");
- if (seqno == clodseqno) {
- model.setValue("/root/main/list2/clod[" + j + "]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- j = grd_clodhist.rows;
- }
- }
- } else {
- for (var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod[" + j + "]/seqno");
- if (seqno == clodseqno) {
- model.resetInstanceNode("/root/main/list2/clod[" + j + "]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- j = grd_clodhist.rows;
- }
- }
- }
- }
- // model.refresh();
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- fSaveClspList();
- } // 처리 건수 if end
- }
- // 확인코드 줄단위 특정내역을 수정/입력
- function fSetCnfmCdSpclSpec() {
- var row = grd_clsphist.row;
- model.removeNodeset("root/hidden/sppiz01100/rslt");
- model.setValue("/root/hidden/sppiz01100/cond/code", model.getValue("/root/main/list3/clsp[" + row + "]/spclspec"));
- modal("SPPIZ01100", "1", "10", "10", "SPPIZ01100", "/root/hidden/sppiz01100", "/root/init/sppiz01100", "", ""); // SPPIZ01100_확인코드조회
- if (instance1.selectSingleNode("root/hidden/sppiz01100/rslt")) {
- var cnfmcd = model.getValue("root/hidden/sppiz01100/rslt/code");
- var clodseqno = model.getValue("/root/main/list3/clsp[" + row + "]/clodseqno");
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var seqno = model.getValue("/root/main/list2/clod[" + j + "]/seqno");
- if (seqno == clodseqno) {
- model.setValue("/root/main/list2/clod[" + j + "]/cnfmcd", cnfmcd);
- j = grd_clodhist.rows;
- }
- }
- var rowstatus = grd_clsphist.rowstatus(row);
- if (cnfmcd) {
- model.setValue("/root/main/list3/clsp[" + row + "]/spclspec", cnfmcd);
- model.setValue("/root/hidden/list3/msgspclformat", "확인코드 - JT001 / 입력코드내역 : " + cnfmcd + " / 기재형식 : X(5)");
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를
- // 변경한다.
- }
- } else {
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp[" + row + "]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp[" + row + "]/spclspec");
- // grd_clsphist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else {
- grd_clsphist.rowstatus(row) = 4;
- model.setValue("/root/main/list3/clsp[" + row + "]/insntstat", "D");
- }
- model.setValue("/root/hidden/list3/msgspclformat",
- "입력된 확인코드 내역이 없습니다.");
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clodhist.refresh();
- grd_clsphist.refresh();
- fSaveClspList();
- }
- }
- // 처방 Grid 마우스 오른쪽 "확인코드입력" / 처방 Grid 확인코드 필드 버튼 클릭 시
- function fOrderGridInsertCnfmCd() {
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod[" + row + "]/seqno");
- if (seqno != "0") {
- model.removeNodeset("root/hidden/sppiz01100/rslt");
- model.setValue("/root/hidden/sppiz01100/cond/code", model.getValue("/root/main/list2/clod[" + row + "]/cnfmcd"));
- modal("SPPIZ01100", "1", "10", "10", "SPPIZ01100", "/root/hidden/sppiz01100", "/root/init/sppiz01100", "", ""); // SPPIZ01100_확인코드조회
- if (instance1.selectSingleNode("root/hidden/sppiz01100/rslt")) {
- var cnfmcd = model.getValue("root/hidden/sppiz01100/rslt/code");
- model.setValue("/root/main/list2/clod[" + row + "]/cnfmcd", cnfmcd);
- if (cnfmcd) {
- var isFind = false;
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp[" + j + "]/clodseqno");
- if (spcClodseqno == seqno) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + j + "]/spclcd");
- if (spclcd == "JT001") {
- model.setValue("/root/main/list3/clsp[" + j + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp[" + j + "]/spclcd", "JT001");
- model.setValue("/root/main/list3/clsp[" + j + "]/cdnm", "확인코드");
- model.setValue("/root/main/list3/clsp[" + j + "]/spclspec", cnfmcd);
- model.setValue("/root/main/list3/clsp[" + j + "]/spclformat", "X(5)");
- model.setValue("/root/main/list3/clsp[" + j + "]/detldesc", "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재");
- var rowstatus = grd_clsphist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- isFind = true;
- }
- }
- }
- if (isFind == false) { // 기존에 확인코드가 없었던 경우
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", "0");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "JT001");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "확인코드");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", cnfmcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(5)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "진료행위에 대한 추가기술 사항을 구분하는 코드로서 확인코드가 여러개 발생할 경우 '/'로 구분하여 기재");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", "0");
- grd_clsphist.row = clsprow;
- grd_clsphist.refresh();
- }
- model.setValue("/root/hidden/list3/msgspclformat", "확인코드 - JT001 / 입력코드내역 : " + cnfmcd + " / 기재형식 : X(5)");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- }
- }
- }
- }
- // 특정내역 반복
- function fRepeatSpclSpec() {
- for ( var i = 0; i < grd_clsphist.selectedRows; i++) {
- var row = grd_clsphist.selectedrow(i);
- if (row > 0) { // 특정내역 Grid 필터링 적용시 row = 0 으로 설정하여 타이틀 부분에 setValue 하게 되어 에러 발생함
- var repeat = model.getValue("/root/main/list3/clsp[" + row + "]/rowstat"); // 특정내역 반복 설정 rowstat ='R'
- var seqno = model.getValue("/root/main/list3/clsp[" + row + "]/seqno");
- // JX999 저장 보낼때는 기존처럼 seqno 없이 보내야 삭제가 정상적으로 됨
- if (repeat == "R") {
- if (seqno) { // seqno 값이 있으면 DB에 저장된 상태임
- repeat = "U";
- } else {
- repeat = "";
- }
- } else {
- repeat = "R";
- }
- model.setValue("/root/main/list3/clsp[" + row + "]/rowstat", repeat);
- var rowstatus = grd_clsphist.rowstatus(row);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(row) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
- // model.refresh();
- model.refreshpart("/root/main/list3/clsp");
- }
- // 수가코드 복사
- function fSnglGridCopyCol() {
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("snglcalcscorcd");
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
- }
- // EDI코드 복사
- function fEdiGridCopyCol() {
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("basecd");
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
- }
- // 처방명 복사
- function fHngnmGridCopyCol() {
- if (grd_clodhist.selectedRows == 1) { // 한줄
- var row = grd_clodhist.row;
- var col = grd_clodhist.colRef("hngnm");
- var clip = grd_clodhist.labelMatrix(row, col);
- window.clipBoardData = clip;
- }
- }
- //----------------------------------------
- //처방 Grid 마우스 오른쪽 "처방주석입력"
- //----------------------------------------
- function fOrderGridInsertCmt() {
- // 변경: 특정내역 상세 관리를 JX999로 설정하여 보여준다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리
- // 에서 선택된 결과가
- // copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
- var row = grd_clodhist.row;
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod[" + row + "]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod[" + row + "]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd");
- if (seqno != "" && seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
- var rowcnt = 1;
- var setrow = 0;
- for (var i = 1; i < grd_clsphist.rows; i++) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spclClodseqno == seqno) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grd_clsphist.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/snglcalcscorcd", model.getValue("/root/main/list3/clsp[" + i + "]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/clodseqno", model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/edilnno", model.getValue("/root/main/list3/clsp[" + i + "]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/spclformat", model.getValue("/root/main/list3/clsp[" + i + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/cdnm", model.getValue("/root/main/list3/clsp[" + i + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/detldesc", model.getValue("/root/main/list3/clsp[" + i + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list[" + rowcnt + "]/oldspclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt + 1;
- }
- }
- }
- if (setrow > 0) {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp[" + setrow + "]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", model.getValue("/root/main/list3/clsp[" + setrow + "]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", setrow);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp[" + setrow + "]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- } else { // 기존에 입력된 JX999가 없는 경우
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- }
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/detldesc");
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막
- // 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldspclcd", "");
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp[" + rownum + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp[" + rownum + "]/detldesc", newdetldesc);
- // model.refresh();
- grd_clsphist.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[" + i + "]/oldspclspec");
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: " + newspclcd + " / 특정내역명칭: " + newcdnm + " / 기재내역: " + newspclspec + " / 기재형식: " + newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "") {
- // 특정내역 Grid에서 삭제
- var rowstatus = grd_clsphist.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 :
- // insert & new
- grd_clsphist.deleteRow(rownum, false); // 해당 라인을 Grid에서
- // 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(rownum) = 4; // 4 : delete 상태로
- // stat를 변경한다.
- }
- grd_clsphist.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- var cnt = 0;
- var jx999cnt = 0;
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spclLnNo = model.getValue("/root/main/list3/clsp[" + i + "]/edilnno");
- if (spclLnNo == edilnno) {
- cnt++;
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd == "JX999") { // JX999인 경우
- jx999cnt++;
- } else if (spclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- nonjx999cnt++;
- }
- }
- }
- }
- if (cnt > 0) {
- model.setValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn", "*");
- if (jx999cnt > 0) {
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else {
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } else {
- model.resetInstanceNode("/root/main/list2/clod[" + row + "]/lnunitspclspecyn");
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#ffffff"; // #ffffff = White
- }
- } // 처리 건수 if end
- // model.refresh();
- model.refreshpart("/root/hidden/list3/msgspclformat");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- fSaveClspList();
- } else {
- messageBox("줄번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); // /줄번호가 부여되지 않았으며
- // 해당 줄단위 특정내역이
- // 없습니다.
- }
- }
- function fOrderGridInsertAllCmt() {
- // 기존: 처방 항에 따라 심사Comment 조회 연결
- // 변경: 특정내역 상세 관리를 JX999로 설정하여 보여준다.
- model.removeNodeset("/root/hidden/sppiz00500/rslt"); // SPPIZ00500_특정내역상세관리 에서 선택된 결과가 copyNode되는 경로임
- model.removeNodeset("/root/hidden/sppiz00500/cond");
-
- var grid_obj = document.controls.item("grd_clodhist");
- var grid_obj_clsp = document.controls.item("grd_clsphist");
-
- for (var k=0; k < grid_obj.selectedRows; k++ ) {
- var row = grid_obj.selectedRow(k);
- var seqno = grid_obj.valueMatrix(row, grid_obj.colref("seqno"));
- var edilnno = grid_obj.valueMatrix(row, grid_obj.colref("edilnno"));
-
- if (seqno != "" && seqno != "0") {
- } else {
- messageBox("줄번호가 부여되지 않았으며 해당 줄단위 특정내역이", "I004"); ///줄번호가 부여되지 않았으며 해당 줄단위 특정내역이 없습니다.
- return;
- }
- }
-
- var rowcnt = 1;
- var setrow = 0;
-
- for (var k=0; k < grid_obj.selectedRows; k++ ) {
- var row = grid_obj.selectedRow(k);
- // 처방 Grid에서 줄번호가 부여된 경우
- var seqno = model.getValue("/root/main/list2/clod["+ row +"]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod["+ row +"]/edilnno");
- var snglcalcscorcd = model.getValue("/root/main/list2/clod["+ row +"]/snglcalcscorcd");
-
- //if (seqno != "" && seqno != "0") {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod["+ row +"]/lnunitspclspecyn");
- if (lnunitspclspecyn == "") {
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.makeNode("/root/hidden/sppiz00500/cond/spclspec");
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeNode("/root/hidden/sppiz00500/cond/rownum");
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", "J");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "I");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", seqno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", edilnno);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", "JX999");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", "");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", "기타내역");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
-
- rowcnt = rowcnt+1;
-
- } else { // 기존에 입력된 줄단위 특정내역이 있는 경우
-
- for (var i = 1; i < grid_obj_clsp.rows; i++) {
- var spcClodseqno = model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno");
- var spcClsoyn = model.getValue("/root/main/list3/clsp["+ i +"]/clsoyn"); //원외특정여부
- if (spcClodseqno == seqno && spcClsoyn == "N") {
- var spclcd = model.getValue("/root/main/list3/clsp["+ i +"]/spclcd");
- if (spclcd != "" && spclcd != "JT001" && grid_obj_clsp.rowstatus(i) != 4) { // 확인코드가 아닌 경우
- model.makeValue("/root/hidden/sppiz00500/cond/flag", "U");
- model.makeValue("/root/hidden/sppiz00500/cond/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/spclformat", "X(700)");
- model.makeValue("/root/hidden/sppiz00500/cond/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/unitflag", model.getValue("/root/main/list3/clsp["+ i +"]/unitflag"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/flag", "U");
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/rownum", i);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/snglcalcscorcd", model.getValue("/root/main/list3/clsp["+ i +"]/snglcalcscorcd"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/clodseqno", model.getValue("/root/main/list3/clsp["+ i +"]/clodseqno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/edilnno", model.getValue("/root/main/list3/clsp["+ i +"]/edilnno"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/spclformat", model.getValue("/root/main/list3/clsp["+ i +"]/spclformat"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/cdnm", model.getValue("/root/main/list3/clsp["+ i +"]/cdnm"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/detldesc", model.getValue("/root/main/list3/clsp["+ i +"]/detldesc"));
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclcd", spclcd);
- model.makeValue("/root/hidden/sppiz00500/cond/list["+ rowcnt +"]/oldspclspec", model.getValue("/root/main/list3/clsp["+ i +"]/spclspec"));
- // 특정내역 상세 화면에 보여줄 특정내역 선택
- if (spclcd == "JX999") {
- setrow = i; // 줄단위의 경우 가장 마지막 row로 설정한다.
- }
- rowcnt = rowcnt+1;
- }
- }
- }
-
- }
- }
- modal("SPPIZ00500", "1", "10", "10", "SPPIZ00500", "/root/hidden/sppiz00500", "/root/hidden/clsp", "", ""); // SPPIZ00500_특정내역상세관리.xrw
- var rsltcnt = getNodesetCount("/root/hidden/sppiz00500/rslt/list");
- // 처리 건수
- if (rsltcnt > 0) {
- for (var i = rsltcnt; i > 0; i--) {
- var flag = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/flag");
- var rownum = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/rownum");
- var newspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclcd");
- var newcdnm = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/cdnm");
- var newspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list[last()]/spclspec");
- var newspclformat = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/spclformat ");
- var newdetldesc = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/detldesc");
- var newclodseqno = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/clodseqno");
- var newsnglcalcscorcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/snglcalcscorcd");
- var newedilnno = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/edilnno");
-
- // 특정코드 추가인 경우
- if (flag == "I") {
- var clsprow = grid_obj_clsp.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grid_obj_clsp.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/unitflag", "J");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clodseqno", newclodseqno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/edilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/snglcalcscorcd", newsnglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/detldesc", newdetldesc);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldedilnno", newedilnno);
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/oldspclcd", "");
- model.setValue("/root/main/list3/clsp["+ clsprow +"]/clsoyn", "N"); //원외처방여부
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
-
- model.setValue("/root/main/list2/clod[seqno="+ newclodseqno +"]/lnunitspclspecyn", "*");
- var srow = grid_obj.findRow(newclodseqno, grid_obj.fixedrows, grid_obj.colRef("seqno"), false, true);
- if (newspclcd == "JX999") { // JX999인 경우
- grid_obj.cellStyle("background-color", srow, grid_obj.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- }
- else if (newspclcd != "JT001") { // JX999도, 확인코드도 아닌 경우
- grid_obj.cellStyle("background-color", srow, grid_obj.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
-
- // 특정코드 변경인 경우
- } else if (flag == "U") {
- model.setValue("/root/main/list3/clsp["+ rownum +"]/snglcalcscorcd", newsnglcalcscorcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclcd", newspclcd);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/cdnm", newcdnm);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/spclformat", newspclformat);
- model.setValue("/root/main/list3/clsp["+ rownum +"]/detldesc", newdetldesc);
- //model.refresh();
- grid_obj_clsp.refresh();
- // 특정코드, 특정내역이 변경되었거나 삭제된 특정코드를 조회하여 "확인"을 선택한 경우
- var oldspclcd = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclcd");
- var oldspclspec = model.getValue("/root/hidden/sppiz00500/rslt/list["+ i +"]/oldspclspec");
- var rowstatus = grid_obj_clsp.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grid_obj_clsp.rowstatus(rownum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- model.setValue("/root/hidden/list3/msgspclformat", "코드: "+ newspclcd +" / 명칭: "+ newcdnm +" / 내역: "+ newspclspec +" / 형식: "+ newspclformat);
- // 특정코드 삭제인 경우
- } else if (flag == "D" && rownum != "" ) {
- // 특정내역 Grid에서 삭제
- var rowstatus = grid_obj_clsp.rowstatus(rownum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- grid_obj_clsp.deleteRow(rownum, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grid_obj_clsp.rowstatus(rownum) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- grid_obj_clsp.row = rownum;
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 줄단위 특정내역이 없습니다.");
- } // 특정 코드 상태 따른 if end
- } // for end
- } // 처리 건수 if end
-
- //model.refresh();
- model.refreshpart("/root/hidden/list3/msgspclformat");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grid_obj_clsp.refresh();
- grid_obj.refresh();
- fSaveClspList();
- // } else {
- //
- // }
- }
- function fSetClodCellStyle(objnm,srchnm,colno,caseSense,fullMatch) {
- var obj = document.controls.item(objnm);
-
- if (caseSense == null || caseSense == "") {caseSense = false;}
- if (fullMatch == null || fullMatch == "") {caseSense = false;}
-
- var rowno = obj.findRow(srchnm, obj.fixedrows, colno, caseSense, fullMatch);
- while( rowno > 0){
- alert(rowno);
- rowno = obj.findRow(srchnm, rowno + 1, colno, caseSense, fullMatch) ;
- }
- }
- // SPPIZ00700_심사Comment조회.xrw 호출 - 처방주석의 경우 처방항목의 항을 전달한다.
- function fGetOrderComment(memoflag, memocls, ediitem1) {
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- model.setValue("/root/hidden/sppiz00700/cond/ediitem1", ediitem1);
- modal("SPPIZ00700", "1", "10", "10", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", ""); // SPPIZ00700_심사Comment조회.xrw
- }
- // SPPIZ00700_심사Comment조회.xrw 호출
- function fGetJudgEdiComment(memoflag, memocls) {
- model.resetInstanceNode("/root/hidden/sppiz00700/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00700/cond");
- model.setValue("/root/hidden/sppiz00700/cond/memoflag", memoflag);
- model.setValue("/root/hidden/sppiz00700/cond/memocls", memocls);
- modal("SPPIZ00700", "1", "10", "10", "SPPIZ00700", "/root/hidden/sppiz00700", "/root/send/sppiz00700", "", ""); // SPPIZ00700_심사Comment조회.xrw
- }
- // 심사Comment 조회 Popup에서 선택한 줄단위메모를 설정한다.
- // SPPIZ00700_심사Comment조회.xrw 에서 opener.javascript.fSetLnUnitMemoRefresh(); 형태로
- // 호출한다.
- function fSetLnUnitMemoRefresh() {
- var row = grd_clodhist.row;
- var seqno = model.getValue("/root/main/list2/clod[" + row + "]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod[" + row + "]/edilnno");
- var workflag = 1;
- var clspgridrow;
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + j
- + "]/clodseqno");
- if (spclClodseqno == seqno) {
- var oldspclcd = model.getValue("/root/main/list3/clsp[" + j
- + "]/spclcd");
- if (oldspclcd == "JX999") {
- // 기존 "JX999"를 수정한다.
- workflag = 2;
- clspgridrow = j; // 특정내역 Grid의 해당 row를 기억한다.
- j = grd_clsphist.rows;
- }
- }
- }
- var newspclspec = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- if (newspclspec) {
- var nonjx999cnt = 0; // JX999가 아닌 특정내역코드의 수
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- if (grd_clsphist.rowstatus(i) != 4) {
- var spclClodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- if (spclClodseqno == seqno) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd != "JX999" && spclcd != "JT001") { // JX999도,확인코드도 아닌 경우
- nonjx999cnt++;
- i = grd_clsphist.rows; // JX999 외의 다른 특정내역코드가 존재하는지 여부만 체크하면 되므로
- }
- }
- }
- }
- if (nonjx999cnt == 0) { // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- } else { // JX999 + 다른 코드도 있는 경우
- grd_clodhist.cellStyle("background-color", row, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- model.setValue("/root/main/list2/clod[" + row + "]/lnunitspclspecyn",
- "*");
- if (workflag == 1) { // 추가
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- grd_clsphist.row = clsprow;
- } else { // 수정
- // 기존 변경된 경우
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd"));
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/spclspec", newspclspec);
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp[" + clspgridrow + "]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- var rowstatus = grd_clsphist.rowstatus(clspgridrow);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert &
- // new
- } else {
- grd_clsphist.rowstatus(clspgridrow) = 2; // 2 : update 상태로
- // stat를 변경한다.
- }
- grd_clsphist.row = clspgridrow;
- }
- model.setValue("/root/hidden/list3/msgspclformat", "특정내역코드: JX999 / 특정내역명칭: 기타내역 / 기재내역 : " + newspclspec + " / 기재형식 : X(700)");
- } else {
- model.setValue("/root/hidden/list3/msgspclformat", "입력된 처방주석(줄단위 기타특정내역)이 없습니다.");
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- // model.refresh();
- model.refreshpart("/root/hidden/list3/msgspclformat");
- grd_clsphist.refresh();
- grd_clcohist.refresh();
- }
- // 결과조회
- function fOrderRsltSrch() {
- if (grp_dropdownmenu.visible == true) {
- grp_dropdownmenu.visible = false;
- }
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있으면
- var trgtManWindow = getChildWindow("SMAER00800"); // SMAER00800_결과조회
- if (trgtManWindow != null) {
- trgtManWindow.close();
- }
- // ast/examcureweb/xrw/SMAER00800_결과조회.xrw
- model.makeValue("/root/hidden/smaer00800/cond/srchdate1", model.getValue("/root/main/item1/clbs/indd"));
- model.makeValue("/root/hidden/smaer00800/cond/srchdate2", getCurrentDate()); // (dateHelper.js)현재날짜 반환
- model.makeValue("/root/hidden/smaer00800/cond/srchpid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/hidden/smaer00800/cond/wardcd", ""); // model.getValue("/root/main/item1/iteminfo/wardcd"));
- model.makeValue("/root/hidden/smaer00800/cond/roomcd", ""); // model.getValue("/root/main/item1/iteminfo/roomcd"));
- model.makeValue("/root/hidden/smaer00800/cond/listflag", "P");
- model.makeValue("/root/hidden/smaer00800/cond/deptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeNode("/root/hidden/smaer00800/cond/drid");
- model.makeNode("/root/hidden/smaer00800/cond/chkcheck");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck1", "A");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck2", "B");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck3", "C");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck4", "D");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck5", "E");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck6", "F");
- model.makeValue("/root/hidden/smaer00800/cond/chkcheck7", "G");
- model.makeNode("/root/hidden/smaer00800/cond/chkcheck8");
- model.makeNode("/root/hidden/smaer00800/cond/tabflag");
- model.makeNode("/root/hidden/smaer00800/cond/mdlcd");
- model.makeNode("/root/hidden/smaer00800/cond/examgubun");
- model.makevalue("/root/hidden/smaer00800/cond/srchflag", "B");
- model.makeNode("/root/hidden/smaer00800/cond/hlaflag"); // 20100604 추가됨
- model.makeNode("/root/hidden/smaer00800/cond/prntfrmflag"); // 20100723 추가됨
- // modal("SMAER00800", "1", "10", "10", "SMAER00800",
- // "/root/hidden/smaer00800/cond", "/root/send/data/singdata", "", "");
- // // SMAER00800_결과조회
- open("SMAER00800", "1", "10", "10", "SMAER00800", "/root/hidden/smaer00800/cond", "/root/send/data/singdata", "", ""); // SMAER00800_결과조회
- }
- }
- // 보험인정기준
- function fOrderInsuRcogBase(isAll) {
- var calcscorcd = grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd"));
- model.setValue("root/hidden/sppiz01600/cond/calcscorcd", calcscorcd);
- // SPPIZ01600_보험인정기준조회 팝업 연결 (선택된 row의 처방코드를 넘겨준다.)
- modal("SPPIZ01600", 1,150, 150, "SPPIZ01600", "/root/hidden/sppiz01600/cond/calcscorcd", "/root/send/item3/calcscorcd", "", "");
- }
- // 수가조회
- function fOrderCalcScorSrch(isAll) {
- // 수가조회창이 아닌 수가관리창으로 교체 (calcscorcd : 수가코드, judgflag : 수가관리에서 자보,일반,국제를
- // 보여주도록 하기 위함)
- model.removeNodeset("/root/hidden/smpic00100/cond");
- model.makeValue("/root/hidden/smpic00100/cond/calcscorcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd")));
- model.makeValue("/root/hidden/smpic00100/cond/judgflag", "Y");
- modal("SMPIC00100", "1", "10", "10", "SMPIC00100", "/root/hidden/smpic00100/cond", "/root/temp/item6", "", "");
- }
- // 약품편람
- function fOrderDrugHBook() {
- model.removeNodeset("/root/hidden/smadb01900/cond");
- model.makeValue("/root/hidden/smadb01900/cond/calcscorcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("snglcalcscorcd")));
- modal("SMADB01900", 1, 150, 150, "SMADB01900", "/root/hidden/smadb01900/cond/calcscorcd", "/root/hidden/receivedata/srchdrugcd", "", "");
- }
- // 상세계산내역 Popup 호출
- function fOrderCalcDetail(isAll) {
- model.resetInstanceNode("/root/hidden/sppid21600/cond");
- model.setValue("/root/hidden/sppij00400/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppij00400/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppij00400/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppij00400/cond/mskind", model.getValue("/root/main/item1/clbs/mskind"));
- model.setValue("/root/hidden/sppij00400/cond/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.setValue("/root/hidden/sppij00400/cond/insukindnm", model.getValue("/root/main/item1/clbs/insukindnm"));
- model.setValue("/root/hidden/sppij00400/cond/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.setValue("/root/hidden/sppij00400/cond/suppkindnm", model.getValue("/root/main/item1/clbs/suppkindnm"));
- model.setValue("/root/hidden/sppij00400/cond/ownbrate", model.getValue("/root/main/item1/clbs/payownbrate"));
- model.setValue("/root/hidden/sppij00400/cond/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtodd", model.getValue("/root/main/item1/clbs/ordtodd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtype", model.getValue("/root/main/item1/clbs/stsioflag"));
- model.setValue("/root/hidden/sppij00400/cond/brateflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.setValue("/root/hidden/sppij00400/cond/insufromdd", model.getValue("/root/main/item1/clbs/iphsfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/insutodd", model.getValue("/root/main/item1/clbs/iphstodd"));
- model.setValue("/root/hidden/sppij00400/cond/selectedRdoItem", "");
- model.setValue("/root/hidden/sppij00400/cond/srchflag", "ALL"); // 전체기준검색일때는 "ALL"
- model.setValue("/root/hidden/sppij00400/cond/selyn", "Y"); // 조회만할경우 "Y"
- model.setValue("/root/hidden/sppij00400/cond/cpyn", model
- .getValue("/root/main/item1/clbs/cpyn")); // CP여부
- model.setValue("/root/hidden/sppij00400/cond/ediflag", "N"); // EDI조회여부 - 20090810 박창원
- model.setValue("/root/hidden/sppij00400/cond/edicd", "-"); // EDI코드 - 20090810 박창원
- if (isAll == "" || isAll != true) { // 처방Grid 더블클릭 시 해당코드를 호출한다.
- if (model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd")) {
- model.setValue("/root/hidden/sppij00400/cond/grupsnglflag", "G");
- model.setValue("/root/hidden/sppij00400/cond/calcscorcd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd"));
- } else {
- model.setValue("/root/hidden/sppij00400/cond/grupsnglflag", "S");
- model.setValue("/root/hidden/sppij00400/cond/calcscorcd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/snglcalcscorcd"));
- }
- model.setValue("/root/hidden/sppij00400/cond/ordfromdd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/ordfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtodd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/ordtodd"));
- model.setValue("/root/hidden/sppij00400/cond/srchflag", "");
- }
- // modal("SPPIJ00400", "1", "10", "10", "SPPIJ00400",
- // "/root/hidden/sppij00400/cond", "", "", ""); // SPPIJ00400_입원세부계산내역.xrw
- modal("SPPIJ00400", "", "10", "10", "SPPIJ00400", "/root/hidden/sppij00400/cond");
- // }
- }
- // 상세계산내역 Popup 호출
- function fOrderCalcDetailEDI(isAll) {
- model.resetInstanceNode("/root/hidden/sppid21600/cond");
- model.setValue("/root/hidden/sppij00400/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppij00400/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppij00400/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppij00400/cond/mskind", model.getValue("/root/main/item1/clbs/mskind"));
- model.setValue("/root/hidden/sppij00400/cond/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.setValue("/root/hidden/sppij00400/cond/insukindnm", model.getValue("/root/main/item1/clbs/insukindnm"));
- model.setValue("/root/hidden/sppij00400/cond/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.setValue("/root/hidden/sppij00400/cond/suppkindnm", model.getValue("/root/main/item1/clbs/suppkindnm"));
- model.setValue("/root/hidden/sppij00400/cond/ownbrate", model.getValue("/root/main/item1/clbs/payownbrate"));
- model.setValue("/root/hidden/sppij00400/cond/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtodd", model.getValue("/root/main/item1/clbs/ordtodd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtype", model.getValue("/root/main/item1/clbs/stsioflag"));
- model.setValue("/root/hidden/sppij00400/cond/brateflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.setValue("/root/hidden/sppij00400/cond/insufromdd", model.getValue("/root/main/item1/clbs/iphsfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/insutodd", model.getValue("/root/main/item1/clbs/iphstodd"));
- model.setValue("/root/hidden/sppij00400/cond/selectedRdoItem", "");
- model.setValue("/root/hidden/sppij00400/cond/srchflag", "G"); // 전체기준검색일때는// "ALL"
- model.setValue("/root/hidden/sppij00400/cond/selyn", "Y"); // 조회만할경우 "Y"
- model.setValue("/root/hidden/sppij00400/cond/cpyn", model.getValue("/root/main/item1/clbs/cpyn")); // CP여부
- model.setValue("/root/hidden/sppij00400/cond/ediflag", "Y"); // EDI조회여부 - 20090810 박창원
- model.setValue("/root/hidden/sppij00400/cond/edicd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/basecd")); // EDI코드 - 20090810 박창원
- if (isAll == "" || isAll != true) { // 처방Grid 더블클릭 시 해당코드를 호출한다.
- if (model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd")) {
- model.setValue("/root/hidden/sppij00400/cond/grupsnglflag", "G");
- model.setValue("/root/hidden/sppij00400/cond/calcscorcd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd"));
- } else {
- model.setValue("/root/hidden/sppij00400/cond/grupsnglflag", "S");
- model.setValue("/root/hidden/sppij00400/cond/calcscorcd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/snglcalcscorcd"));
- }
- model.setValue("/root/hidden/sppij00400/cond/ordfromdd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/ordfromdd"));
- model.setValue("/root/hidden/sppij00400/cond/ordtodd", model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/ordtodd"));
- model.setValue("/root/hidden/sppij00400/cond/srchflag", "");
- }
- modal("SPPIJ00400", "1", "10", "10", "SPPIJ00400","/root/hidden/sppij00400/cond", "", "", ""); // SPPIJ00400_입원세부계산내역.xrw
- // }
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- function fOrderBkColorNew(clodrow) {
- grd_clodhist.cellStyle("background-color", clodrow, grd_clodhist.colRef("rowstat")) = "#ffff9c"; // 신규처방 노란배경 // ffff9c=연한노랑
- }
- // 처방 Grid 배경색을 설정한다. - 심사사유 있는 row
- function fOrderBkColorResn(i) {
- // grd_clodhist.cellStyle("background-color", i,
- // grd_clodhist.colRef("rowstat")) = "#cece9c"; // 심사사유 있는 경우 녹색배경 cece9c=카키색
- grd_clodhist.cellStyle("background-color", i, grd_clodhist
- .colRef("rowstat")) = "#ffff9c"; // 심사사유 있는 경우 노란배경 //
- // ffff9c=연한노랑
- }
- // 처방 Grid 배경색을 설정한다. - 배경색 없는 row
- function fOrderBkColorNone(i) {
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("rowstat")) = "#ffffff"; // 배경색 없음 // #ffffff = White
- }
- // /////////////////////////////////////////////////////////////////////////
- // 처방 data 및 row status를 변경 이전 상태로 복구한다.
- function fCancelClodStatusChng() {
- var row = grd_clodhist.row;
- model.setValue("/root/main/list2/clod[" + row + "]/adjtresncd", model.getValue("/root/hidden/item5/clod/adjtresncd"));
- model.setValue("/root/main/list2/clod[" + row + "]/ordfromdd", model.getValue("/root/hidden/item5/clod/ordfromdd"));
- model.setValue("/root/main/list2/clod[" + row + "]/ordtodd", model.getValue("/root/hidden/item5/clod/ordtodd"));
- model.setValue("/root/main/list2/clod[" + row + "]/orddd", model.getValue("/root/hidden/item5/clod/orddd"));
- model.setValue("/root/main/list2/clod[" + row + "]/updtdd", model.getValue("/root/hidden/item5/clod/updtdd"));
- model.setValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd", model.getValue("/root/hidden/item5/clod/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd", model.getValue("/root/hidden/item5/clod/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/basecd", model.getValue("/root/hidden/item5/clod/basecd"));
- model.setValue("/root/main/list2/clod[" + row + "]/hngnm", model.getValue("/root/hidden/item5/clod/hngnm"));
- model.setValue("/root/main/list2/clod[" + row + "]/drugqty", model.getValue("/root/hidden/item5/clod/drugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/tims", model.getValue("/root/hidden/item5/clod/tims"));
- model.setValue("/root/main/list2/clod[" + row + "]/dayno", model.getValue("/root/hidden/item5/clod/dayno"));
- model.setValue("/root/main/list2/clod[" + row + "]/edidrugqty", model.getValue("/root/hidden/item5/clod/edidrugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/edidayno", model.getValue("/root/hidden/item5/clod/edidayno"));
- model.setValue("/root/main/list2/clod[" + row + "]/unitcost", model.getValue("/root/hidden/item5/clod/unitcost"));
- grd_clodhist.rowstatus(grd_clodhist.row) = parseInt(model.getValue("/root/hidden/item5/clod/rowstatus"));
- }
- // 변경일자를 갱신한다.
- function fChkUpdtdd() {
- var clbsfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- var clbstodd = model.getValue("/root/main/item1/clbs/ordtodd");
- if (isValidDateTime(clbsfromdd) && isValidDateTime(clbstodd)) { // (dateHelper.js)
- // 유효한 날짜,
- // 시간 인지 점검
- for ( var i = 1; i < grd_clodhist.rows; i++) {
- var mechfromdd = model.getValue("/root/main/list2/clod[" + i
- + "]/mechfromdd");
- if (isValidDateTime(mechfromdd)) { // (dateHelper.js) 유효한 날짜, 시간 인지
- // 점검
- // 수가시작일자가 CLBS 진료시작일자~진료종료일자 사이인 경우 (수가가 변경된 경우)
- if (mechfromdd >= clbsfromdd && mechfromdd <= clbstodd) {
- // 수가코드, 수가시작일자가 같은 경우 최초진료일자를 비교한다.
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- var ordfromdd = model.getValue("/root/main/list2/clod[" + i + "]/ordfromdd");
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var m_fromdd = model.getValue("/root/main/list2/clod[" + j + "]/mechfromdd");
- var calcscorcd = model.getValue("/root/main/list2/clod[" + j + "]/snglcalcscorcd");
- if (snglcalcscorcd == calcscorcd && mechfromdd == m_fromdd) {
- var o_fromdd = model.getValue("/root/main/list2/clod[" + j + "]/ordfromdd");
- if (ordfromdd > o_fromdd) {
- ordfromdd = o_fromdd;
- }
- }
- }
- // 최초진료일자를 변경일자로 설정한다.
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var m_fromdd = model.getValue("/root/main/list2/clod[" + j + "]/mechfromdd");
- var calcscorcd = model.getValue("/root/main/list2/clod[" + j + "]/snglcalcscorcd");
- var clodordfromdd = model.getValue("/root/main/list2/clod[" + j + "]/ordfromdd");
- if (snglcalcscorcd == calcscorcd && mechfromdd == m_fromdd) {
- var updtdd = model.getValue("/root/main/list2/clod[" + j + "]/updtdd");
- if (updtdd != ordfromdd) {
- model.setValue("/root/main/list2/clod[" + j + "]/updtdd", clodordfromdd);
- grd_clodhist.cellStyle("background-color", j, grd_clodhist.colRef("updtdd")) = "#c8e67b"; // class="color_9" 형광녹색
- // 처방의 수정된 row 상태를 표시한다.
- // fSetOrderChangeRowStat(i);
- var rowstatus = grd_clodhist.rowstatus(j);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clodhist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
- }
- } // if (mechfromdd >= clbsfromdd && mechfromdd <= clbstodd)
- } // if (isValidDateTime(mechfromdd))
- } // for (var i = 1; i < grd_clodhist.rows; i++)
- } // if (isValidDateTime(clbsfromdd) && isValidDateTime(clbstodd))
- }
- // 조회한 수가코드의 금액정보를 표시한다.
- function fSetCalcScorAmt(clod, mode) {
- for ( var i = 1; i <= clod.length; i++) { // 싱글 수가코드 개수 만큼
- var row = grd_clodhist.row;
- if (mode == "new") {
- model.setValue("/root/main/list2/clod[" + row + "]/grupsnglflag", model.getValue("/root/main/item5/mech[" + i + "]/grupsnglflag")); // 그룹싱글구분
- model.setValue("/root/main/list2/clod[" + row + "]/grupseqno", model.getValue("/root/main/item5/mech[" + i + "]/grupseqno")); // 그룹 정렬순번
- model.setValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd", model.getValue("/root/main/item5/mech[" + i + "]/grupcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd", model.getValue("/root/main/item5/mech[" + i + "]/snglcalcscorcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/orddeptcd", model.getValue("/root/main/item5/mech[" + i + "]/orddeptcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/orddrid", model.getValue("/root/main/item5/mech[" + i + "]/orddrid"));
- model.setValue("/root/main/list2/clod[" + row + "]/matractflag", model.getValue("/root/main/item5/mech[" + i + "]/matractflag"));
- model.setValue("/root/main/list2/clod[" + row + "]/item", model.getValue("/root/main/item5/mech[" + i + "]/item"));
- model.setValue("/root/main/list2/clod[" + row + "]/payflag", model.getValue("/root/main/item5/mech[" + i + "]/payflag"));
- model.setValue("/root/main/list2/clod[" + row + "]/pynpy1", model.getValue("/root/main/item5/mech[" + i + "]/pynpy1"));
- model.setValue("/root/main/list2/clod[" + row + "]/earncls1", model.getValue("/root/main/item5/mech[" + i + "]/earncls1"));
- model.setValue("/root/main/list2/clod[" + row + "]/earncls2", model.getValue("/root/main/item5/mech[" + i + "]/earncls2"));
- model.setValue("/root/main/list2/clod[" + row + "]/earncls3", model.getValue("/root/main/item5/mech[" + i + "]/earncls3"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediitem1", model.getValue("/root/main/item5/mech[" + i + "]/ediitem1"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediitem2", model.getValue("/root/main/item5/mech[" + i + "]/ediitem2"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediitem", model.getValue("/root/main/item5/mech[" + i + "]/ediitem"));
- model.setValue("/root/main/list2/clod[" + row + "]/cnfmcd", model.getValue("/root/main/item5/mech[" + i + "]/cnfmcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/orddd", model.getValue("/root/main/item5/mech[" + i + "]/orddd"));
- model.setValue("/root/main/list2/clod[" + row + "]/calcappyn", model.getValue("/root/main/item5/mech[" + i + "]/calcappyn"));
- // 신규입력된 처방은 edilnno는 0, seqno는 최종번호를 셋팅하고 maxseqno에 최종값을 +1한다.
- model.setValue("/root/main/list2/clod[" + row + "]/edilnno", "0");
- model.setValue("/root/main/list2/clod[" + row + "]/seqno", model.getValue("/root/main/item1/clbs/maxseqno"));
- model.setValue("/root/main/item1/clbs/maxseqno", parseInt(model.getValue("/root/main/item1/clbs/maxseqno")) + 1);
- }
- model.setValue("/root/main/list2/clod[" + row + "]/mechfromdd", model.getValue("/root/main/item5/mech[" + i + "]/mechfromdd"));
- model.setValue("/root/main/list2/clod[" + row + "]/mechtodd", model.getValue("/root/main/item5/mech[" + i + "]/mechtodd"));
- model.setValue("/root/main/list2/clod[" + row + "]/unitcost", model.getValue("/root/main/item5/mech[" + i + "]/unitcost"));
- model.setValue("/root/main/list2/clod[" + row + "]/drugqty", model.getValue("/root/main/item5/mech[" + i + "]/drugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/tims", model.getValue("/root/main/item5/mech[" + i + "]/tims"));
- model.setValue("/root/main/list2/clod[" + row + "]/daydrugqty", model.getValue("/root/main/item5/mech[" + i + "]/daydrugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/dayno", model.getValue("/root/main/item5/mech[" + i + "]/dayno"));
- model.setValue("/root/main/list2/clod[" + row + "]/totdrugqty", model.getValue("/root/main/item5/mech[" + i + "]/totdrugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/amt", model.getValue("/root/main/item5/mech[" + i + "]/amt"));
- model.setValue("/root/main/list2/clod[" + row + "]/basecd", model.getValue("/root/main/item5/mech[" + i + "]/basecd"));
- model.setValue("/root/main/list2/clod[" + row + "]/baserlapnt", model.getValue("/root/main/item5/mech[" + i + "]/baserlapnt"));
- model.setValue("/root/main/list2/clod[" + row + "]/baseaddrlapnt", model.getValue("/root/main/item5/mech[" + i + "]/baseaddrlapnt"));
- model.setValue("/root/main/list2/clod[" + row + "]/estmcls", model.getValue("/root/main/item5/mech[" + i + "]/estmcls"));
- model.setValue("/root/main/list2/clod[" + row + "]/estmmncd", model.getValue("/root/main/item5/mech[" + i + "]/estmmncd"));
- model.setValue("/root/main/list2/clod[" + row + "]/pntunitcost", model.getValue("/root/main/item5/mech[" + i + "]/pntunitcost"));
- model.setValue("/root/main/list2/clod[" + row + "]/hosinresncd", model.getValue("/root/main/item5/mech[" + i + "]/hosinresncd"));
- model.setValue("/root/main/list2/clod[" + row + "]/ordfromdd", model.getValue("/root/main/item5/mech[" + i + "]/ordfromdd"));
- model.setValue("/root/main/list2/clod[" + row + "]/ordtodd", model.getValue("/root/main/item5/mech[" + i + "]/ordtodd"));
- model.setValue("/root/main/list2/clod[" + row + "]/edicdflag", model.getValue("/root/main/item5/mech[" + i + "]/edicdflag"));
- model.setValue("/root/main/list2/clod[" + row + "]/edicd", model.getValue("/root/main/item5/mech[" + i + "]/edicd"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediunitcost", model.getValue("/root/main/item5/mech[" + i + "]/ediunitcost"));
- model.setValue("/root/main/list2/clod[" + row + "]/edidrugqty", model.getValue("/root/main/item5/mech[" + i + "]/edidrugqty"));
- model.setValue("/root/main/list2/clod[" + row + "]/edidayno", model.getValue("/root/main/item5/mech[" + i + "]/edidayno"));
- model.setValue("/root/main/list2/clod[" + row + "]/rcptunitcost", model.getValue("/root/main/item5/mech[" + i + "]/rcptunitcost"));
- model.setValue("/root/main/list2/clod[" + row + "]/prcpflag", model.getValue("/root/main/item5/mech[" + i + "]/prcpflag"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediamt", model.getValue("/root/main/item5/mech[" + i + "]/ediamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/rcptcalcamt", model.getValue("/root/main/item5/mech[" + i + "]/rcptcalcamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/estmcd", model.getValue("/root/main/item5/mech[" + i + "]/estmcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/hngnm", model.getValue("/root/main/item5/mech[" + i + "]/hngnm"));
- model.setValue("/root/main/list2/clod[" + row + "]/edihospaddamt", model.getValue("/root/main/item5/mech[" + i + "]/edihospaddamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediaddamt", model.getValue("/root/main/item5/mech[" + i + "]/ediaddamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/paytotamt", model.getValue("/root/main/item5/mech[" + i + "]/paytotamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/ownbamt", model.getValue("/root/main/item5/mech[" + i + "]/ownbamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/clamamt", model.getValue("/root/main/item5/mech[" + i + "]/clamamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/choiordamt", model.getValue("/root/main/item5/mech[" + i + "]/choiordamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/edihospaddtotamt", model.getValue("/root/main/item5/mech[" + i + "]/edihospaddtotamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/ediaddtotamt", model.getValue("/root/main/item5/mech[" + i + "]/ediaddtotamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/choiordtotamt", model.getValue("/root/main/item5/mech[" + i + "]/choiordtotamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/totordamt", model.getValue("/root/main/item5/mech[" + i + "]/totordamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/ownbtotamt", model.getValue("/root/main/item5/mech[" + i + "]/ownbtotamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/ordnm", model.getValue("/root/main/item5/mech[" + i + "]/ordnm"));
- model.setValue("/root/main/list2/clod[" + row + "]/estmcdnm", model.getValue("/root/main/item5/mech[" + i + "]/estmcdnm"));
- model.setValue("/root/main/list2/clod[" + row + "]/adjtresncd", model.getValue("/root/main/item5/mech[" + i + "]/adjtresncd"));
- if (model.getValue("/root/main/item5/mech[" + i + "]/updtdd") != "" && model.getValue("/root/main/item5/mech[" + i + "]/updtdd") != "-")
- model.setValue("/root/main/list2/clod[" + row + "]/updtdd", model.getValue("/root/main/item5/mech[" + i + "]/updtdd"));
- model.setValue("/root/main/list2/clod[" + row + "]/druglimitamt", model.getValue("/root/main/item5/mech[" + i + "]/druglimitamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/limitdiffamt", model.getValue("/root/main/item5/mech[" + i + "]/limitdiffamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/edidruglimitamt", model.getValue("/root/main/item5/mech[" + i + "]/edidruglimitamt"));
- model.setValue("/root/main/list2/clod[" + row + "]/edilimitdiffamt", model.getValue("/root/main/item5/mech[" + i + "]/edilimitdiffamt"));
- // 행 추가 후 싱글코드 조회 후에 다음 줄을 자동으로 한줄 추가함.
- if (i < clod.length) {
- grd_clodhist.insertRow(row++, "below", false);
- }
- }
- grd_clodhist.refresh();
- }
- // 입력한 산정의미코드에 해당하는 산정코드를 조회한다.
- function fSrchEstmCd() {
- model.removeNodeset("/root/hidden/sppiz00800/rslt");
- model.makeNode("/root/hidden/sppiz00800/rslt/clcd");
- model.resetInstanceNode("/root/hidden/sppiz00800/cond");
- var row = grd_clodhist.row;
- var estmcls = model.getValue("/root/main/list2/clod[" + row + "]/estmcls");
- var insukindcd = model.getValue("/root/main/item1/clbs/insukindcd");
- if (insukindcd == "") {
- messageBox("심사대상자의 보험유형이", "I004"); // /심사대상자의 보험유형이 없습니다
- return false;
- }
- model.setValue("/root/hidden/sppiz00800/cond/insukind", insukindcd);
- model.setValue("/root/hidden/sppiz00800/cond/estmcls", estmcls);
- model.setValue("/root/hidden/sppiz00800/cond/estmmncd", model.getValue("/root/main/list2/clod[" + row + "]/estmmncd"));
- model.setValue("/root/hidden/sppiz00800/cond/todd", model.getValue("/root/main/list2/clod[" + row + "]/ordtodd"));
- modal("SPPIZ00800", "", "10", "10", "SPPIZ00800", "/root/hidden/sppiz00800/cond", "/root/hidden/cond"); // SPPIZ00800_산정코드조회.xrw
- if (model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd")) {
- var estmmncd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmmncd");
- var oldestmmncd = model.getValue("/root/main/list2/clod[" + row + "]/estmmncd");
- if (estmmncd == "0000" && oldestmmncd == "") {
- } else {
- if (estmmncd != oldestmmncd) {
- var adjtresncd = model.getValue("/root/main/list2/clod[" + row + "]/adjtresncd");
- var cmbAdjtresncd = "";
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가
- // 입력되지 않은 경우
- cmbAdjtresncd = model.getValue("/root/hidden/list2/clodstat/cmbAdjtresncd");
- if (cmbAdjtresncd) {
- model.setValue("/root/main/list2/clod[" + row + "]/adjtresncd", cmbAdjtresncd);
- } else {
- var newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- }
- fSetOrderChangeRowStat(row); // 처방의 수정된 row 상태를 표시한다.
- } else {
- return;
- }
- var oldestmcd = model.getValue("/root/main/list2/clod[" + row + "]/estmcd");
- var oldestmcdnm = model.getValue("/root/main/list2/clod[" + row + "]/estmcdnm");
- model.setValue("/root/main/list2/clod[" + row + "]/estmmncd", estmmncd);
- model.setValue("/root/main/list2/clod[" + row + "]/estmcd", model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd"));
- model.setValue("/root/main/list2/clod[" + row + "]/estmcdnm", model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcdnm"));
- var rslt = fSetEstmCd();
- row = grd_clodhist.row;
- if (rslt == false) {
- model.setValue("/root/main/list2/clod[" + row + "]/estmmncd", oldestmmncd);
- model.setValue("/root/main/list2/clod[" + row + "]/estmcd", oldestmcd);
- model.setValue("/root/main/list2/clod[" + row + "]/estmcdnm", oldestmcdnm);
- } else {
- if (row != -1 && estmmncd == "0000") { // sort 이후에 선택된 row가 있고
- estmmncd = "";
- model.setValue("/root/main/list2/clod[" + row + "]/estmmncd", estmmncd);
- model.setValue("/root/main/list2/clod[" + row + "]/estmcd", "");
- model.setValue("/root/main/list2/clod[" + row + "]/estmcdnm", "");
- }
- }
- }
- }
- if (row == -1) { // sort 이후에 선택된 row가 없음
- return false;
- }
- var estmmncd = model.getValue("/root/main/list2/clod[" + row + "]/estmmncd");
- var msg = "산정분류 [" + estmcls + "] ";
- if (estmmncd) {
- msg += "산정의미코드: " + estmmncd;
- } else {
- model.setValue("/root/hidden/list3/msgspclformat", msg + " 입력된 산정의미코드가 없습니다.");
- return true;
- }
- var estmcd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcd");
- var estmcdnm = model.getValue("/root/hidden/sppiz00800/rslt/clcd/estmcdnm");
- if (estmcd) {
- msg += " / 산정코드: " + estmcd;
- }
- if (estmcdnm) {
- msg += " / 명칭: " + estmcdnm;
- }
- var addmthd = model.getValue("/root/hidden/sppiz00800/rslt/clcd/addmthd");
- if (addmthd) {
- msg += " // 계산방법: [" + addmthd + "] ";
- msg += model.getValue("/root/hidden/sppiz00800/rslt/clcd/pnt");
- msg += " / " + model.getValue("/root/hidden/sppiz00800/rslt/clcd/amt");
- msg += " / " + model.getValue("/root/hidden/sppiz00800/rslt/clcd/rate");
- } else {
- msg += " // 조회된 산정코드가 없습니다.";
- }
- model.setValue("/root/hidden/list3/msgspclformat", msg);
- model.refreshpart("/root/hidden/list3/msgspclformat");
- return true;
- }
- // 수가코드의 estmcls(산정분류)에 따라 선택가능한 5자리의 estmmncd(산정의미), 이에 해당하는 3자리의 estmcd(산정코드)를
- // 조회하고 금액을 재계산한다.
- function fSetEstmCd() {
- var row = grd_clodhist.row;
- model.resetInstanceNode("/root/send/item5/mech"); // submit("TRPID20303")
- // 용
- var ordfromdd = model.getValue("/root/main/list2/clod[" + row + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + row + "]/ordtodd");
- if (ordfromdd == "" || ordtodd == "") {
- messageBox("처방시작일 & 종료일은", "I003"); // /처방시작일 & 종료일은 필수입력입니다.
- return false;
- }
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd");
- if (snglcalcscorcd == "") {
- messageBox("수가코드가 입력되지", "E007"); // /수가코드가 입력되지 않았습니다.
- return false;
- }
- model.makeValue("/root/send/item5/mech/snglcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item5/mech/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.makeValue("/root/send/item5/mech/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- var orddeptcd = model.getValue("/root/main/list2/clod[" + row + "]/orddeptcd");
- if (orddeptcd) {
- model.makeValue("/root/send/item5/mech/orddeptcd", orddeptcd);
- } else {
- model.makeValue("/root/send/item5/mech/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- }
- var orddrid = model.getValue("/root/main/list2/clod[" + row + "]/orddrid");
- if (orddrid) {
- model.makeValue("/root/send/item5/mech/orddrid", orddrid);
- } else {
- model.makeValue("/root/send/item5/mech/orddrid", model.getValue("/root/main/item1/clbs/orddrid"));
- }
- model.makeValue("/root/send/item5/mech/ordfromdd", ordfromdd);
- model.makeValue("/root/send/item5/mech/ordtodd", ordtodd);
- var estmmncd = model.getValue("/root/main/list2/clod[" + row + "]/estmmncd");
- if (estmmncd != "-") {
- model.makeValue("/root/send/item5/mech/estmmncd", estmmncd);
- } else {
- messageBox("산정의미코드가 입력되지", "E007"); // /산정의미코드가 입력되지 않았습니다.
- return false;
- }
- var drugqty = model.getValue("/root/main/list2/clod[" + row + "]/drugqty");
- if (drugqty == "") {
- drugqty = "1";
- }
- model.makeValue("/root/send/item5/mech/drugqty", drugqty);
- var tims = model.getValue("/root/main/list2/clod[" + row + "]/tims");
- if (tims == "") {
- tims = "1";
- }
- model.makeValue("/root/send/item5/mech/tims", tims);
- var dayno = model.getValue("/root/main/list2/clod[" + row + "]/dayno");
- if (dayno == "") {
- dayno = "1";
- }
- model.makeValue("/root/send/item5/mech/dayno", dayno);
- model.makeValue("/root/send/item5/mech/adjtresncd", model.getValue("/root/main/list2/clod[" + row + "]/adjtresncd"));
- model.makeValue("/root/send/item5/mech/undersixageyn", model.getValue("/root/main/item1/clbs/undersixageyn"));
- model.makeValue("/root/send/item5/mech/mechage", model.getValue("/root/main/item1/clbs/mechage"));
- model.makeValue("/root/send/item5/mech/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.makeValue("/root/send/item5/mech/clamflagcd", model.getValue("/root/main/item1/clbs/clamflagcd"));
- model.makeValue("/root/send/item5/mech/mode", "u");
- submit("TRPID20303");
- var clodSelect = instance1.selectSingleNode("/root/main/item5"); // root/main/item5
- var clod = clodSelect.childNodes; // root/main/item5/mech
- if (clod.length == 1) {
- var mechfromdd = model.getValue("/root/main/item5/mech/mechfromdd");
- var mechtodd = model.getValue("/root/main/item5/mech/mechtodd");
- if (mechfromdd && mechtodd) {
- // 조회한 수가코드의 금액정보를 표시한다.
- fSetCalcScorAmt(clod, "update");
- // 기존에 줄번호가 부여안된 경우
- // 처방 Grid 타이틀을 이용해서 sorting 한 경우 줄번호가 현재 정렬된 순서대로 부여되므로 다시 sort하여
- // 처리한다.
- // 2008-11-24
- // fSetOrderLnNo();
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- // fSetOrderData();
- } else {
- // 잘못된 산정코드 선택으로 해당 eidcd가 없는 경우
- messageBox("산정코드가 올바르지 않거나 조회된 처방 계산 내역이", "I004"); // /산정코드가 올바르지 않거나 조회된 처방 계산 내역이 없습니다
- return false;
- }
- } else {
- // [20070618] 조회된 결과가 없을 때?
- messageBox("조회된 처방 계산 내역이", "I004"); // /조회된 처방 계산 내역이 없습니다
- return false;
- }
- return true;
- }
- // 수가코드가 없으며 DB에 저장된 내용이 아닌 경우 해당 줄을 삭제한다.
- function fDelEmptyGridOrderData() {
- for ( var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) { // 첫 줄부터
- var rowstatus = grd_clodhist.rowstatus(i);
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- var ediamt = model.getValue("/root/main/list2/clod[" + i + "]/ediamt");
- if (rowstatus != 4 && snglcalcscorcd && ediamt) { // 4 : delete 삭제 상태가 아니면서 수가코드가 입력되고 금액이 계산된 상태임
- } else if (rowstatus == 1 || rowstatus == 3) { // 수가코드 없으며 DB에 저장된 내용이 아닌 경우
- grd_clodhist.deleteRow(i, false); // 줄을 삭제한다.
- i--;
- }
- }
- grd_clodhist.refresh();
- }
- // 처방의 수정된 row 상태를 표시한다.
- function fSetOrderChangeRowStat(clodrow) {
- var clodstatus = grd_clodhist.rowstatus(clodrow);
- if (clodstatus == 1 || clodstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clodhist.rowstatus(clodrow) = 2; // 2 : update
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(clodrow);
- }
- }
- // /////////////////////////////////////////////////////////////////////////
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "상병순서 위로"
- function fDiagSeqUp() {
- var rowstatus = grd_cldihist.rowstatus(grd_cldihist.row);
- if (rowstatus == 4) { // 4 : delete
- return;
- }
- var diagseq = parseInt(model.getValue("/root/main/list1/cldi["+ grd_cldihist.row + "]/diagseq")); // 선택된 줄의 NO
- if (diagseq > 1) { // 첫번째 줄이 아닌 경우
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq", --diagseq);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(grd_cldihist.row) = 2; // 2 : update
- }
- // 바로 위 상병순서와 중복되는 경우
- var nextrow = grd_cldihist.row - 1;
- var nextdiagseq = model.getValue("/root/main/list1/cldi[" + nextrow + "]/diagseq");
- if (diagseq == nextdiagseq) {
- model.setValue("/root/main/list1/cldi[" + nextrow + "]/diagseq", ++diagseq);
- rowstatus = grd_cldihist.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(nextrow) = 2; // 2 : update
- }
- }
- // 20100329 MT002 입력체크
- if (model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode") != ""
- && model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagkindcd") != "R") {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode"));
- }
- fSortDiagNo(false);
- }
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "상병순서 아래로"
- function fDiagSeqDown() {
- var rowstatus = grd_cldihist.rowstatus(grd_cldihist.row);
- if (rowstatus == 4) { // 4 : delete
- return;
- }
- // 삭제 상태가 아닌 마지막 줄을 찾는다.
- var lastRow = grd_cldihist.rows - 1;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- if (grd_cldihist.rowstatus(i) == 4) { // delete
- lastRow = i - 1;
- i = grd_cldihist.rows;
- }
- }
- var diagseq = parseInt(model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq")); // 선택된 줄의 NO
- if (diagseq < lastRow) { // 마지막 줄이 아닌 경우
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq", ++diagseq);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(grd_cldihist.row) = 2; // 2 : update
- }
- // 바로 아래 상병순서와 중복되는 경우
- var nextrow = grd_cldihist.row + 1;
- var nextdiagseq = model.getValue("/root/main/list1/cldi[" + nextrow + "]/diagseq");
- if (diagseq == nextdiagseq) {
- model.setValue("/root/main/list1/cldi[" + nextrow + "]/diagseq", --diagseq);
- rowstatus = grd_cldihist.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_cldihist.rowstatus(nextrow) = 2; // 2 : update
- }
- }
- // 20100329 MT002 입력체크
- if (model.getValue("/root/main/list1/cldi[" + nextrow + "]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi[" + nextrow + "]/vcode") != ""
- && model.getValue("/root/main/list1/cldi[" + nextrow + "]/diagkindcd") != "R") {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi[" + nextrow + "]/vcode"));
- }
- fSortDiagNo(false);
- }
- }
- // "상병순서 위로/아래로" 순서 변경 후에 상병 순서 NO에 따라 sorting 작업
- function fSortDiagNo(isNumbering) {
- var delcnt = 0;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- grd_cldihist.rowHidden(i) = false;
- }
- if (isNumbering == false) {
- var maxRow = parseInt(grd_cldihist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow, grd_cldihist.colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_cldihist.gridToInstance();
- }
- var cldino = 1;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- if (grd_cldihist.rowstatus(i) != 4) { // delete
- var diagseq = model.getValue("/root/main/list1/cldi[" + i + "]/diagseq");
- if (grd_cldihist.rowstatus(i) == 0 && diagseq != cldino) {
- grd_cldihist.rowstatus(i) = 2; // 2 : update
- }
- model.setValue("/root/main/list1/cldi[" + i + "]/diagseq", cldino++);
- } else {
- delcnt++;
- }
- }
- var maxRow = parseInt(grd_cldihist.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow, grd_cldihist .colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- if (delcnt > 0) {
- grd_cldihist.sort(1, grd_cldihist.colRef("diagseq"), maxRow - delcnt, grd_cldihist.colRef("diagseq")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- }
- // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
- grd_cldihist.gridToInstance();
- var rowstatus;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- rowstatus = grd_cldihist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_cldihist.rowHidden(i) = true;
- } else {
- grd_cldihist.rowHidden(i) = false;
- }
- }
- }
- // 사용자가 입력한 숫자를 기준으로 상병순서 부여
- function fChangeDiagNo() {
- var row = grd_cldihist.row;
- if (grd_cldihist.rowstatus(row) != 1 && grd_cldihist.rowstatus(row) != 3) { // 1 : insert, 3 : insert & new
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- var newseq = model.getValue("/root/main/list1/cldi[" + row + "]/diagseq");
- var oldseq = model.getValue("/root/hidden/list1/cldi/oldseq");
- var vcode = model.getValue("/root/main/list1/cldi[" + row + "]/vcode");
- var diagkindcd = model.getValue("/root/main/list1/cldi[" + row + "]/diagkindcd");
- if (newseq) {
- newseq = parseInt(model.getValue("/root/main/list1/cldi[" + row + "]/diagseq"), 10); // '09' 와 같은 형식으로 입력한 경우 -> 9로 처리
- // 삭제상태가 아닌 중복된 번호가 있는지 체크한다.
- var sameRow = 0;
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- var diagseq = model.getValue("/root/main/list1/cldi[" + i + "]/diagseq");
- if (row != i && diagseq == newseq) {
- sameRow = i;
- i = grd_cldihist.rows;
- }
- }
- if (sameRow > 0) { // 중복된 상병순서의 row가 있음
- if (newseq < oldseq) { // 이전보다 앞번호를 입력한 경우
- for ( var j = sameRow; j < row; j++) {
- var rowstatus = grd_cldihist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/list1/cldi[" + j + "]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/list1/cldi[" + j + "]/diagseq") != (curseq + 1)) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- model.setValue("/root/main/list1/cldi[" + j + "]/diagseq", curseq + 1);
- }
- }
- } else { // 이전보다 뒷번호를 입력한 경우
- for ( var j = row + 1; j <= sameRow; j++) {
- var rowstatus = grd_cldihist.rowstatus(j);
- if (rowstatus != 4) {
- var curseq = parseInt(model.getValue("/root/main/list1/cldi[" + j + "]/diagseq"), 10);
- if (rowstatus != 1 && rowstatus != 3) {
- if (model.getValue("/root/main/list1/cldi[" + j + "]/diagseq") != (curseq - 1)) {
- grd_cldihist.rowstatus(j) = 2;
- }
- }
- model.setValue("/root/main/list1/cldi[" + j + "]/diagseq", curseq - 1);
- }
- }
- }
- fSortDiagNo(false);
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한 row 추가 20090918 정승우
- // 20100329 MT002 입력체크
- if (newseq == "1" && oldseq != "1" && vcode != "" && diagkindcd != "R") {
- fSetDiagMT002(vcode);
- }
- } else { // 중복된 상병순서의 row가 없는 경우
- fSortDiagNo(false); // 현재 부여된 순번으로 sort 후
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한 20090918 정승우
- }
- } else { // 순번을 삭제한 경우
- model.setValue("/root/main/list1/cldi[" + row + "]/diagseq", oldseq);
- grd_cldihist.rowstatus(row) = model
- .getValue("/root/hidden/list1/cldi/oldrowstat");
- // model.refresh();
- fDiagGridInsertRow("Y", "N"); // 상병마지막 그리드에 한 20090918 정승우
- grd_cldihist.refresh();
- }
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삽입"
- function fDiagGridInsertRow(addyn, selectyn) {
- var iInsertRow = 0;
- if (grd_cldihist.rows == 1 || addyn == "Y") {
- iInsertRow = grd_cldihist.row;
- grd_cldihist.addRow(true, false);
- } else {
- iInsertRow = grd_cldihist.row;
- grd_cldihist.insertRow(iInsertRow, "below", true);
- }
- var nowRow = 0;
- nowRow = grd_cldihist.row;
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagkindcd", "C");
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq",grd_cldihist.row);
- // 청구과, 진료개시일은 주상병을 기준으로 부여한다.
- var clamdeptcd = model.getValue("/root/main/list1/cldi/clamdeptcd");
- if (clamdeptcd == "") { // 주상병의 진료과가 입력되지 않은 경우 인적사항의 청구과를 입력한다.
- clamdeptcd = model.getValue("/root/main/item1/clbs/clamdeptcd");
- }
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/clamdeptcd", clamdeptcd);
- var ordfromdd = model.getValue("/root/main/list1/cldi/ordfromdd");
- if (ordfromdd) {
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/ordfromdd", ordfromdd);
- } else {
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- }
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/toot", "-");
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode", ""); // 20100308 추가
- // 상병이력조회에서 호출된 경우가 아니면
- if (selectyn != "Y") {
- fSortDiagNo(true);
- }
- // edit mode 설정위한것임 절대 지우지 말것.
- grd_cldihist.refresh();
- if (addyn != "Y") {
- grd_cldihist.row = nowRow;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- // grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- }
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가(5줄)"
- function fDiagGridInsertRowMulti() {
- for ( var i = 1; i <= 5; i++) {
- grd_cldihist.insertRow(grd_cldihist.rows - 1, "below", false);
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagkindcd", "C");
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq", grd_cldihist.row);
- // 청구과, 진료개시일은 주상병을 기준으로 부여한다.
- var clamdeptcd = model.getValue("/root/main/list1/cldi/clamdeptcd");
- if (clamdeptcd == "") { // 주상병의 진료과가 입력되지 않은 경우 인적사항의 청구과를 입력한다.
- clamdeptcd = model.getValue("/root/main/item1/clbs/clamdeptcd");
- }
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/clamdeptcd", clamdeptcd);
- var ordfromdd = model.getValue("/root/main/list1/cldi/ordfromdd");
- if (ordfromdd) {
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/ordfromdd", ordfromdd);
- } else {
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- }
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/toot", "-");
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode", ""); // 20100308 추가
- }
- grd_cldihist.refresh();
- fSortDiagNo(true);
- // edit mode 설정위한것임 절대 지우지 말것.
- grd_cldihist.refresh();
- grd_cldihist.row = grd_cldihist.rows - 5;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- // grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell()
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 삭제"
- function fDiagGridDeleteRow() {
- // 여러 row를 동시에 선택하고 삭제하는 기능을 부여한다.
- for ( var i = 0; i < grd_cldihist.selectedRows; i++) {
- var row = grd_cldihist.selectedrow(i);
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- // return;
- } else if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 :
- // insert & new
- model.resetInstanceNode("/root/main/list1/cldi[" + row + "]/diagcd");
- model.resetInstanceNode("/root/main/list1/cldi[" + row + "]/diagnm");
- model.resetInstanceNode("/root/main/list1/cldi[" + row + "]/diagengnm");
- grd_cldihist.deleteRow(row, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- model.setValue("/root/main/list1/cldi[" + row + "]/diagseq", "D" + row);
- grd_cldihist.rowstatus(row) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- fSortDiagNo(true);
- }
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "삭제 취소"
- function fDiagGridDeleteCancel() {
- // 여러 row를 동시에 선택하고 삭제취소하는 기능을 부여한다.
- for ( var i = 0; i < grd_cldihist.selectedRows; i++) {
- var row = grd_cldihist.selectedrow(i);
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus == 4) { // 4 : delete
- grd_cldihist.rowstatus(row) = 0 // 2 : update 상태로 stat를 변경한다.
- }
- }
- fSortDiagNo(true);
- }
- // 상병코드를 조회하여 해당 정보를 표시하거나 상병코드 조회용 Popup을 호출한다.
- function fSearchDiageCode() {
- var row = grd_cldihist.row;
- var diagcd = model.getValue("/root/main/list1/cldi[" + row + "]/diagcd");
- if (diagcd) {
- model.removeNodeset("/root/hidden/sppiz00400/rslt");
- model.resetInstanceNode("/root/hidden/sppiz00400/cond");
- model.setValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.setValue("/root/hidden/sppiz00400/cond/diagcd", diagcd);
- model.setValue("/root/hidden/sppiz00400/cond/diagnm", "");
- model.setValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind", "1");
- submit("TRPID20306",false); // 입력된 상병코드로 emr.mrtmicd10 테이블을 조회한다.
- var rsltList = instance1
- .selectSingleNode("/root/hidden/sppiz00400/rslt");
- if (rsltList != null && rsltList.length == 0) {
- // 조회된 결과가 1건이면
- fSetDiagCdNm();
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- // grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- } else {
- // 조회된 결과가 없거나 여러 건이면
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- fSearchSPPIZ00400();
- if (model.getValue("/root/main/list1/cldi[" + row + "]/diagnm") == "" && model.getValue("/root/main/list1/cldi[" + row + "]/diagengnm") == "") {
- model.setValue("/root/main/list1/cldi[" + row + "]/diagcd", model.getValue("/root/hidden/list1/cldi/olddiagcd"));
- model.setValue("/root/main/list1/cldi[" + row + "]/diagnm", model.getValue("/root/hidden/list1/cldi/olddiagnm"));
- model.setValue("/root/main/list1/cldi[" + row + "]/diagengnm", model.getValue("/root/hidden/list1/cldi/oldengnm"));
- grd_cldihist.rowstatus(row) = model.getValue("/root/hidden/list1/cldi/oldrowstat");
- grd_cldihist.refresh();
- return;
- } else {
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- if (row < grd_cldihist.rows) {
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- // grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- }
- }
- }
- } else {
- // 상병 Grid에 상병코드를 입력하지 않고 Enter 친 경우
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- fSearchSPPIZ00400();
- // 다음칸에 자동 포커스 2008-11-26
- row++;
- grd_cldihist.row = row;
- grd_cldihist.col = grd_cldihist.colRef("diagcd");
- // grd_cldihist.dispatch("onentercell");
- fGetGrdCldihistEditCell();
- if (model.getValue("/root/main/list1/cldi[" + row + "]/diagcd") == "") {
- model.setValue("/root/main/list1/cldi[" + row + "]/diagcd", model.getValue("/root/hidden/list1/cldi/olddiagcd"));
- model.setValue("/root/main/list1/cldi[" + row + "]/diagnm", model.getValue("/root/hidden/list1/cldi/olddiagnm"));
- model.setValue("/root/main/list1/cldi[" + row + "]/diagengnm", model.getValue("/root/hidden/list1/cldi/oldengnm"));
- grd_cldihist.rowstatus(row) = model.getValue("/root/hidden/list1/cldi/oldrowstat");
- grd_cldihist.refresh();
- return;
- }
- }
- // 삭제 상태였던 상병코드를 조회하여 수정한 경우를 위해 순번을 다시 부여한다.
- // 2008-11-26
- // fSortDiagNo(true);
- }
- // 상병코드 조회를 위해 SPPIZ00400_상병코드조회.xrw 를 호출한다.
- function fSearchSPPIZ00400() {
- model.removeNodeset("/root/hidden/sppiz00400/rslt");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagcd");
- model.makeNode("/root/hidden/sppiz00400/rslt/diaghngnm");
- model.makeNode("/root/hidden/sppiz00400/rslt/diagengnm");
- model.resetInstanceNode("/root/hidden/sppiz00400/cond");
- //model.setValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
- model.setValue("/root/hidden/sppiz00400/cond/basedd", model.getValue("/root/main/item1/clbs/ordfromdd")); // 요양개시일 적용(2016.01.26 LEJ)
- model.setValue("/root/hidden/sppiz00400/cond/diagcd", model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagcd"));
- model.setValue("/root/hidden/sppiz00400/cond/diagnm", "");
- model.setValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind", "3"); // 사용자가 직접검색하여 입력 할수 있도록 임의의값(3)을넣어줌
- modal("SPPIZ00400", "1", "10", "10", "SPPIZ00400", "/root/hidden/sppiz00400/cond", "/root/init", "", ""); // SPPIZ00400_상병코드조회.xrw
- model.setFocus("grd_clidhist")
- }
- // [SPPIZ00400_상병코드조회.xrw 에서 호출] 상병코드조회 팝업에서 선택한 상병을 상병 그리드에 반영
- function fSetDiagCdNm() {
- var row = grd_cldihist.row;
- if (row > 0) {
- var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
- var diaghngnm = model.getValue("/root/hidden/sppiz00400/rslt/diaghngnm");
- var diagengnm = model.getValue("/root/hidden/sppiz00400/rslt/diagengnm");
- model.setValue("/root/main/list1/cldi[" + row + "]/diagcd", diagcd);
- model.setValue("/root/main/list1/cldi[" + row + "]/diagnm", diaghngnm);
- model.setValue("/root/main/list1/cldi[" + row + "]/diagengnm", diagengnm);
- // 해당 상병의 한글상병명과 영문상병명이 Message 용 output 컨트롤에 표시된다.
- model.setValue("/root/hidden/list3/msgspclformat", "상병코드 - " + diagcd + " / " + diaghngnm + " / " + diagengnm);
- // 20100308 특정내역 조회 추가
- model.setValue("/root/main/list1/cldi[" + row + "]/vcode", fGetDiagVcode(diagcd));
- // 20100329 MT002 입력체크
- if (model.getValue("/root/main/list1/cldi[" + row + "]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi[" + row + "]/vcode") != ""
- && model.getValue("/root/main/list1/cldi[" + row + "]/diagkindcd") != "R")
- {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi[" + row + "]/vcode"));
- }
- // 20090918 정승우 행추가
- var addval1 = model.getValue("/root/main/list1/diag[" + row + "]/rowstat");
- var addval2 = grd_cldihist.rowstatus(row);
- var rowstatus = grd_cldihist.rowstatus(row);
- if (rowstatus != 1 && rowstatus != 3) { // 1 : insert, 3 : insert & new
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- grd_cldihist.refresh();
- // 4. 빈 row에 대한 입력은 행 추가를 발생시킨다. (그외에는 행추가가 일어나지 않는다.)
- // 20090918 정승우 행추가
- if (addval1 == "" && (addval2 == 1 || addval2 == 3))
- fDiagGridInsertRow("Y", "N");
- }
- }
- // 20100329 김용민 추가 상병row 로 MT002 입력
- // incode null 경우는 주상병의 특정기호 체크, null아니면 바로입력체크
- function fSetDiagMT002(incode) {
- var gridrowstatus = "";
- var existsyn = "N";
- var vcode = "";
- if (incode == "") {
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- if (grd_cldihist.rowHidden(i) == false
- && model.getValue("/root/main/list1/cldi[" + i + "]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi[" + i + "]/vcode") != ""
- && model.getValue("/root/main/list1/cldi[" + i + "]/diagkindcd") != "R"
- ) {
- vcode = model.getValue("/root/main/list1/cldi[" + i + "]/vcode")
- break;
- }
- }
- } else {
- vcode = incode;
- }
- if (vcode != "") {
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- spclspec = model.getValue("/root/main/list3/clsp[" + i + "]/spclspec");
- gridrowstatus = grd_clsphist.rowstatus(i);
- if (vcode == spclspec && spclcd == "MT002" && gridrowstatus != 4) {
- existsyn = "Y";
- }
- }
- var suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd");
- if ( existsyn != "Y" && suppkindcd != "00") {
- var ans = messageBox(vcode + " 상병입니다.\n\n" + "MT002 특정내역을 \n\n" + "입력", "S001");
- if (ans == 6) { // yes
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에
- // 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "M");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", 0);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", "-");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "MT002");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "특정기호");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", vcode);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(4)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", "");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", "");
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- }
- }
- }
- // 20100308 김용민 추가 (상병코드로 특정기호 조회)
- function fGetDiagVcode(diagcd) {
- var vcode = "";
- var spclcd = "";
- var spclspec = "";
- var gridrowstatus = "";
- var existsyn = "N";
- model.resetInstanceNode("/root/hidden/getvcode");
- model.setValue("/root/hidden/getvcode/cond/diagcd", diagcd);
- model.setValue("/root/hidden/getvcode/cond/ioflag", model.getValue("/root/main/item1/clbs/ioflag"));
- model.setValue("/root/hidden/getvcode/cond/insukind", model.getValue("/root/main/item1/clbs/insukindcd"));
- model.setValue("/root/hidden/getvcode/cond/suppkind", model.getValue("/root/main/item1/clbs/suppkindcd"));
- model.setValue("/root/hidden/getvcode/cond/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- model.setValue("/root/hidden/getvcode/rslt/vcode", "");
- submit("TRPID20313",false); // 상병코드로 특정기호 조회
- vcode = model.getValue("/root/hidden/getvcode/rslt/vcode")
- return vcode;
- }
- // /////////////////////////////////////////////////////////////////////////
- // 팝업 화면 호출
- function fLinkPopMenu(trgtWindow, cond, send) {
- var trgtManWindow = getChildWindow(trgtWindow);
- if (trgtManWindow == null) {
- var childCnt = window.children.length;
- if (childCnt < 4) {
- open(trgtWindow, "2", "10", "10", trgtWindow, cond, send, "", "");
- } else {
- messageBox("최대 4개의 팝업 화면을 표시할 수 있으니 현재 열려있는 화면을", "I007"); // /최대 4개의 팝업 화면을 표시할 수 있으니 현재 열려있는 화면을 확인하십시오.
- }
- } else {
- activateChild(trgtWindow);
- }
- }
- // 이전명세서 목록에서 선택한 청구키의 명세서를 이미 열려있는 Popup 화면으로 조회시에 호출
- // 처음 Popup화면을 열때는 ev:event="xforms-ready"에서 처리를 하고, 이후에 창이 열려있는 경우 이 메소드를 호출한다.
- function fActivatePreDocuWindow() {
- var rslt = fInitSrchData(); // 화면을 초기화한다.
- if (rslt == false) { // 수정사항 저장이 완료되지 않아 초기화할 수 없는 경우
- return false;
- }
- var openerClamym = opener.model.getValue("/root/hidden/smpid20300/cond/clamym");
- var openerClamdg = opener.model.getValue("/root/hidden/smpid20300/cond/clamdg");
- var openerPid = opener.model.getValue("/root/hidden/smpid20300/cond/pid");
- var openerPidsn = opener.model.getValue("/root/hidden/smpid20300/cond/pidsn");
- if (openerClamym) {
- model.makeValue("/root/send/item1/clbs/clamym", openerClamym);
- model.makeValue("/root/send/item1/clbs/clamdg", openerClamdg);
- model.makeValue("/root/send/item1/clbs/pid", openerPid);
- model.makeValue("/root/send/item1/clbs/pidsn", openerPidsn);
- model.makeValue("/root/send/item1/clbs/ioflag", "I");
- model.makeValue("/root/send/item1/clbs/workflag", opener.model.getValue("/root/hidden/smpid20300/cond/workflag"));
- fCheckAuth(); // 화면 권한을 설정한다.
- submit("TRPID20301");
- // submit("TRPID20301") 사후 심사 대상자를 조회한 이후의 처리를 한다.
- fSetAftJudgTrgtManSrchData();
- // 상병과 처방에서 오른쪽 마우스 Popup 으로 가능한 처리를 하지 못하도록 한다.
- // window.showPopupMenu(false);
- // btn_closepredocupopup.visible = true; // Popup용 닫기 버튼
- } else {
- fCheckAuth(); // 화면 권한을 설정한다.
- }
- }
- // 화면 권한을 설정한다.
- function fCheckAuth() {
- if (isPopup()) { // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
- var sendworkflag = model.getValue("/root/send/item1/clbs/workflag");
- if (sendworkflag != "11" && sendworkflag != "12") {
- document.title = "입원사후심사조회";
- var smpid20300_auth = opener.javascript.getParameter("smpid20300_auth");
- if (smpid20300_auth) {
- model.setValue("properties/auth", smpid20300_auth); // RXP권한
- } else {
- model.setValue("properties/auth", "10100000"); // RXP권한
- }
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- } else {
- if (sendworkflag == "11") {
- document.title = "심사전 명세서 조회";
- model.setValue("properties/auth", "00100000"); // RXP권한
- btn_srchpid.visible = false;
- btn_pretrgtman.visible = false;
- btn_nexttrgtman.visible = false;
- cmb_adjtresncd.visible = false;
- cmb_docudelresncd.visible = false;
- cmb_abdresncd.visible = false;
- } else {
- document.title = "이전 명세서 상병/처방 조회";
- model.setValue("properties/auth", "11100000"); // RXP권한
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- }
- }
- } else {
- model.setValue("properties/auth", "11100000"); // RXP권한
- btn_srchpid.visible = true;
- btn_pretrgtman.visible = true;
- btn_nexttrgtman.visible = true;
- cmb_adjtresncd.visible = true;
- cmb_docudelresncd.visible = true;
- cmb_abdresncd.visible = true;
- }
- var rAuth = !checkAuth("R");
- ipt_pid.disabled = rAuth;
- ipt_chosindayno.disabled = rAuth;
- ipt_medcaredayno.disabled = rAuth;
- cmb_arvpathcd.disabled = rAuth; // 도착경로
- cmb_inpathcd.disabled = rAuth; // 입원경과
- cmb_ordrsltcd.disabled = rAuth; // 진료결과
- ipt_insuno.disabled = rAuth; // 조합기호
- ipt_certno.disabled = rAuth; // 증번호
- setScreenBtnDisabled(); // (common.js) 버튼 권한 속성(_auth)에 따라 화면권한(RXP)을 처리한다.
- }
- // 기존 조회 내역 중 수정 사항이 있는 경우 저장할 것인지를 물어본다.
- function fCheckChangeSave() {
- var initclbs = model.getValue("/root/hidden/item1/initclbs/clbs/clamkey");
- var isChange = false;
- var cldiupdtdata = ""; // 상병 Grid 변경
- if (initclbs) {
- var clbsupdatadata = false;
- if (model.getValue("/root/hidden/item1/initclbs/clbs/suppkindcd") != model.getValue("/root/main/item1/clbs/suppkindcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/ordfildcd") != model.getValue("/root/main/item1/clbs/ordfildcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/orddeptcd") != model.getValue("/root/main/item1/clbs/orddeptcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/orddrid") != model.getValue("/root/main/item1/clbs/orddrid")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/patrrgstno") != model.getValue("/root/main/item1/clbs/patrrgstno")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/chosindayno") != model.getValue("/root/main/item1/clbs/chosindayno")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/medcaredayno") != model.getValue("/root/main/item1/clbs/medcaredayno")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/arvpathcd") != model.getValue("/root/main/item1/clbs/arvpathcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/inpathcd") != model.getValue("/root/main/item1/clbs/inpathcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/ordrsltcd") != model.getValue("/root/main/item1/clbs/ordrsltcd")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/insuno") != model.getValue("/root/main/item1/clbs/insuno")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initclbs/clbs/certno") != model.getValue("/root/main/item1/clbs/certno")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initmemo/memo/judgmemo") != model.getValue("/root/main/item1/memo/judgmemo")) {
- clbsupdatadata = true;
- } else if (model.getValue("/root/hidden/item1/initmemo/memo/edimemo") != model.getValue("/root/main/item1/memo/edimemo")) {
- clbsupdatadata = true;
- }
- if (clbsupdatadata == false) {
- var clodupdtdata = getGridUpdateData(grd_clodhist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (clodupdtdata) { // 처방이 수정된 경우
- isChange = true;
- } else {
- // 특정내역
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var spclspec = model.getValue("/root/main/list3/clsp[" + i + "]/spclspec");
- // 특정코드과 특정내역이 입력되지 않은 경우
- if (rowstatus != 4 && spclcd == "" && spclspec == "") {
- // 줄을 삭제한다.
- grd_clsphist.deleteRow(i, false);
- i--;
- }
- }
- var clspupdtdata = getGridUpdateData(grd_clsphist);
- if (clspupdtdata) {
- isChange = true;
- } else {
- // 상병
- for ( var i = 1; i < grd_cldihist.rows; i++) {
- var rowstatus = grd_cldihist.rowstatus(i);
- var diagcd = model.getValue("/root/main/list1/cldi[" + i + "]/diagcd");
- // 상병코드와 진료개시일이 입력되지 않은 경우
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- if (diagcd == "") {
- // 줄을 삭제한다.
- grd_cldihist.deleteRow(i, false);
- i--;
- }
- }
- }
- // 상병의 경우 기본적으로 추가된 줄을 삭제한 후 체크한다.
- cldiupdtdata = getGridUpdateData(grd_cldihist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (cldiupdtdata) {
- isChange = true;
- }
- }
- }
- } else {
- isChange = true;
- }
- }
- if (isChange) {
- var ans = messageBox("수정사항이 있습니다. 저장", "S001"); // /수정사항이 있습니다. 저장하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- var rslt = fSaveInAftJudg("B"); // 저장
- if (rslt != "true") {
- return false;
- }
- } else if (ans == 2) { // 6: yes, 7:no, 2:cancel
- if (grd_clsphist.rows == 1) {
- fSpclGridInsertRow(); // 특정내역 줄추가
- }
- if (cldiupdtdata) { // 상병 Grid가 변경된 경우
- }
- return false;
- }
- } else {
- }
- return true;
- }
- // 상병, 특정내역, 처방 Group의 컨트롤 크기를 초기화한다.
- function fInitUIControlSize() {
- cap_grptemp.visible = false;
- grp_predoculist.visible = false; // 이전 명세서 목록용 Group
- grp_delclodlist.visible = false; // 처방 휴지통 Group
- grp_delorderlist.visible = false; // 심사변경 목록 Group
- fCutSwitchSize(); // 특정내역 / 심사자메모 / EDI메모 창을 작게 한다.
- case_spclspec.selected = false;
- case_judgrmemo.selected = false;
- case_ediclammemo.selected = false;
- }
- // 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다.
- function fSetOrderControlSize() {
- if (cap_clod.attribute("top") == df_tp_size_cap_clod) { // 기본상태
- grp_cldihist.attribute("top") = "30"; // 상병창
- grp_clsphist.attribute("top") = "30"; // 특정내역창
- cap_clod.attribute("top") = "188";
- grd_clodhist.attribute("height") = "429";
- } else {
- grp_cldihist.attribute("top") = df_tp_size_grp_cldihist; // 상병창
- grp_clsphist.attribute("top") = df_tp_size_grp_clsphist; // 특정내역창
- cap_clod.attribute("top") = df_tp_size_cap_clod;
- grd_clodhist.attribute("height") = "351";
- }
-
- var icap_top = parseInt(cap_clod.attribute("top"));
-
- grp_ordsrch.attribute("top") = icap_top - 55; // 조회부 그룹
- cap_message.attribute("top") = icap_top + 50; // 메세지cap
- opt_msgspclformat.attribute("top") = icap_top + 48; // 메세지
- ln_clodhist.attribute("y1") = icap_top + 15;
- ln_clodhist.attribute("y2") = icap_top + 15;
- grd_clodhist.attribute("top") = icap_top + 20;
- btn_delordlist.attribute("top") = icap_top - 5;
- btn_delordsrch.attribute("top") = icap_top - 5;
- btn_bfjudgdocu.attribute("top") = icap_top - 5;
- btn_oprcp.attribute("top") = icap_top - 5; // 원외처방
- // btn_redu.attribute("top") = icap_top - 5; // 삭감처방 // 20100312
- cmb_adjtresncd.attribute("top") = icap_top - 5; // 심사수정사유 콤보
- cmb_docudelresncd.attribute("top") = icap_top - 5; // 명세서삭제사유 콤보
- cmb_abdresncd.attribute("top") = icap_top - 5; // 반송부제기사유 콤보
- opt_drgcd.attribute("top") = icap_top - 5; // KDRG분류번호
- opt_kstage.attribute("top") = icap_top - 5; // KDRG분류번호
- opt_kdrgnm.attribute("top") = icap_top - 5; // KDRG분류번호
- btn_clodinsert.attribute("top") = icap_top - 5; // 20100209 행추가
- btn_clodcopy.attribute("top") = icap_top - 5; // 20100209 행복사
- btn_cloddelete.attribute("top") = icap_top - 5; // 20100209 행삭제
- }
- // 처방조회부, 처방 Grid용 Group의 컨트롤 크기를 설정한다. (20100408 백업)
- function fSetOrderControlSize_bakup() {
- var otherGrp = true;
- if (cap_clod.attribute("top") == "251") {
- otherGrp = false;
- cap_clod.attribute("top") = "90";
- grd_clodhist.attribute("height") = "527";
- // Message용 Output 크기를 초기화한다.
- cap_message.attribute("left") = "5";
- opt_msgspclformat.attribute("left") = "95";
- opt_msgspclformat.attribute("width") = "1099";
- } else {
- otherGrp = true;
- cap_clod.attribute("top") = "251";
- grd_clodhist.attribute("height") = "351";
- // 상병 Grid 크기를 초기화한다.
- grp_cldihist.attribute("height") = "170";
- grd_cldihist.attribute("height") = "142";
- }
- grp_cldihist.visible = otherGrp;
- grp_clsphist.visible = otherGrp;
- var icap_top = parseInt(cap_clod.attribute("top"));
- ln_clodhist.attribute("y1") = icap_top + 15;
- ln_clodhist.attribute("y2") = icap_top + 15;
- grd_clodhist.attribute("top") = icap_top + 20;
- btn_delordlist.attribute("top") = icap_top - 5;
- btn_delordsrch.attribute("top") = icap_top - 5;
- btn_bfjudgdocu.attribute("top") = icap_top - 5;
- btn_oprcp.attribute("top") = icap_top - 5; // 원외처방
- // btn_redu.attribute("top") = icap_top - 5; // 삭감처방 // 20100312
- cmb_adjtresncd.attribute("top") = icap_top - 5; // 심사수정사유 콤보
- cmb_docudelresncd.attribute("top") = icap_top - 5; // 명세서삭제사유 콤보
- cmb_abdresncd.attribute("top") = icap_top - 5; // 반송부제기사유 콤보
- opt_drgcd.attribute("top") = icap_top - 5; // KDRG분류번호
- opt_kstage.attribute("top") = icap_top - 5; // KDRG분류번호
- opt_kdrgnm.attribute("top") = icap_top - 5; // KDRG분류번호
- grp_ordsrch.attribute("top") = icap_top - 55; // 조회부 그룹
- cap_message.attribute("top") = icap_top + 50;
- opt_msgspclformat.attribute("top") = icap_top + 48;
- btn_clodinsert.attribute("top") = icap_top - 5; // 20100209 행추가
- btn_clodcopy.attribute("top") = icap_top - 5; // 20100209 행복사
- btn_cloddelete.attribute("top") = icap_top - 5; // 20100209 행삭제
- }
- // 이전명세서, 처방휴지통, 삭제처방 Group의 컨트롤 크기를 설정한다.
- function fSetDelOrdPreDocuSize() {
- var icap_top = parseInt(cap_clod.attribute("top"));
- var igrd_hei = parseInt(grd_clodhist.attribute("height"));
- // cap_grptemp.attribute("top") = icap_top;
- // 이전 명세서 목록
- if (grp_predoculist.visible == true) {
- cap_grptemp.text = "이전 명세서 목록";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- grp_predoculist.attribute("top") = icap_top + 15;
- grp_predoculist.attribute("height") = igrd_hei + 5;
- grd_predocu.attribute("height") = igrd_hei - 78;
- btn_closepredoculist.attribute("top") = parseInt(grp_predoculist
- .attribute("height")) - 30;
- }
- // 처방 휴지통
- if (grp_delclodlist.visible == true) {
- cap_grptemp.text = "처방 휴지통";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- grp_delclodlist.attribute("top") = icap_top + 15;
- grp_delclodlist.attribute("height") = igrd_hei + 5;
- grd_delclod.attribute("height") = igrd_hei - 23;
- btn_closedelclodlist.attribute("top") = parseInt(grp_delclodlist
- .attribute("height")) - 22;
- }
- // 심사변경 목록
- if (grp_delorderlist.visible == true) {
- cap_grptemp.text = "심사변경 목록";
- cap_grptemp.visible = true;
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- grp_delorderlist.attribute("top") = icap_top + 15;
- grp_delorderlist.attribute("height") = igrd_hei + 5;
- grd_delorder.attribute("height") = igrd_hei - 23;
- btn_closedelorderlist.attribute("top") = parseInt(grp_delorderlist
- .attribute("height")) - 22;
- }
- // 특정내역 / 심사자메모 / EDI메모 창이 확대된 경우 겹쳐져 보이므로 창을 작게 한다.
- fCutSwitchSize();
- }
- // 이전명세서 목록 조회
- function fSrchPreDocuList() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) { // 조회된 심사대상자가 있음
- // model.resetInstanceNode("/root/send/list4");
- var refterm = model.getValue("/root/send/list4/refterm");
- if (refterm == "0") {
- var fromdd = model.getValue("/root/send/list4/fromdd");
- var todd = model.getValue("/root/send/list4/todd");
- if (isValidDateTime(fromdd)) { // (dateHelper.js) 유효한 날짜, 시간 인지 점검
- if (isValidDateTime(todd)) {
- var dateDif = getDateInterval(fromdd, todd); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
- if (dateDif < 0) {
- messageBox("검색 시작일자가 종료일자 보다 이후", "E008"); // /검색 시작일자가 종료일자 보다 이후 입니다.
- return;
- }
- } else {
- return;
- }
- } else {
- return;
- }
- }
- model.setValue("/root/send/list4/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/send/list4/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- if (model.getValue("/root/send/list4/allordfild") != "Y") {
- model.setValue("/root/send/list4/ordfildcd", model.getValue("/root/main/item1/clbs/ordfildcd"));
- } else {
- model.resetInstanceNode("/root/send/list4/ordfildcd");
- }
- submit("TRPID20304");
- grd_predocu.rebuildStyle();
- for ( var i = 1; i < grd_predocu.rows; i++) {
- if (clamym == model.getValue("/root/main/list4/clbs[" + i + "]/clamym")) {
- grd_predocu.rowStyle(i, "data", "background-color") = "#4d4d4d"; // common.css (input)
- grd_predocu.rowStyle(i, "data", "background-image") = "../../../com/commonweb/images/grid_bg.gif";
- grd_predocu.rowStyle(i, "data", "background-repeat") = "repeat-x";
- i = grd_predocu.rows;
- }
- }
- }
- }
- // /////////////////////////////////////////////////////////////////////////
- // 등록번호를 입력하고 Enter 키를 누르면
- // 입원사후심사대상자 조회 Popup으로 등록번호를 전달하고 해당 환자를 조회하여 보여준다.
- function fGetInAftJudgTrgtManPidSrch() {
- var trgtManWindow = getChildWindow("SMPID20200"); // SMPID20200_입원사후심사대상자조회.xrw
- var patunitsrch1 = model.getValue("/root/main/item1/clbs/pid");
- if (trgtManWindow == null) {
- // pid가 변경되었는데 조회창을 여는 경우 기존 조회된 data 초기화를 위해 저장해둔다.
- model.setValue("/root/hidden/smpid20200/cond/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20200/rslt/oldPid", patunitsrch1);
- open("SMPID20200", "2", "10", "10", "SMPID20200", "/root/hidden/smpid20200/cond/pid", "/root/send/item1/patunitsrch1", "", ""); // SMPID20200_입원사후심사대상자조회.xrw
- } else {
- var oldPid = model.getValue("/root/hidden/smpid20200/rslt/oldPid");
- model.setValue("/root/hidden/smpid20200/cond/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20200/rslt/oldPid", patunitsrch1);
- /*
- * // [2007.03.28. 작성 2] if (oldPid == patunitsrch1) {
- * activateChild("SMPID20200"); } else { // 저장 후 oldPid가 ""로 설정되고 조회 시에
- * 처리되지 않는 문제있음 fInitSrchData();
- * model.setValue("/root/main/item1/clbs/pid", patunitsrch1);
- * trgtManWindow.javascript.fSetPatUnitSrch1pidSrch(); }
- */
- // [2007.03.28. 작성 1]
- if (oldPid == "") {
- if (patunitsrch1 == "") { // 환자번호 입력 없이 대상자를 조회하는 경우
- trgtManWindow.grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- activateChild("SMPID20200");
- } else { // 기존 심사대상자는 없는데 pid가 입력된 경우 또는 변경된 정보를 저장 후에 조회하는 경우
- trgtManWindow.javascript.fSetPatUnitSrch1pidSrch();
- }
- } else {
- if (patunitsrch1 != oldPid) { // 조회된 pid가 변경된 상태에서 조회하는 경우
- model.setValue("/root/main/item1/clbs/pid", patunitsrch1);
- model.setValue("/root/hidden/smpid20200/cond/pid", patunitsrch1);
- trgtManWindow.javascript.fSetPatUnitSrch1pidSrch();
- } else { // 기존 심사대상자는 있는데 pid가 변경되지 않은 경우
- trgtManWindow.grp_judgmemo.visible = false; // 대상자 Grid의 메모 필드의 Btn 클릭시 보여지는 메모 저장용 Group을 감춘다.
- activateChild("SMPID20200");
- }
- }
- // model.refresh();
- }
- }
- // 선별심사가 아닌 경우 심사대상자 조회 화면에서 다음 대상자를 찾는다.
- function fSrchNextJudgTrgtManCLBS(trgtManWindow, selectedRow, judgendyn) { // selectedRow: 현재 선택된 row
- var judgendcheck;
- var nextclamkey = "";
- var trgtmanclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs[" + selectedRow + "]/clamkey");
- // 현재 row 이후의 대상자 중 미심사 상태
- for ( var i = parseInt(selectedRow, 10) + 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (trgtmanclamkey != trgtManWindow.model
- .getValue("/root/main/list1/clbs[" + i + "]/clamkey")) {
- // 완료,보류일경우는 바로 다음 대상자를 조회하고 나머지는 미심사인 다음 대상자를 조회한다.
- if (judgendyn == "C" || judgendyn == "N") {
- judgendcheck = trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/judgendyn");
- } else {
- judgendcheck = "A";
- }
- if (trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/judgendyn") == judgendcheck) { // 심사완료여부(P0151) A:미심사
- model.setValue("/root/hidden/smpid20200/rslt/selectedRow", i);
- trgtManWindow.grd_clbsmast.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/clamkey");
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- }
- }
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- function fSrchNextJudgTrgtManSPEC(trgtManWindow, selectedRow, judgendyn) { // selectedRow: 현재 선택된 row / judgendyn: 심사완료여부
- var judgendcheck;
- var nextclamkey = "";
- var trgtmanclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs[" + selectedRow + "]/clamkey");
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- for ( var i = 1; i < trgtManWindow.grd_clbsmast.rows; i++) {
- if (trgtmanclamkey == trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/clamkey")) {
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + i + "]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + i + "]/lastupdtrid", userid);
- } else if (i > selectedRow && nextclamkey == "") { // 현재 row 이후의 대상자 중 미심사 상태
- // 완료,보류일경우는 바로 다음 대상자를 조회하고 나머지는 미심사인 다음 대상자를 조회한다.
- if (judgendyn == "C" || judgendyn == "N") {
- judgendcheck = trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/judgendyn");
- } else {
- judgendcheck = "A";
- }
- if (trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/judgendyn") == judgendcheck) { // 심사완료여부(P0151) A:미심사
- model.setValue("/root/hidden/smpid20200/rslt/selectedRow", i);
- trgtManWindow.grd_clbsmast.row = i;
- nextclamkey = trgtManWindow.model.getValue("/root/main/list1/clbs[" + i + "]/clamkey");
- }
- }
- }
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- return nextclamkey;
- }
- // "완료"~"삭제" 처리 후 다음 심사대상자를 조회한다.
- function fGetNextAftJudgTrgtMan(judgendyn) {
- // 상병그리드에서 editmode인상태에서 F7 단축키 누렀을 경우 에러발생방지 위함. 절대 지우지 말것.
- model.setFocus("grd_clodhist");
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- if (pid) {
- var rslt = fSaveInAftJudg(judgendyn);
- if (rslt == null || rslt == "") { // 저장이 완료되지 않은 경우
- return;
- } else {
- if (rslt == "false") { // 변경된 데이터가 없는 경우
- // "심사상태" 설정한다.
- model.removeNodeset("/root/send/item4");
- model.makeValue("/root/send/item4/endclbs/clamym", clamym);
- model.makeValue("/root/send/item4/endclbs/clamdg", clamdg);
- model.makeValue("/root/send/item4/endclbs/pid", pid);
- model.makeValue("/root/send/item4/endclbs/pidsn", pidsn);
- model.makeValue("/root/send/item4/endclbs/judgendyn", judgendyn);
- // 기존에 심사중이었던 경우
- submit("TXPID20302");
- fSetJudgSaveState(judgendyn); // 대상자조회 심사완료여부 (P0151)
- model.setValue("/root/main/item1/clbs/judgendyn", judgendyn);
- model.refreshpart("/root/main/item1/clbs/judgendyn")
- }
- var userid = getUserId(); // (common.js) 현재 로그인한 사용자 번호(ID)
- if (userid) {
- } else {
- userid = "12345678";
- }
- model.setValue("/root/main/item1/clbs/lastupdtrid", userid);
- model.setValue("/root/main/item1/clbs/judgendyn", judgendyn);
- }
- // 다음 심사대상자로 넘어간다.
- var trgtManWindow = getChildWindow("SMPID20200"); // SMPID20200_입원사후심사대상자조회.xrw
- if (trgtManWindow != null) {
- var selectedRow = model.getValue("/root/hidden/smpid20200/rslt/selectedRow");
- var reloadyn = trgtManWindow.instance1.getXPathString("/root/temp/reloadyn");
- var patunitsrch1 = trgtManWindow.instance1.getXPathString("/root/send/item1/patunitsrch1");
- if (reloadyn == "Y" && patunitsrch1.length == 0) {
- trgtManWindow.javascript.fGetInAftJudgTrgtManList();
- selectedRow = parseInt(selectedRow) - 1;
- }
- if (selectedRow) {
- var trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1/clbs");
- if (trgtmanlist == null) { // 조회된 대상자 목록이 없는 경우
- messageBox("조회된 심사대상자 목록이", "I004"); // /조회된 심사대상자 목록이 없습니다.
- } else {
- trgtmanlist = trgtManWindow.instance1.selectSingleNode("/root/main/list1");
- var maxRow = trgtmanlist.childNodes.length;
- var nextclamkey = "";
- if (selectedRow < maxRow) {
- var srchmode = trgtManWindow.model.getValue("/root/hidden/clbs/srchmode");
- if (srchmode == "specclbs") { // 선별심사 모드인 경우
- nextclamkey = fSrchNextJudgTrgtManSPEC(trgtManWindow, selectedRow, judgendyn);
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + selectedRow + "]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + selectedRow + "]/lastupdtrid", userid);
- nextclamkey = fSrchNextJudgTrgtManCLBS(trgtManWindow, selectedRow);
- }
- if (nextclamkey) {
- var irow = model.getValue("/root/hidden/smpid20200/rslt/selectedRow");
- var clamym = trgtManWindow.model.getValue("/root/main/list1/clbs[" + irow + "]/clamym");
- var clamdg = trgtManWindow.model.getValue("/root/main/list1/clbs[" + irow + "]/clamdg");
- var pid = trgtManWindow.model.getValue("/root/main/list1/clbs[" + irow + "]/pid");
- var pidsn = trgtManWindow.model.getValue("/root/main/list1/clbs[" + irow + "]/pidsn");
- var gridcutprcpyn = trgtManWindow.model.getValue("/root/send/item1/cutprcpsel");
- model.setValue("/root/hidden/smpid20200/rslt/clamym", clamym);
- model.setValue("/root/hidden/smpid20200/rslt/clamdg", clamdg);
- model.setValue("/root/hidden/smpid20200/rslt/pid", pid);
- model.setValue("/root/hidden/smpid20200/rslt/pidsn", pidsn);
- model.setValue("/root/hidden/smpid20200/rslt/cutprcpyn", gridcutprcpyn);
- fGetInAftJudgMngt();
- trgtManWindow.javascript.setPopupRefresh(pid);
- return;
- } else {
- messageBox("다음 심사 대상자의 정보가", "I004"); // /다음 심사 대상자의 정보가 없습니다.
- }
- } else {
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + selectedRow + "]/judgendyn", judgendyn);
- trgtManWindow.model.setValue("/root/main/list1/clbs[" + selectedRow + "]/lastupdtrid", userid);
- trgtManWindow.javascript.fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
- trgtManWindow.model.refresh();
- // 마지막 줄인 경우 이후 대상자가 없다.
- messageBox("조회된 마지막 심사대상자 입니다. 이후 심사 대상자가", "I004"); // /조회된 마지막 심사대상자 입니다. 이후 심사 대상자가 없습니다.
- }
- }
- } else {
- messageBox("화면이 변경되었으므로 다음 대상자를 다시", "C002"); // /화면이 변경되었으므로 다음 대상자를 다시 선택하십시오.
- }
- return;
- }
- }
- }
- // 처방 Grid 필터용 조회조건을 초기화한다.
- function fInitOrderFilter() {
- // 처방Grid용 조회부의 Radio 초기값을 "전체"로 설정한다.
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoMatrAct", "-");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoPay", "0");
- model.setValue("/root/hidden/list2/clodsrch/selectedRdoItem", "-");
- model.resetInstanceNode("/root/hidden/list2/clodsrch/inpCalcScorCd");
- model.resetInstanceNode("/root/hidden/list2/clodsrch/inpEDICd");
- // model.refresh();
- rdo_matractflag.refresh();
- rdo_payflag.refresh();
- ipt_calcscorcd.refresh();
- rdo_item1.refresh();
- ipt_edicd.refresh();
- }
- // /////////////////////////////////////////////////////////////////////////
- // 보조유형 및 요율 combo(cmb_supprate)의 선택 값이 변경된 경우 각각을 해당 output에 설정한다.
- function fSetPatSuppRate() {
- // 보조유형ID과 요율%로 combo 의 value
- // 보조유형NM과 요율%로 combo 의 label
- var patsupprate = model.getValue("/root/hidden/item1/clbs/patsupprate");
- var suppkindcd = patsupprate.substr(0, 2);
- var payownbrate = patsupprate.substr(3, patsupprate.length);
- model.setValue("/root/main/item1/clbs/suppkindcd", suppkindcd);
- model.setValue("/root/main/item1/clbs/payownbrate", payownbrate);
- model.setValue("/root/main/item1/clbs/recalcyn", "Y"); // 저장 시에 재계산할지 여부를
- // 설정함
- opt_payownbrate.refresh();
- opt_suppkind.refresh();
- if (suppkindcd != "00") {
- opt_suppkind.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색"#cece9c";
- opt_payownbrate.attribute("background-color") = "#f7a08b"; // class="color_6" 다홍색"#cece9c";
- } else {
- opt_suppkind.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- opt_payownbrate.attribute("background-color") = "#f2f2f2"; // output_fix 클래스의 background-color
- }
- }
- // 조합기호(ipt_insuno)를 입력하면 해당 조합명칭과 보험회사코드를 조회한다.
- function fGetInAftJudgTrgtManInsunm() {
- model.makeValue("/root/send/item2/incd/insucd", model.getValue("/root/main/item1/clbs/insuno"));
- model.makeValue("/root/send/item2/incd/ordfromdd", model.getValue("/root/main/item1/clbs/ordfromdd"));
- submit("TRPID20302");
- var insucdnm = model.getValue("/root/main/item2/incd/insucdnm");
- var insucmno = model.getValue("/root/main/item2/incd/insucmno");
- if (insucdnm) {
- model.setValue("/root/main/item1/clbs/insunm", insucdnm);
- model.setValue("/root/main/item1/clbs/insucmno", insucmno);
- model.refreshpart("/root/main/item1/clbs/insunm");
- model.refreshpart("/root/main/item1/clbs/insucmno");
- } else {
- model.resetInstanceNode("/root/main/item1/clbs/insunm");
- model.resetInstanceNode("/root/main/item1/clbs/insucmno");
- model.refreshpart("/root/main/item1/clbs/insunm");
- model.refreshpart("/root/main/item1/clbs/insucmno");
- ipt_insuno.dispatch("onbuttonclick");
- }
-
- }
- // [2007.04.23] function 작성: (통합팀) 김선희 대리님
- // 주민번호를 이용한 나이 계산의 경우, 유효하지 않은 주민번호에 대해서는 -1 값만을 반환하므로,
- // 주민번호 앞자리를 이용해서 yyyymmdd 형태로 만든다.
- function getBirthDate(pResidentNo) {
- if (isNaN(pResidentNo))
- return -1;
- gender = pResidentNo.substr(6, 1);
- if (gender == "3" || gender == "4" || gender == "7" || gender == "8") {
- regYY = "20";
- } else if (gender == "0" || gender == "9") {
- regYY = "18";
- } else {
- regYY = "19";
- }
- var rtn = regYY + pResidentNo.substr(0, 6);
- return rtn;
- }
- // /////////////////////////////////////////////////////////////////////////
- // 특정 환자에 대해 그동안 작성된 심사자메모, 청구메모 내역을 조회한다.
- function fGetMemoHistList() {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있고
- model.removeNodeset("/root/hidden/sppiz00300/rslt");
- // SPPIZ00300_메모이력조회.xrw 에서 /root/hidden/sppiz00300 로 결과값을 전달하므로 cond
- // 노드를 makeValue 해야함
- model.makeValue("/root/hidden/sppiz00300/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.makeValue("/root/hidden/sppiz00300/cond/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd"));
- model.makeValue("/root/hidden/sppiz00300/cond/ioflag", "I");
- model.makeValue("/root/hidden/sppiz00300/cond/refterm", "2");
- model.makeValue("/root/hidden/sppiz00300/cond/anofildinclyn", "Y");
- model.makeValue("/root/hidden/sppiz00300/cond/fromdd", "");
- model.makeValue("/root/hidden/sppiz00300/cond/todd", "");
- model.makeValue("/root/hidden/sppiz00300/cond/clamkey", clamkey);
- modal("SPPIZ00300", "1", "10", "10", "SPPIZ00300","/root/hidden/sppiz00300/cond", "/root/init", "", ""); // SPPIZ00300_메모이력조회.xrw
- var SelectMemo = instance1.selectSingleNode("/root/hidden/sppiz00300/rslt");
- if (SelectMemo != null) {
- var choimemo = model.getValue("/root/hidden/sppiz00300/rslt/choimemo").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
- var choiedicd = model.getValue("/root/hidden/sppiz00300/rslt/edicd");
- if (choimemo) {
- model.setValue("/root/hidden/sppiz00300/rslt/choimemo", choimemo);
- var destRef = model.getValue("/root/hidden/sppiz00300/rslt/destRef");
- if (destRef == "judgmemo") {
- // 심사메모로 전달
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo");
- if (judgmemo) { // 기존 심사메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/judgmemo", judgmemo + " \n" + choimemo);
- } else {
- if (choiedicd) { // 처방별 메모를 전달하는 경우임
- // 동일한 EDI 코드가 있을 경우만 추가
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var clodedicd = model.getValue("/root/main/list2/clod[" + j + "]/basecd");
- if (choiedicd == clodedicd) {
- model.setValue("/root/main/item1/memo/judgmemo", choimemo);
- j = grd_clodhist.rows;
- }
- }
- } else {
- model.setValue("/root/main/item1/memo/judgmemo", choimemo);
- }
- }
- tar_judgrmemo.refresh();
- model.toggle("case_judgrmemo"); // 해당 tab 으로 토글시킨다.
- } else if (destRef == "edimemo") {
- // 청구메모로 전달
- var edimemo = model
- .getValue("/root/main/item1/memo/edimemo");
- if (edimemo) { // 기존 청구메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/edimemo", edimemo + " \n" + choimemo);
- } else {
- if (choiedicd) { // 처방별 메모를 전달하는 경우임
- // 동일한 EDI 코드가 있을 경우 * 표시
- for ( var j = 1; j < grd_clodhist.rows; j++) {
- var clodedicd = model.getValue("/root/main/list2/clod[" + j + "]/basecd");
- if (choiedicd == clodedicd) {
- model.setValue("/root/main/item1/memo/edimemo", choimemo);
- j = grd_clodhist.rows;
- }
- }
- } else {
- model.setValue("/root/main/item1/memo/edimemo",
- choimemo);
- }
- }
- tar_ediclammemo.refresh();
- model.toggle("case_ediclammemo"); // 해당 tab 으로 토글시킨다.
- } else if (destRef == "prcpmemo") {
- // 처방별 주석로 전달
- // 동일한 EDI 코드가 있을 경우 * 표시
- for ( var i = 1; i < grd_clodhist.rows; i++) {
- var snglcalcscorcd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- var edicd = model.getValue("/root/main/list2/clod[" + i + "]/basecd");
- var seqno = model.getValue("/root/main/list2/clod[" + i + "]/seqno");
- var edilnno = model.getValue("/root/main/list2/clod[" + i + "]/edilnno");
- if (choiedicd == edicd) {
- var lnunitspclspecyn = model.getValue("/root/main/list2/clod[" + i + "]/lnunitspclspecyn");
- var rowNum = "";
- if (lnunitspclspecyn) {
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- if (grd_clsphist.rowstatus(j) != 4) {
- var clodseqno = model.getValue("/root/main/list3/clsp[" + j + "]/clodseqno");
- if (clodseqno == seqno) {
- if (model.getValue("/root/main/list3/clsp[" + j + "]/spclcd") == "JX999") {
- rowNum = j;
- j = grd_clsphist.rows;
- }
- }
- }
- }
- if (rowNum) {
- var ans = messageBox(edilnno + "번 줄에 등록된 메모가 있어 기존 내역에 덧붙이거나 삭제후 추가할 수 있습니다.\n덧붙여 추가", "S001");
- // /***번 줄에 등록된 메모가 있어 기존 내역에 덧붙이거나 삭제후 추가할
- // 수 있습니다.\n덧붙여 추가 하시려면 예(Yes)\n아니면 아니오(No)
- if (ans == 6) { // 6: yes
- var spclspec = model.getValue("/root/main/list3/clsp[" + rowNum + "]/spclspec");
- model.setValue("/root/main/list3/clsp[" + rowNum + "]/spclspec", spclspec + "\n" + choimemo);
- var rowstatus = grd_clsphist.rowstatus(rowNum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rowNum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- } else if (ans == 7) { // 7:no
- model.setValue("/root/main/list3/clsp[" + rowNum + "]/spclspec", choimemo);
- var rowstatus = grd_clsphist.rowstatus(rowNum);
- if (rowstatus == 1 || rowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(rowNum) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- } else if (ans == 2) { // 2:cancel
- }
- } else { // 기존에 입력된 JX999가 없는 경우
- // 'JX999' 코드를 추가한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid 가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", choimemo);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clsoyn", "N"); // 원외처방여부 JX999 + 다른 코드도 있는 경우가 된다.
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#b5a5d1"; // 연한 보라색
- }
- } else { // 기존에 입력된 줄단위 특정내역이 없는 경우
- // 'JX999' 코드를 추가한다.
- var clsprow = grd_clsphist.rows - 1; // 특정내역 Grid가장 마지막 줄에 추가한다.
- grd_clsphist.insertRow(clsprow++, true);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/unitflag", "J");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/edilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clodseqno", seqno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/snglcalcscorcd", snglcalcscorcd);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "JX999");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "기타내역");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", choimemo);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(700)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "특정내역의 구분코드가 없는 경우에는 기타 줄번호(확장 번호)단위의 기타내역에 기재");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/oldedilnno", edilnno);
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/clsoyn", "N"); // 원외처방여부
- model.setValue("/root/main/list2/clod[" + i + "]/lnunitspclspecyn", "*");
- // JX999만 있는 경우
- grd_clodhist.cellStyle("background-color", i, grd_clodhist.colRef("lnunitspclspecyn")) = "#f7a08b"; // class="color_6" 다홍색
- fSetOrderChangeRowStat(i); // 처방의 수정된 row 상태를 표시한다.
- } // lnunitspclspecyn == ""
- } // if (choiedicd == clodedicd)
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- grd_clodhist.refresh();
- model.toggle("case_spclspec"); // 해당 tab 으로 토글시킨다.
- } // if (destRef == "prcpmemo")
- // model.refresh();
- } // if (choimemo)
- } // if (SelectMemo != null)
- } // if (clamkey)
- }
- // 심사자메모, EDI청구메모를 특정내역 형식에 맞춰 설정한다.
- function fSetJudgEDIMemo(spclmemo, usermemoyn) {
- var delclspNode = instance1.selectSingleNode("/root/send/item3/delclsp");
- var max = 1;
- if (delclspNode != null) {
- max = delclspNode.childNodes.length + 1;
- }
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delunitflag", "M");
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delspclcd", "MX999");
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delusermemoyn", usermemoyn);
- model.makeNode("/root/send/item3/delclsp/delmemo[" + max + "]/delcalcscorcd");
- model.makeNode("/root/send/item3/delclsp/delmemo[" + max + "]/deledilnno");
- var item3Path = "";
- var item3Node = "";
- var repeat = ""; // 특정내역 반복 설정 rowstat = 'R'
- if (usermemoyn == "Y") {
- item3Path = "/root/send/item3/judgmemo[";
- item3Node = "judg";
- repeat = model.getValue("/root/main/item1/memo/judgmemorepeat");
- } else {
- item3Path = "/root/send/item3/edimemo[";
- item3Node = "edi";
- repeat = model.getValue("/root/main/item1/memo/edimemorepeat");
- }
- var iSpclCdCnt = 0; // DB에 저장될 MX999 코드 개수
- var iSpclCdTotLength = getStringLength(spclmemo); // (stringHelper.js) 문자열의 길이를 구한다.
- var insCharTotCnt = 0; // 특정내역으로 잘라진 총 글자 수
- if (iSpclCdTotLength > 350) { // 새로 입력된 특정코드가 700byte를 넘는다.
- // 영문(700자), 한글(350자) 길이로 잘라서 n개의 특정코드를 만든다.
- var iLen = 0; // 특정내역 길이가 700 byte가 되었는지 계산
- var iStartInx = 0; // 특정내역 시작 index
- var iCharCnt = 0; // 몇글자로 구성되는지 계산
- for ( var i = 0; i < spclmemo.length; i++) {
- var sBit = spclmemo.charAt(i);
- iCharCnt++;
- if (escape(sBit).length > 4) {
- iLen = iLen + 2;
- } else {
- iLen = iLen + 1;
- }
- if (iLen == 350 || iLen > 350) { // 영문(700자), 한글(350자)
- iSpclCdCnt++;
- if (iLen == 350) { // 700byte로 길이가 끝난 경우
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "spclspec", spclmemo.substr(iStartInx, iCharCnt));
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "rowstat", repeat);
- iStartInx += iCharCnt;
- insCharTotCnt += 350;
- } else if (iLen > 350) { // 영문(700자), 한글(350자)를 넘는 경우
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "spclspec", spclmemo.substr(iStartInx, iCharCnt - 1));
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "rowstat", repeat);
- iStartInx += (iCharCnt - 1);
- i--;
- insCharTotCnt += 349;
- }
- iCharCnt = 0;
- iLen = 0;
- }
- }
- if (iSpclCdTotLength != insCharTotCnt) {
- iSpclCdCnt++;
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "spclspec", spclmemo.substring(iStartInx, spclmemo.length));
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "rowstat", repeat);
- }
- } else if (iSpclCdTotLength > 0) { // 새로 추가된 내용이 있다.
- iSpclCdCnt++;
- // model.makeValue(item3Path + iSpclCdCnt +"]/"+ item3Node
- // +"usermemoyn", usermemoyn);
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "spclspec", spclmemo);
- model.makeValue(item3Path + iSpclCdCnt + "]/" + item3Node + "rowstat", repeat);
- // }
- }
- }
- // 심사Comment 조회 Popup에서 선택한 심사자메모를 설정한다.
- function fSetJudgMemoRefresh() {
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var judgmemo = model.getValue("/root/main/item1/memo/judgmemo");
- if (memo) {
- if (judgmemo) { // 기존 심사메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/judgmemo", judgmemo + " \n" + memo);
- } else {
- model.setValue("/root/main/item1/memo/judgmemo", memo);
- }
- model.refreshpart("/root/main/item1/memo/judgmemo");
- }
- }
- // 심사Comment 조회 Popup에서 선택한 EDI메모를 설정한다.
- function fSetEdiMemoRefresh() {
- var memo = model.getValue("/root/hidden/sppiz00700/rslt/memo");
- var edimemo = model.getValue("/root/main/item1/memo/edimemo");
- if (memo) {
- if (edimemo) { // 기존 청구메모가 공백이 아닌 경우 선택된 메모를 심사화면 메모 뒤에 덧붙인다.
- model.setValue("/root/main/item1/memo/edimemo", edimemo + " \n" + memo);
- } else {
- model.setValue("/root/main/item1/memo/edimemo", memo);
- }
- model.refreshpart("/root/main/item1/memo/edimemo");
- }
- }
- // -------------------------------------
- // 특정 환자에 대한 상병이력을 조회한다.
- // -------------------------------------
- function fGetDiagHistList() {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있으면
- // 심사대상자의 등록번호를 조건으로 하여 전체 청구 상병이력을 조회한다.
- model.removeNodeset("/root/hidden/smpiz00100/rslt");
- model.setValue("/root/hidden/smpiz00100/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/smpiz00100/cond/ordfromdd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/smpiz00100/cond/ordtodd", model.getValue("/root/main/item1/clbs/dschdd"));
- // model.setValue("/root/hidden/smpiz00100/cond/srchflag", "pam"); //
- // 검색구분 Radio : 청구
- modal("SMPIZ00100", "1", "10", "10", "SMPIZ00100", "/root/hidden/smpiz00100/cond", "/root/init", "", ""); // SMPIZ00100_외래입원상병이력조회.xrw
- var rsltNode = instance1
- .selectSingleNode("/root/hidden/smpiz00100/rslt");
- if (rsltNode != null) {
- for ( var i = 1; i <= rsltNode.childNodes.length; i++) {
- var diagcd = model.getValue("/root/hidden/smpiz00100/rslt/diag[" + i + "]/diagcd");
- var isSame = false;
- for ( var j = grd_cldihist.fixedRows; j < grd_cldihist.rows; j++) {
- if (diagcd == model.getValue("/root/main/list1/cldi[" + j + "]/diagcd")
- // && grd_cldihist.rowstatus(j) != 4 20100308 추가 저장시문제있음
- ) {
- // 동일한 상병이 존재하는 경우
- isSame = true;
- j = grd_cldihist.rows;
- }
- }
- if (isSame == false) {
- // 상병 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- fDiagGridInsertRow("Y", "Y");
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagkindcd", model.getValue("/root/hidden/smpiz00100/rslt/diag[" + i + "]/diagkindcd"));
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq", grd_cldihist.row);
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagcd", model.getValue("/root/hidden/smpiz00100/rslt/diag[" + i + "]/diagcd"));
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagnm", model.getValue("/root/hidden/smpiz00100/rslt/diag[" + i + "]/diaghngnm"));
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagengnm", model.getValue("/root/hidden/smpiz00100/rslt/diag[" + i + "]/diagengnm"));
- // 20100308 특정내역 조회 추가
- model.setValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode", fGetDiagVcode(diagcd));
- // 20100329 MT002 입력체크
- if (model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagseq") == "1"
- && model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode") != ""
- && model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/diagkindcd") != "R"
- )
- {
- fSetDiagMT002(model.getValue("/root/main/list1/cldi[" + grd_cldihist.row + "]/vcode"));
- }
- var nowRow = grd_cldihist.row;
- }
- }
- fSortDiagNo(true);
- grd_cldihist.row = nowRow;
- }
- }
- }
- // 처방사유조회
- // history.. 진료에 있는화면 기본조건으로 팝업사용..YS(윤샘)요청
- function fPrcpResnRef() {
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; // 사용자번호
- var usernm = UserInfosS_Array[1]; // 사용자이름
- var posinstcd = UserInfosS_Array[6]; // 근무지기관코드
- var posinstnm = UserInfosS_Array[7]; // 근무지기관명
- var posdeptcd = UserInfosS_Array[4]; // 소속부서코드
- var posdeptnm = UserInfosS_Array[5]; // 소속부서명
- model.makeValue("/root/tmp/prcpresnref/info/pid", model.getValue("/root/main/item1/clbs/pid")); // 등록번호
- model.makeValue("/root/tmp/prcpresnref/info/fromdd", model.getValue("/root/main/item1/clbs/indd")); // 처방시작일 default indd
- model.makeValue("/root/tmp/prcpresnref/info/todd", model.getValue("/root/main/item1/clbs/dschdd")); // 처방종료일 default dschdd
- model.makeValue("/root/tmp/prcpresnref/info/orddeptcd", "-"); // 진료과 주진료과
- model.makeValue("/root/tmp/prcpresnref/info/orddrid", "-"); // 주치의 : default "-"
- model.makeValue("/root/tmp/prcpresnref/info/mainjudgid", "-"); // 심사자 : 현재심사자
- // 20091111 JHP 필터시에는 getValue가 먹지를 않기 때문에 valuMatrix로 처리변경함.
- model.makeValue("/root/tmp/prcpresnref/info/prcpcd", grd_clodhist.valueMatrix(grd_clodhist.row, grd_clodhist.colRef("grupcalcscorcd"))); // 수가코드 : 그룹코드
- model.makeValue("/root/tmp/prcpresnref/info/insukind", model.getValue("/root/main/item1/clbs/insukindcd")); // 보험유형 : 환자보험유형
- model.makeValue("/root/tmp/prcpresnref/info/ioflag", "I"); // 내원유형 : default "-"
- model.makeValue("/root/tmp/prcpresnref/info/resncd", "FF"); // 사유구분 : default "FF" 중복처방
- model.makeValue("/root/tmp/prcpresnref/info/popup", "judg"); // 팝업사용처구분 : judg(심사)
- modal("SPMMO19000_중복처방사유조회", "", "400", "300", "", "/root/tmp/prcpresnref/info", "/root/tmp/prcpresnref/info");
- model.removeNode("/root/tmp/prcpresnref");
- }
- // -------------------------------------------------------------------
- // 줄단위 특정내역 중 기타메모(JX999)를 특정내역 형식에 맞춰 설정한다.
- // -------------------------------------------------------------------
- function fSetSpclSpecJX999() {
- var iTotSpclCdCnt = 0; // DB에 저장될 JX999 코드 개수
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var rowstatus = grd_clsphist.rowstatus(i);
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var snglcalcscorcd = model.getValue("/root/main/list3/clsp[" + i + "]/snglcalcscorcd");
- var edilnno = model.getValue("/root/main/list3/clsp[" + i + "]/edilnno");
- var seqno = model.getValue("/root/main/list3/clsp[" + i + "]/seqno");
- var clodseqno = model.getValue("/root/main/list3/clsp[" + i + "]/clodseqno");
- var clsoyn = model.getValue("/root/main/list3/clsp[" + i + "]/clsoyn");
- var mpsno = model.getValue("/root/main/list3/clsp[" + i + "]/mpsno");
- if (rowstatus != 0 && spclcd == "JX999") {
- var delclspNode = instance1.selectSingleNode("/root/send/item3/delclsp");
- var max = 1;
- if (delclspNode != null) {
- max = delclspNode.childNodes.length + 1;
- }
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delunitflag", "J");
- var oldspclcd = model.getValue("/root/main/list3/clsp[" + i + "]/oldspclcd");
- if (oldspclcd) {
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delspclcd", oldspclcd);
- } else {
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delspclcd", spclcd);
- }
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delusermemoyn", "N");
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delcalcscorcd", snglcalcscorcd);
- if (rowstatus == 2) { // JX999는 seqno로 기존 코드를 삭제하는 것이 아니라 줄번호로
- // 삭제하므로 조회해온 초기 줄번호를 전달한다.
- var initedilnno = model.getValue("/root/main/list3/clsp[" + i + "]/initedilnno");
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/deledilnno", initedilnno);
- } else {
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/deledilnno", edilnno);
- }
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delseqno", seqno);
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delclsoyn", clsoyn);
- model.makeValue("/root/send/item3/delclsp/delmemo[" + max + "]/delmpsno", mpsno);
- }
- // 해당 청구키의 JX999는 모두 삭제하고 새로 추가하므로 "삭제" 상태가 아닌 모든 경우를 전송한다.
- if (rowstatus != 0 && rowstatus != 4 && spclcd == "JX999") { // 0 : new, 4: delete
- var iSpclCdCnt = 0;
- var spclmemo = model.getValue("/root/main/list3/clsp[" + i + "]/spclspec");
- var repeat = model.getValue("/root/main/list3/clsp[" + i + "]/rowstat"); // 특정내역 반복 설정 rowstat = 'R'
- var iSpclCdTotLength = getStringLength(spclmemo); // (stringHelper.js) 문자열의 길이를 구한다.
- var insCharTotCnt = 0; // 특정내역으로 잘라진 총 글자 수
- if (iSpclCdTotLength > 350) { // 새로 입력된 특정코드가 700byte를 넘는다.
- // 영문(700자), 한글(350자) 길이로 잘라서 n개의 특정코드를 만든다.
- var iLen = 0; // 특정내역 길이가 700 byte가 되었는지 계산
- var iStartInx = 0; // 특정내역 시작 index
- var iCharCnt = 0; // 몇글자로 구성되는지 계산
- for ( var j = 0; j < spclmemo.length; j++) {
- var sBit = spclmemo.charAt(j);
- iCharCnt++;
- if (escape(sBit).length > 4) {
- iLen = iLen + 2;
- } else {
- iLen = iLen + 1;
- }
- if (iLen == 350 || iLen > 350) { // 영문(700자), 한글(350자)
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- if (iLen == 350) { // 700byte로 길이가 끝난 경우
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitspclspec", spclmemo.substr(iStartInx, iCharCnt));
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitrowstat", repeat);
- iStartInx += iCharCnt;
- insCharTotCnt += 350;
- } else if (iLen > 350) { // 영문(700자), 한글(350자)를 넘는 경우
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitspclspec", spclmemo.substr(iStartInx, iCharCnt - 1));
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitdclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitrowstat", repeat);
- iStartInx += (iCharCnt - 1);
- j--;
- insCharTotCnt += 349;
- }
- iCharCnt = 0;
- iLen = 0;
- }
- }
- if (iSpclCdTotLength != insCharTotCnt) {
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitspclspec", spclmemo.substring(iStartInx, spclmemo.length));
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitrowstat", repeat);
- }
- } else if (iSpclCdTotLength > 0) { // 새로 추가된 내용이 있다.
- iTotSpclCdCnt++;
- iSpclCdCnt++;
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitspclspec", spclmemo);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitcalcscorcd", snglcalcscorcd);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitedilnno", edilnno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclodseqno", clodseqno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitclsoyn", clsoyn);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitmpsno", mpsno);
- model.makeValue("/root/send/item3/lnunitmemo[" + iTotSpclCdCnt + "]/lnunitrowstat", repeat);
- }
- }
- }
- }
- // 특정내역 / 심사자메모 / EDI메모 창을 작게 한다.
- function fCutSwitchSize() {
- grp_clsphist.attribute("height") = "170";
- var igrd_hei = parseInt(grp_clsphist.attribute("height"));
- swt_spclmemo.attribute("height") = igrd_hei - 24;
- grd_clsphist.attribute("height") = igrd_hei - 61;
- tar_judgrmemo.attribute("height") = igrd_hei - 61;
- tar_ediclammemo.attribute("height") = igrd_hei - 61;
- if (grp_predoculist.visible == false && grp_delclodlist.visible == false
- && grp_delorderlist.visible == false) {
- grd_clodhist.attribute("width") = "1114";
- ln_clodhist.attribute("x2") = "1114";
- }
- }
- // 특정내역 / 심사자메모 / EDI메모 창을 크게 한다.
- function fExpandSwitchSize() {
- grp_clsphist.attribute("height") = "632";
- var igrd_hei = parseInt(grp_clsphist.attribute("height"));
- swt_spclmemo.attribute("height") = igrd_hei - 24;
- grd_clsphist.attribute("height") = igrd_hei - 61;
- tar_judgrmemo.attribute("height") = igrd_hei - 61;
- tar_ediclammemo.attribute("height") = igrd_hei - 61;
- // 처방 Grid 을 축소하고, Grid Group이 겹쳐져 보이므로 visible = false 처리한다.
- if (grp_predoculist.visible == true || grp_delclodlist.visible == true
- || grp_delorderlist.visible == true) {
- grd_clodhist.attribute("width") = "630";
- ln_clodhist.attribute("x2") = "630";
- } else {
- grd_clodhist.attribute("width") = "480";
- ln_clodhist.attribute("x2") = "480";
- }
- }
- // /////////////////////////////////////////////////////////////////////////
- // 특정내역 중 MT004 내역을 설정한다.
- function fSetSpclMT004() {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있고
- if (btn_mt0004.attribute("class") == "btn5_letter4") { // 특정내역에 'MT004'
- // 코드가 있는 경우
- // 'MT004' 코드를 삭제한다.
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var gridrowstatus = grd_clsphist.rowstatus(i);
- if (spclcd == "MT004" && gridrowstatus != 4) {
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp[" + i + "]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp[" + i + "]/spclspec");
- // grd_clsphist.deleteRow(i, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(i) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- btn_mt0004.attribute("class") = "btn2_letter4";
- } else { // 특정내역에 'MT004' 코드가 없는 경우
- // 'MT004' 코드를 추가한다.
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- var clsprow = grd_clsphist.row;
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclcd", "MT004");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/cdnm", "소명자료 구분");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclspec", "Y");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/spclformat", "X(1)");
- model.setValue("/root/main/list3/clsp[" + clsprow + "]/detldesc", "소명자료를 첨부하는 경우 'Y'를 기재");
- btn_mt0004.attribute("class") = "btn5_letter4";
- btn_mt0004.attribute("color") = "#cc3333"; // cc3333=붉은색
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- grd_clsphist.refresh();
- }
- }
- // 특정내역 중 MT015, MT016 내역을 조회하여 "소명자료" Btn (첨부물 자료관리) Popup 화면에 표시한다.
- function fGetAttachedDataList() {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있고
- model.removeNodeset("/root/hidden/sppiz00200/cond");
- var index = 0;
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- var gridrowstatus = grd_clsphist.rowstatus(i);
- if (spclcd == "MT015" || spclcd == "MT016") {
- index++;
- model.makeValue("/root/hidden/sppiz00200/cond/clsp[" + index + "]/spclcd", model.getValue("/root/main/list3/clsp[" + i + "]/spclcd"));
- model.makeValue("/root/hidden/sppiz00200/cond/clsp[" + index + "]/seqno", model.getValue("/root/main/list3/clsp[" + i + "]/seqno"));
- model.makeValue("/root/hidden/sppiz00200/cond/clsp[" + index + "]/spclspec", model.getValue("/root/main/list3/clsp[" + i + "]/spclspec"));
- // 특정내역 Grid에서 "행 삭제"한 경우 MT015 / MT016 자료를 표시하지 않도록 하도록
- // rowstatus를 전달함
- model.makeValue("/root/hidden/sppiz00200/cond/clsp[" + index + "]/rowstat", gridrowstatus);
- }
- }
- if (instance1.selectSingleNode("/root/hidden/sppiz00200/cond") == null) {
- model.makeNode("/root/hidden/sppiz00200/cond");
- }
- modal("SPPIZ00200", "1", "10", "10", "SPPIZ00200", "", "", "", ""); // SPPIZ00200_첨부물자료관리.xrw
- fDisplayAttachedDataList();
- }
- }
- // "소명자료" Btn (첨부물 자료관리) Popup 화면에서 특정내역 중 MT015, MT016 정보가 입력된 환자인지를 확인한다.
- function fDisplayAttachedDataList() {
- var isAttachedDataList = false;
- var cSrcNode = instance1.selectSingleNode("/root/hidden/sppiz00200/rslt/clsp");
- if (cSrcNode == null) { // 특정내역이 없는 경우임
- return;
- }
- if (model.getValue("/root/hidden/sppiz00200/rslt/clsp/unitflag") == "") { // "취소" 선택시에 버튼 색이 변경되지 않도록
- return;
- }
- var cSrcChildNodeList = cSrcNode.childNodes;
- for ( var i = 1; i <= cSrcChildNodeList.length; i++) {
- var spclcd = model.getValue("/root/hidden/sppiz00200/rslt/clsp[" + i + "]/spclcd");
- if (spclcd == "MT015" || spclcd == "MT016") {
- var rowstat = model.getValue("/root/hidden/sppiz00200/rslt/clsp[" + i + "]/rowstat")
- if (rowstat != "D") {
- var spclspec = model.getValue("/root/hidden/sppiz00200/rslt/clsp[" + i + "]/spclspec");
- if (spclspec) {
- isAttachedDataList = true;
- }
- // 특정내역 Grid 에서 해당 내용을 삽입 또는 수정한다.
- if (rowstat == "I") { // 삽입
- fSpclGridInsertRow();
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/spclcd", spclcd);
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/spclspec", spclspec);
- if (spclcd == "MT015") {
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/cdnm", "제출자료 목록표");
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/spclformat", "X(2)");
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/detldesc", "제출자료코드/제출자료코드/... 형태로 입력");
- } else {
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/cdnm", "제출자료 목록표(기타)");
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/spclformat", "X(200)");
- model.setValue("/root/main/list3/clsp[" + grd_clsphist.row + "]/detldesc", "영문(200자), 한글(100자)");
- }
- } else if (rowstat == "U") { // 수정
- for (var j = 1; j < grd_clsphist.rows; j++) {
- var gridspclcd = model.getValue("/root/main/list3/clsp[" + j + "]/spclcd");
- var gridspclspec = model.getValue("/root/main/list3/clsp[" + j + "]/spclspec");
- var gridrowstatus = grd_clsphist.rowstatus(j);
- if (gridspclcd == spclcd) {
- model.setValue("/root/main/list3/clsp[" + j + "]/spclspec", spclspec);
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- } else {
- grd_clsphist.rowstatus(j) = 2; // 2 : update 상태로 stat를 변경한다.
- }
- }
- }
- }
- } else { // 삭제
- // 특정내역 Grid 에서 해당 내용을 삭제한다.
- for ( var j = 1; j < grd_clsphist.rows; j++) {
- var gridspclcd = model.getValue("/root/main/list3/clsp[" + j + "]/spclcd");
- var gridspclspec = model.getValue("/root/main/list3/clsp[" + j + "]/spclspec");
- var gridrowstatus = grd_clsphist.rowstatus(j);
- if (gridspclcd == spclcd) {
- if (gridrowstatus == 1 || gridrowstatus == 3) { // 1 : insert, 3 : insert & new
- model.resetInstanceNode("/root/main/list3/clsp[" + j + "]/spclcd");
- model.resetInstanceNode("/root/main/list3/clsp[" + j + "]/spclspec");
- // grd_clsphist.deleteRow(j, false); // 해당 라인을 Grid에서 삭제한다.
- } else { // 0 : new, 2 : update
- grd_clsphist.rowstatus(j) = 4; // 4 : delete 상태로 stat를 변경한다.
- }
- }
- }
- }
- }
- }
- // 특정내역 줄번호/특정코드에 따라 sorting 작업
- fSortSpclNo();
- if (isAttachedDataList) {
- btn_attData.attribute("class") = "btn5_letter4";
- btn_attData.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_attData.attribute("class") = "btn2_letter4";
- }
- }
- // --------------------------------------------------------------
- // 특정코드 MT015, MT016, MT004 정보가 입력된 환자인지를 확인한다.
- // --------------------------------------------------------------
- function fCheckSpclSpecData() {
- // 삭제된 상태가 아닌 소명자료 내역이 있는지 파악하여 "소명자료" Btn 색을 설정한다.
- // 특정코드 MT004 가 있는지를 파악하여 "MT004" Btn 색을 설정한다.
- var isAttachedDataList = false;
- var isMT004DataList = false;
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- var spclcd = model.getValue("/root/main/list3/clsp[" + i + "]/spclcd");
- if (spclcd == "MT015" || spclcd == "MT016") {
- if (grd_clsphist.rowstatus(i) != 4) {
- isAttachedDataList = true;
- }
- } else if (spclcd == "MT004") {
- if (grd_clsphist.rowstatus(i) != 4) {
- isMT004DataList = true;
- }
- }
- }
- // 소명자료 Btn
- if (isAttachedDataList) {
- btn_attData.attribute("class") = "btn5_letter4";
- btn_attData.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_attData.attribute("class") = "btn2_letter4";
- }
- // MT004 Btn
- if (isMT004DataList) {
- btn_mt0004.attribute("class") = "btn5_letter4";
- btn_mt0004.attribute("color") = "#cc3333"; // cc3333=붉은색
- } else {
- btn_mt0004.attribute("class") = "btn2_letter4";
- }
- }
- // /////////////////////////////////////////////////////////////////////////
- // 상병 및 처방 치식 입력
- function fDiagOrderToothInput(flag) {
- if (flag == "Diag") {
- var row = grd_cldihist.row;
- var diagcd = model.getValue("/root/main/list1/cldi[" + row + "]/diagcd");
- if (diagcd) {
- model.setValue("/root/hidden/sppiz00600/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppiz00600/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppiz00600/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/list1/cldi[" + row + "]/toot"));
- fSetToothPop(row, "1");
- model.removeNodeset("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- modal("SPPIZ00600", "1", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- fGetToothPop();
- }
- } else if (flag == "Order") {
- var row = grd_clodhist.row;
- var edilnno = model.getValue("/root/main/list2/clod[" + row + "]/edilnno");
- if (edilnno) {
- model.setValue("/root/hidden/sppiz00600/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppiz00600/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppiz00600/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppiz00600/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppiz00600/cond/indd", model.getValue("/root/main/item1/clbs/indd"));
- model.setValue("/root/hidden/sppiz00600/cond/cretno", model.getValue("/root/main/item1/clbs/cretno"));
- model.setValue("/root/hidden/sppiz00600/cond/toot", model.getValue("/root/main/list1/cldi[" + row + "]/toot"));
- fSetToothPop(row, "2");
- model.removeNodeset("/root/hidden/sppiz00600/rslt"); // SPPIZ00600_상병및처방별치식 에서 선택된 결과가 copyNode되는 경로임
- modal("SPPIZ00600", "1", "10", "10", "SPPIZ00600", "/root/hidden/sppiz00600/cond", "/root/hidden/cond", "", ""); // SPPIZ00600_상병및처방별치식.xrw
- fGetToothPop();
- }
- }
- }
- // 현재 상병, 처방 Grid 상에서 입력상태의 치식을 팝업 화면에 전달하기 위해 리스트 형태로 만든다.
- function fSetToothPop(row, flag) {
- model.removeNodeset("/root/hidden/sppiz00600/cond/list");
- model.makeNode("/root/hidden/sppiz00600/cond/list");
- // 상병
- var cntcldi = getNodesetCount("/root/main/list1/cldi"); // (tfHelper.js) 노드셋의 갯수 반환
- // 처방
- var cntclod = getNodesetCount("/root/main/list2/clod"); // (tfHelper.js) 노드셋의 갯수 반환 grd_clodhist.rows는 타이틀을 포함하지만 getNodesetCount는 타이틀을 제외한 data 갯수를 반환
- var cd = "";
- var cdnm = "";
- var orddd = "";
- var toot = "";
- var rowcnt = 1;
- for ( var i = 1; i <= cntcldi; i++) {
- cd = model.getValue("/root/main/list1/cldi[" + i + "]/diagcd");
- cdnm = model.getValue("/root/main/list1/cldi[" + i + "]/diagnm");
- orddd = model.getValue("/root/main/list1/cldi[" + i + "]/ordfromdd");
- toot = model.getValue("/root/main/list1/cldi[" + i + "]/toot");
- if (toot != "-" && toot != "") {
- var milktoothstr = "ABCDE000";
- var subTootStr = "";
- for ( var inx = 0; inx < 32; inx++) {
- var tootnum = toot.substr(inx, 1);
- if (tootnum == "*") { // 선택된 영구치의 경우 1~8 사이 숫자로 표시한다.
- if (inx < 8) {
- subTootStr += (8 - inx);
- } else if (inx > 7 && inx < 16) {
- subTootStr += (inx - 7);
- } else if (inx > 15 && inx < 24) {
- subTootStr += (24 - inx);
- } else {
- subTootStr += (inx - 23);
- }
- } else if (tootnum == "#") { // 선택된 유치의 경우 A~E 사이 알파벳으로 표시한다.
- if (inx < 8) {
- subTootStr += milktoothstr.charAt(7 - inx);
- } else if (inx > 7 && inx < 16) {
- subTootStr += milktoothstr.charAt(inx - 8);
- } else if (inx > 15 && inx < 24) {
- subTootStr += milktoothstr.charAt(23 - inx);
- } else {
- subTootStr += milktoothstr.charAt(inx - 24);
- }
- } else { // if (tootnum == "0") 선택되지 않은 경우 공백으로 처리한다.
- subTootStr += " ";
- }
- }
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- // 치식 표기를 설정한다.
- if (row == i && flag == "1") {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- } else {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "false");
- }
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", subTootStr.substr(0, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", subTootStr.substr(8, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", subTootStr.substr(16, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", subTootStr.substr(24, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", toot);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt + 1;
- } else {
- if (row == i && flag == "1") {
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "상병");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt + 1;
- }
- }
- }
- for ( var i = 1; i <= cntclod; i++) {
- cd = model.getValue("/root/main/list2/clod[" + i + "]/snglcalcscorcd");
- cdnm = model.getValue("/root/main/list2/clod[" + i + "]/hngnm");
- orddd = model.getValue("/root/main/list2/clod[" + i + "]/orddd");
- toot = model.getValue("/root/main/list2/clod[" + i + "]/toot");
- estmcls = model.getValue("/root/main/list2/clod[" + i + "]/estmcls");
- // 치식 입력되지 않은 처방이더라도 수가 처방대분류가 치과 분류로 된 처방들이 전부 조회되도록 변경 --20100309 윤영옥
- // 선생님 요청건
- if ((toot != "-" && toot != "") || estmcls == "U") {
- var milktoothstr = "ABCDE000";
- var subTootStr = "";
- var tmpStr = "";
- for ( var inx = 0; inx < 32; inx++) {
- var tootnum = toot.substr(inx, 1);
- if (tootnum == "*") { // 선택된 영구치의 경우 1~8 사이 숫자로 표시한다.
- if (inx < 8) {
- subTootStr += (8 - inx);
- } else if (inx > 7 && inx < 16) {
- subTootStr += (inx - 7);
- } else if (inx > 15 && inx < 24) {
- subTootStr += (24 - inx);
- } else {
- subTootStr += (inx - 23);
- }
- } else if (tootnum == "#") { // 선택된 유치의 경우 A~E 사이 알파벳으로 표시한다.
- if (inx < 8) {
- subTootStr += milktoothstr.charAt(7 - inx);
- } else if (inx > 7 && inx < 16) {
- subTootStr += milktoothstr.charAt(inx - 8);
- } else if (inx > 15 && inx < 24) {
- subTootStr += milktoothstr.charAt(23 - inx);
- } else {
- subTootStr += milktoothstr.charAt(inx - 24);
- }
- } else { // if (tootnum == "0") 선택되지 않은 경우 공백으로 처리한다.
- subTootStr += " ";
- }
- }
- model.makeNode("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos");
- // 치식 표기를 설정한다.
- if (row == i && flag == "2") {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- } else {
- model.setValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "false");
- }
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "처방");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", subTootStr.substr(0, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", subTootStr.substr(8, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", subTootStr.substr(16, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", subTootStr.substr(24, 8));
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", toot);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt + 1;
- } else {
- if (row == i && flag == "2") {
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/chos", "true");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/flag", "처방");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cd", cd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/cdnm", cdnm);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftupper", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/rightlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/leftlower", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/orddd", orddd);
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/toot", "");
- model.makeValue("/root/hidden/sppiz00600/cond/list/toothapplist[" + rowcnt + "]/row", i);
- rowcnt = rowcnt + 1;
- }
- }
- }
- }
- // SPPIZ00600_상병및처방별치식 선택 결과를 반영한다.
- function fGetToothPop() {
- var tootSelectcnt = getNodesetCount("/root/hidden/sppiz00600/rslt/list");
- var flag = "";
- var row = "";
- var toot = "";
- tootSelectcnt = eval(tootSelectcnt) + 1;
- for ( var i = 1; i < tootSelectcnt; i++) {
- flag = model.getValue("/root/hidden/sppiz00600/rslt/list[" + i + "]/flag");
- row = model.getValue("/root/hidden/sppiz00600/rslt/list[" + i + "]/row");
- var rlsttoot = model.getValue("/root/hidden/sppiz00600/rslt/list[" + i + "]/toot");
- var rlsttoot1 = model.getValue("/root/hidden/sppiz00600/rslt/list[" + i + "]/toot1");
- if (rlsttoot == "") {
- rlsttoot = "-";
- }
- if (rlsttoot1 == "") {
- rlsttoot1 = "-";
- }
- if (flag == "1") {
- toot = model.getValue("/root/main/list1/cldi[" + row + "]/toot");
- model.setValue("/root/main/list1/cldi[" + row + "]/toot", rlsttoot);
- model.setValue("/root/main/list1/cldi[" + row + "]/toot1",
- rlsttoot1);
- if (rlsttoot != toot) { // 치식번호가 변경된 경우
- var cldistatus = grd_cldihist.rowstatus(row);
- if (cldistatus == 0 || cldistatus == 2) { // 0 : new, 2 :update
- grd_cldihist.rowstatus(row) = 2; // 2 : update
- }
- }
- } else if (flag == "2") {
- toot = model.getValue("/root/main/list2/clod[" + row + "]/toot");
- model.setValue("/root/main/list2/clod[" + row + "]/toot", rlsttoot);
- model.setValue("/root/main/list2/clod[" + row + "]/toot1",
- rlsttoot1);
- if (rlsttoot != toot) { // 치식번호가 변경된 경우
- // 처방의 수정된 row 상태를 표시한다.
- fSetOrderChangeRowStat(row);
- }
- }
- }
- }
- // 심사사유, 조정사유, 수정사유 입력
- function fSetAdjtResnCd() {
- var oldcd = model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/adjtresncd");
- model.resetInstanceNode("/root/hidden/sppiz01000");
- model.setValue("/root/hidden/sppiz01000/cond/cdcls", "aftin");
- model.setValue("/root/hidden/sppiz01000/cond/cdid", oldcd);
- modal("SPPIZ01000", "1", "550", "450", "SPPIZ01000", "/root/hidden/sppiz01000/cond", "/root/hidden/sppiz01000/cond", "", ""); // SPPIZ01000_심사수정사유관리.xrw
- var newcd = model.getValue("/root/hidden/sppiz01000/rslt/cdid");
- var newdesc = model.getValue("/root/hidden/sppiz01000/rslt/adjtresndesc");
- if (newcd) {
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var row = grd_clodhist.selectedrow(i);
- model.setValue("/root/main/list2/clod[" + row + "]/adjtresncd", newcd);
- model.setValue("/root/main/list2/clod[" + row + "]/adjtresndesc", newdesc);
- if (newcd != oldcd) {
- if (grd_clodhist.rowStatus(row) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(row) = 2;
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(row);
- grd_clodhist.col = grd_clodhist.colRef("snglcalcscorcd");
- grd_clodhist.dispatch("ondblclick");
- }
- }
- }
- return newcd;
- }
- // 재청구 차액발생 사유입력
- function fSetReClamChgAmtResncd() {
- model.resetInstanceNode("/root/hidden/sppid22800");
- // model.setValue("/root/hidden/sppiz01000/cond/cdid", "");
- modal("SPPID22800", "1", "500", "450", "SPPID22800", "/root/hidden/sppid22800/cond", "/root/hidden/sppid22800/cond", "", ""); // SPPID22800_재청구차액발생사유관리.xrw
- var resncd = model.getValue("/root/hidden/sppid22800/rslt/cdid");
- if (resncd) {
- model.setValue("/root/send/item8/pifhiunc/chgamtresncd", resncd);
- }
- return resncd;
- }
- // ------------------------------------------------------------
- // 진료정보조회 : SMMMO02500_환자진료정보.xrw
- // ------------------------------------------------------------
- function fGetEmrInformation() {
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- if (clamym) {
- var pid = model.getValue("/root/main/item1/clbs/pid"); // getArrayData (cond, 0, 0,"^", "▩" );
- var ioflag = "O"; // getArrayData (cond, 0, 1, "^", "▩" );
- var indd = model.getValue("/root/main/item1/clbs/indd"); // getArrayData (cond, 0, 2, "^", "▩" );
- var prcpdd = ""; // getArrayData (cond, 0, 3, "^", "▩" );
- setParameter("SMMMO02500_cond", pid + "^" + ioflag + "^" + indd + "^" + prcpdd + "▩");
- open("SMMMO02500", "1", "10", "10", "SMMMO02500", "", "", "", ""); // SMMMO02500_환자진료정보
- }
- }
- // ---------------------------------
- // 처방 급여구분 변경
- // ---------------------------------
- function fSetPayflag() {
- var oldpayflag = model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/payflag");
- model.resetInstanceNode("/root/hidden/sppid23100");
- model.setValue("/root/hidden/sppid23100/cond/cdid", oldpayflag);
- modal("SPPID23100", "1", "500", "500", "SPPID23100", "/root/hidden/sppid23100/cond", "/root/hidden/sppid23100/cond", "", ""); // SPPID23100_급비변경관리.xrw
- var newpayflag = model.getValue("/root/hidden/sppid23100/rslt/cdid");
- if (newpayflag) {
- if (newpayflag != oldpayflag) {
- var adjtresncd = model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/adjtresncd");
- if (adjtresncd == "" || adjtresncd == "-") { // 심사(조정)사유가 입력되지 않은 경우
- var newcd = fSetAdjtResnCd();
- if (newcd == "" || newcd == "-") {
- return;
- }
- }
- model.setValue("/root/main/list2/clod[" + grd_clodhist.row + "]/payflag", newpayflag);
- if (newpayflag == "0" || newpayflag == "9") {
- model.setValue("/root/main/list2/clod[" + grd_clodhist.row + "]/calcappyn", "Y"); // 계산적용구분
- } else {
- model.setValue("/root/main/list2/clod[" + grd_clodhist.row + "]/calcappyn", "N"); // 계산적용구분
- }
- var matractflag = model.getValue("/root/main/list2/clod[" + grd_clodhist.row + "]/matractflag");
- // 청구가능선택진료 + 가산행위(2)는 가산안함으로 변경
- if (newpayflag == "9" && matractflag == "2") {
- model.setValue("/root/main/list2/clod[" + grd_clodhist.row + "]/matractflag", "3"); // 재료행위(3:가산없는 행위)
- }
- if (grd_clodhist.rowStatus(grd_clodhist.row) == 0) { // 0 : new, 2 : update
- grd_clodhist.rowStatus(grd_clodhist.row) = 2;
- }
- // 처방 Grid 배경색을 설정한다. - 추가/수정된 row
- fOrderBkColorNew(grd_clodhist.row);
- grd_clodhist.refresh();
- fSetTotDrugQtyAmt();
- grd_clodhist.refresh();
- }
- }
- }
- // ------------------------------------------------------------
- // 급여구분별 처방조회
- // ------------------------------------------------------------
- function fClodSelectByPayflag() {
- // 수가코드, EDI코드 input 컨트롤을 초기화한다.
- model.resetInstanceNode("/root/hidden/list2/clodsrch/inpCalcScorCd");
- model.resetInstanceNode("/root/hidden/list2/clodsrch/inpEDICd");
- model.refreshpart("/root/hidden/list2/clodsrch/inpCalcScorCd");
- model.refreshpart("/root/hidden/list2/clodsrch/inpEDICd");
- // fGetSelectedOrderData(); // 처방 조회부 - 재행/급여/항목구분 Radio 선택에 따라 처방 내역을 보여준다.
- var payflag = model.getValue("/root/hidden/list2/clodsrch/selectedRdoPay");
- // 처방Grid 배경색을 초기화한다.
- grd_clodhist.rebuildStyle();
- if (payflag == '0') {
- model.copyNode("/root/main/list2", "/root/hidden/initclodlist/list2");
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- grd_clodhist.refresh();
- grd_clodhist.row = 1;
- } else {
- var datasave = false;
- var clodupdtdata = getGridUpdateData(grd_clodhist);
- if (clodupdtdata) {
- var ans = messageBox("급여처방에 수정사항이 있습니다. 저장", "S001"); // /수정사항이 있습니다. 저장하시려면 예(Yes)\n아니면아니오(No)
- if (ans == 6) { // 6: yes, 7:no, 2:cancel
- fSaveInAftJudg("B"); // 저장
- datasave = true;
- } else {
- datasave = false;
- }
- }
- // 수정사항을 저장하지 않은 경우 OR 수정사항이 없는 경우
- if (datasave == false) {
- var nodeList;
- model.removeNodeset("/root/main/list2/clod");
- // 급여구분에 따라 해당되는 처방만 보여준다.
- if (payflag == '-') {
- model.copyNode("/root/main/list2", "/root/main/list8");
- } else { // 전액본인부담, 일반, 선택
- nodeList = instance1.selectNodes("/root/main/list8/clod[payflag = " + payflag + "]");
- for (var i = 0; i < nodeList.length; i++) {
- model.duplicate("/root/main/list2", nodeList.item(i));
- }
- }
- // 처방 항목 구분 및 선별심사 처방 색깔 구분
- fSetOrderData();
- grd_clodhist.refresh();
- grd_clodhist.row = 1;
- }
- }
- }
- // 처방별환자조회(계산)_수가코드
- function fOpenSMPIS00500DetailSnglCD() {
- pidfOpenSMPIS00500("I", "D", "SnglCD");
- }
- // 처방별환자조회(계산)_EDI코드
- function fOpenSMPIS00500DetailEdicd() {
- pidfOpenSMPIS00500("I", "D", "Edicd");
- }
- // 처방별환자조회(청구/삭감)
- function fOpenSMPIS00600Detail() {
- pidfOpenSMPIS00600("I", "D");
- }
- // -----------------------------
- // 1회량 일괄수정
- // -----------------------------
- function fAllSetDrugqtyCol() {
- if (grd_clodhist.selectedRows > 1) {
- // 수정할 Row
- var setrow = grd_clodhist.row;
- // 수정할 1회량 저장
- var drugqty = model.getValue("/root/main/list2/clod[" + setrow + "]/drugqty");
- if (drugqty == "" || drugqty == "0") {
- return;
- }
- var rowArray = new Array();
- var rCnt = 0;
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
- model.setValue("/root/main/list2/clod[" + clodrow + "]/drugqty", drugqty);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", "A") // 조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
- }
- }
- }
- for ( var i = 0; i <= rCnt - 1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("drugqty");
- fSetTotDrugQtyAmt(); // 1회량수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- // -----------------------------
- // 횟수 일괄수정
- // -----------------------------
- function fAllSetTimsCol() {
- if (grd_clodhist.selectedRows > 1) {
- // 처음선택한 Row(수정할 Row)
- var setrow = grd_clodhist.row;
- // 현재 Row 횟수 저장
- var tims = model.getValue("/root/main/list2/clod[" + setrow + "]/tims");
- if (tims == "" || tims == "0") {
- return;
- }
- var rowArray = new Array();
- var rCnt = 0;
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
- model.setValue("/root/main/list2/clod[" + clodrow + "]/tims", tims);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", "A") // 조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
- }
- }
- }
- for ( var i = 0; i <= rCnt - 1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("tims");
- fSetTotDrugQtyAmt(); // 횟수수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- // -----------------------------
- // 일수 일괄수정
- // -----------------------------
- function fAllSetDaynoCol() {
- if (grd_clodhist.selectedRows > 1) {
- // 처음선택한 Row(수정할 Row)
- var setrow = grd_clodhist.row;
- // 현재 Row 횟수 저장
- var dayno = model.getValue("/root/main/list2/clod[" + setrow + "]/dayno");
- if (dayno == "" || dayno == "0") {
- return;
- }
- var rowArray = new Array();
- var rCnt = 0;
- var olddayno = 0;
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var clodrow = grd_clodhist.selectedrow(i);
- if (clodrow > 0) {
- if (clodrow != setrow) {
- rowArray[rCnt] = clodrow;
- rCnt++;
- olddayno = model.getValue("/root/main/list2/clod[" + clodrow + "]/dayno");
- model.setValue("/root/main/list2/clod[" + clodrow + "]/dayno", dayno);
- model.setValue("/root/main/list2/clod[" + clodrow + "]/adjtresncd", "A") // 조장사유 A:일투조정
- grd_clodhist.rowStatus(clodrow) = 2; // update
- var Sdayno = model.getValue("/root/main/list2/clod[" + clodrow + "]/dayno");
- var dayno = parseInt(Sdayno);
- var ordfromdd = model.getValue("/root/main/list2/clod[" + clodrow + "]/ordfromdd");
- var ordtodd = model.getValue("/root/main/list2/clod[" + clodrow + "]/ordtodd");
- var item1 = model.getValue("/root/main/list2/clod[" + clodrow + "]/item1");
- // 진료개시일과 종료일 사이의 일자인지 체크
- var clbsordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- var clbsordtodd = model.getValue("/root/main/item1/clbs/ordtodd");
- // 수가코드의 적용일자~종료일자 사이의 일자인지 체크
- var mechfromdd = model.getValue("/root/main/list2/clod[" + clodrow + "]/mechfromdd");
- var mechtodd = model.getValue("/root/main/list2/clod[" + clodrow + "]/mechtodd");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- if (Sdayno == "" || dayno <= 0) {
- } else if (ordfromdd) {
- var fromDate = ordfromdd.toDate();
- var toDate = fromDate.getAddDate(dayno - 1, "D"); // (dateHelper.js) 특정일자의 상대일자(+/-)를 계산
- ordtodd = toDate.getDateFormat("YYYY") + toDate.getDateFormat("MM") + toDate.getDateFormat("DD");
- if (item1 != "03" && clbsordfromdd && clbsordtodd) {
- if (ordtodd < clbsordfromdd || ordtodd > clbsordtodd) {
- messageBox("일수를 기준으로 계산된 처방종료일자가 [진료 개시일자~종료일자]를 벗어나", "E016"); // /일수(총투)를 기준으로 계산된처방 종료일자가 입원 개시일자~종료일자를 벗어나 유효하지 않습니다. 처방 data 및 row status를 변경 이전 상태로 복구한다.
- model.setValue("/root/main/list2/clod[" + clodrow + "]/dayno", olddayno);
- return;
- }
- }
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ordtodd", ordtodd);
- } else if (ordtodd) {
- var toDate = ordtodd.toDate();
- var fromDate = toDate.getAddDate((dayno - 1) * -1, "D"); // (dateHelper.js)
- // 특정일자의
- // 상대일자(+/-)를
- // 계산
- ordfromdd = fromDate.getDateFormat("YYYY") + fromDate.getDateFormat("MM") + fromDate.getDateFormat("DD");
- if (item1 != "03" && clbsordfromdd && clbsordtodd) {
- if (ordfromdd < clbsordfromdd || ordfromdd > clbsordtodd) {
- messageBox("일수를 기준으로 계산된 처방시작일자가 [진료 개시일자~종료일자]를 벗어나", "E016"); // /일수(총투)를 기준으로 계산된 처방
- // 시작일자가 입원 개시일자~종료일자를 벗어나 유효하지 않습니다. 처방 data 및 row status를 변경 이전 상태로 복구한다.
- model.setValue("/root/main/list2/clod[" + clodrow + "]/dayno", olddayno);
- return;
- }
- }
- // 일수를 기준으로 구한 날짜가 올바른 경우
- model.setValue("/root/main/list2/clod[" + clodrow + "]/ordfromdd", ordfromdd);
- }
- }
- }
- }
- for (var i = 0; i <= rCnt - 1; i++) {
- grd_clodhist.row = rowArray[i];
- grd_clodhist.col = grd_clodhist.colRef("dayno");
- fSetTotDrugQtyAmt(); // 일수수정 후 계산
- }
- grd_clodhist.refresh();
- }
- }
- // CD복사의뢰 : ast/examcureweb/xrw/SMAEF00100_필름판독대출신청.xrw
- function fOrderCDCopy() {
- var pid = model.getValue("/root/main/item1/clbs/pid");
- if (pid) {
- model.makeValue("/root/hidden/smaef00100/cond/gb", "A"); // 신청구분(전체:1, 판독:2)
- model.makeValue("/root/hidden/smaef00100/cond/srchdate1", ""); // 진료일자
- model.makeValue("/root/hidden/smaef00100/cond/lendapptm", ""); // 판독신청일
- model.makeValue("/root/hidden/smaef00100/cond/pid", model.getValue("/root/main/item1/clbs/pid")); // 환자번호
- model.makeValue("/root/hidden/smaef00100/cond/deptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // 진료과
- model.makeValue("/root/hidden/smaef00100/cond/drid", model.getValue("/root/main/item1/clbs/orddrid")); // 주치의
- model.makeValue("/root/hidden/smaef00100/cond/lendgoal", "05");// 목적 : 복사용 05
- model.makeValue("/root/hidden/smaef00100/cond/modality", ""); // 영상구분
- model.makeValue("/root/hidden/smaef00100/cond/deptengabbr", ""); // 판독신청과영문
- model.makeValue("/root/hidden/smaef00100/cond/lenddeptcd", ""); // 판독신청과
- model.makeValue("/root/hidden/smaef00100/cond/lendrid", ""); // 판독신청자
- }
- modal("SMAEF00100", "1", "10", "10", "SMAEF00100", "/root/hidden/smaef00100/cond", "/root/send/data", "", ""); // SMAEF00100_필름판독대출신청.xrw
- }
- // 환자 전체 메세지 내용 조회하여 하나씩 보기
- // 20100317 외래에만 있고 입원에 없어서 추가 (김용민)
- // 인자값은 실제 환자번호만 쓰고 있음
- function fJudgPatMsgTrsmRef() {
- model.makeNode("/root/tmp/msgtrsm/info/refyn");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.setValue("/root/tmp/msgtrsm/info/refyn", "Y");
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs/cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "O"); // 외래기본 'O', chk
- modal("SMPIJ02600_메세지현황", "", "100", "100", "", "/root/tmp/msgtrsm/info", "/root/init/openchk");
- model.removeNode("/root/tmp/msgtrsm");
- }
- // 처방그리드 엑셀저장
- function fExportExcel() {
- if (grd_clodhist.rows > 1) {
- var isSave = false;
- for ( var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- if (grd_clodhist.rowHidden(i) == false) {
- isSave = true;
- i = grd_clodhist.rows;
- }
- }
- if (isSave == false) {
- messageBox("처방 필터를 변경하세요. 엑셀저장할 처방이", "I004"); // /처방 필터를 변경하세요. 엑셀저장할 처방이 없습니다.
- return;
- }
- var fileName = window.fileDialog("save", "", false, "excel", "xls",
- "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != "") {
- grd_clodhist.saveExcel(fileName, "sheetname:;colhiddenextend:false;rowhiddenextend:false;", true, true, "", "", true);
- }
- } else {
- messageBox("엑셀저장할 처방이", "I004"); // /엑셀저장할 처방이 없습니다.
- }
- }
- // 처방그리드 출력
- function fExportPrint() {
- // // 미수쪽에서 popup으로 호출하는 경우를 위한 테스트
- // modal("SMPID20300" ,"1", "10", "10", "SMPID20300", "", "", "", "");
- if (grd_clodhist.rows > 1) {
- // 선택 : 부분출력(예6), 전체출력(아니오7), 취소(취소7)
- // 보고서에 들어갈 내용 담기
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var patnm = model.getValue("/root/main/item1/clbs/patnm");
- var indd = model.getValue("/root/main/item1/clbs/indd");
- var insukind = model.getValue("/root/main/item1/clbs/insukindcd");
- var insukindnm = model.getValue("/root/main/item1/clbs/insukindnm");
- var suppkind = model.getValue("/root/main/item1/clbs/suppkindcd");
- var suppkindnm = cmb_supprate.label;
- var iphsfromdd = model.getValue("/root/main/item1/clbs/iphsfromdd"); // 유형시작일
- var diagcd = model.getValue("/root/main/list1/cldi/diagcd") + " (" + model.getValue("/root/main/list1/cldi/diagnm") + ")";
- var ret = messageBox("데이터를 부분출력", "S001"); // /데이터를 부분출력 하시려면 예(Yes)\n아니면 아니오(No)
- if (ret == 6) {
- // 1. 부분출력 (그리드에 선택된 행만 보고서로 전달한다.)
- model.removeNodeset("/root/send/prntlist");
- model.makeNode("/root/send/prntlist");
- var idx = 1;
- for ( var i = 0; i < grd_clodhist.selectedRows; i++) {
- var row = grd_clodhist.selectedRow(i);
- // 상단 정보
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/pid", pid); // 환자번호
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/patnm", patnm); // 성명
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/indd", indd); // 입원일
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/insukindcd", insukind); // 환자유형
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/insukindnm", insukindnm);
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/suppkindcd", suppkind); // 보조유형
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/suppkindnm", suppkindnm);
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/iphsfromdd", iphsfromdd); // 유형시작일
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/diagcd", diagcd);
- // 리스트
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edilnno", model.getValue("/root/main/list2/clod[" + row + "]/edilnno")); // 줄
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/item1", model.getValue("/root/main/list2/clod[" + row + "]/ediitem1")); // 항
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/item2", model.getValue("/root/main/list2/clod[" + row + "]/ediitem2")); // 목
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ordfromdd", model.getValue("/root/main/list2/clod[" + row + "]/ordfromdd")); // 처방시작일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/grupsnglflag", model.getValue("/root/main/list2/clod[" + row + "]/grupsnglflag")); // G
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/grupcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd")); // 그룹코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/matractflag", grd_clodhist.labelMatrix(row, grd_clodhist.colRef("matractflag"))); // 행위재료
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd")); // 수가코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/basecd", model.getValue("/root/main/list2/clod[" + row + "]/basecd")); // EDI코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/estmcd", model.getValue("/root/main/list2/clod[" + row + "]/estmcd")); // 산정코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/hngnm", model.getValue("/root/main/list2/clod[" + row + "]/hngnm")); // 한글명
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/payflag", grd_clodhist.labelMatrix(row, grd_clodhist.colRef("payflag"))); // 급비
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediunitcost", model.getValue("/root/main/list2/clod[" + row + "]/ediunitcost")); // 단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edidrugqty", model.getValue("/root/main/list2/clod[" + row + "]/edidrugqty")); // 1회량
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/tims", model.getValue("/root/main/list2/clod[" + row + "]/tims")); // 횟수
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/daydrugqty", model.getValue("/root/main/list2/clod[" + row + "]/daydrugqty")); // 1일량(일투)
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/dayno", model.getValue("/root/main/list2/clod[" + row + "]/dayno")); // 일수(총투)
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediamt", model.getValue("/root/main/list2/clod[" + row + "]/ediamt")); // 금액
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/cnfmcd", model.getValue("/root/main/list2/clod[" + row + "]/cnfmcd")); // 확인코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ordtodd", model.getValue("/root/main/list2/clod[" + row + "]/ordtodd")); // 처방종료일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/updtdd", model.getValue("/root/main/list2/clod[" + row + "]/updtdd")); // 변경일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edihospaddamt", model.getValue("/root/main/list2/clod[" + row + "]/edihospaddamt")); // 병원가산단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediaddamt", model.getValue("/root/main/list2/clod[" + row + "]/ediaddamt")); // 가산단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/totordamt", model.getValue("/root/main/list2/clod[" + row + "]/totordamt")); // 진료비총액
- idx++;
- }
- // model.refresh();
- exeReportPreview("RPPID20300", "XMLSTR", "", "", "false", "", "",
- "", "", "false");
- } else if (ret == 7) {
- // 2. 전체출력 (그리드에 보여지는 내용 전체를 보고서로 전달한다.)
- var isPrint = false;
- model.removeNodeset("/root/send/prntlist");
- model.makeNode("/root/send/prntlist");
- var idx = 1;
- for ( var i = grd_clodhist.fixedRows; i < grd_clodhist.rows; i++) {
- if (grd_clodhist.rowHidden(i) == false) {
- isPrint = true;
- var row = i;
- // 상단 정보
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/pid", pid); // 환자번호
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/patnm", patnm); // 성명
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/indd", indd); // 입원일
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/insukindcd", insukind); // 환자유형
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/insukindnm", insukindnm);
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/suppkindcd", suppkind); // 보조유형
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/suppkindnm", suppkindnm);
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/iphsfromdd", iphsfromdd); // 유형시작일
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/diagcd", diagcd);
- // 리스트
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edilnno", model.getValue("/root/main/list2/clod[" + row + "]/edilnno")); // 줄
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/item1", model.getValue("/root/main/list2/clod[" + row + "]/ediitem1")); // 항
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/item2", model.getValue("/root/main/list2/clod[" + row + "]/ediitem2")); // 목
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ordfromdd", model.getValue("/root/main/list2/clod[" + row + "]/ordfromdd")); // 처방시작일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/grupsnglflag", model.getValue("/root/main/list2/clod[" + row + "]/grupsnglflag")); // G
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/grupcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/grupcalcscorcd")); // 그룹코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/matractflag", model.getValue("/root/main/list2/clod[" + row + "]/matractflag")); // 행위재료
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/snglcalcscorcd", model.getValue("/root/main/list2/clod[" + row + "]/snglcalcscorcd")); // 수가코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/basecd", model.getValue("/root/main/list2/clod[" + row + "]/basecd")); // EDI코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/estmcd", model.getValue("/root/main/list2/clod[" + row + "]/estmcd")); // 산정코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/hngnm", model.getValue("/root/main/list2/clod[" + row + "]/hngnm")); // 한글명
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/payflag", model.getValue("/root/main/list2/clod[" + row + "]/payflag")); // 급비
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediunitcost", model.getValue("/root/main/list2/clod[" + row + "]/ediunitcost")); // 단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edidrugqty", model.getValue("/root/main/list2/clod[" + row + "]/edidrugqty")); // 1회량
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/tims", model.getValue("/root/main/list2/clod[" + row + "]/tims")); // 횟수
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/daydrugqty", model.getValue("/root/main/list2/clod[" + row + "]/daydrugqty")); // 1일량(일투)
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/dayno", model.getValue("/root/main/list2/clod[" + row + "]/dayno")); // 일수(총투)
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediamt", model.getValue("/root/main/list2/clod[" + row + "]/ediamt")); // 금액
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/cnfmcd", model.getValue("/root/main/list2/clod[" + row + "]/cnfmcd")); // 확인코드
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ordtodd", model.getValue("/root/main/list2/clod[" + row + "]/ordtodd")); // 처방종료일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/updtdd", model.getValue("/root/main/list2/clod[" + row + "]/updtdd")); // 변경일자
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/edihospaddamt", model.getValue("/root/main/list2/clod[" + row + "]/edihospaddamt")); // 병원가산단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/ediaddamt", model.getValue("/root/main/list2/clod[" + row + "]/ediaddamt")); // 가산단가
- model.makeValue("/root/send/prntlist/prntinfo[" + idx + "]/totordamt", model.getValue("/root/main/list2/clod[" + row + "]/totordamt")); // 진료비총액
- idx++;
- }
- }
- if (isPrint == false) {
- messageBox("처방 필터를 변경하세요. 출력할 처방이", "I004"); // /처방 필터를 변경하세요. 출력할 처방이 없습니다.
- return;
- }
- model.refresh();
- exeReportPreview("RPPID20300", "XMLSTR", "", "", "false", "", "", "", "", "false");
- } else {
- // 3. 취소
- return;
- }
- } else {
- messageBox("출력할 처방이", "I004"); // /출력할 처방이 없습니다.
- }
- }
- // 정산의뢰등록 화면호출
- function fCallReCharge() {
- model.resetInstanceNode("/root/hidden/smpir31000/cond");
- if (model.getValue("/root/main/item1/clbs/acptno") != '-') {
- model.setValue("/root/hidden/smpir31000/cond/srchflag", "1"); // 접수번호로 조회
- } else {
- model.setValue("/root/hidden/smpir31000/cond/srchflag", "1"); // 청구번호로 조회
- }
- model.setValue("/root/hidden/smpir31000/cond/acptno", model.getValue("/root/main/item1/clbs/acptno"));
- model.setValue("/root/hidden/smpir31000/cond/judgdg", model.getValue("/root/main/item1/clbs/judgdg"));
- model.setValue("/root/hidden/smpir31000/cond/docuseqno", model.getValue("/root/main/item1/clbs/docuseqno"));
- model.setValue("/root/hidden/smpir31000/cond/clamno", model.getValue("/root/main/item1/clbs/clamno"));
- modal("SMPIR31000", "1", "10", "10", "SMPIR31000", "/root/hidden/smpir31000/cond", "/root/init/item1", "", ""); // SMPIR31000_정산의뢰생성.xrw
- }
- function fGetSelectedUnitFlag() {
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- if (clamkey) { // 조회된 심사대상자가 있으면
- var visibleRow = 0;
- var rdounitflag = model.getValue("/root/hidden/list3/selectedUnitFlag");
- if (rdounitflag == "-") {
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- } else if (model.getValue("/root/chkJT001") == 'Y' && grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JT001") {
- grd_clsphist.rowHidden(i) = true;
- } else {
- visibleRow++;
- }
- }
- } else if (rdounitflag == "M") {
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- } else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("unitflag")) != "M") {
- grd_clsphist.rowHidden(i) = true;
- } else {
- visibleRow++;
- }
- }
- } else if (rdounitflag == "J") {
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- } else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("unitflag")) != "J") {
- grd_clsphist.rowHidden(i) = true;
- }
- if (model.getValue("/root/chkJT001") == 'Y' && grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) == "JT001") {
- grd_clsphist.rowHidden(i) = true;
- }
- }
- visibleRow = 1; // 줄단위가 선택된 상태에서는 자동으로 행추가를 하지 않는다.
- } else { // rdounitflag == "JX999"
- for ( var i = 1; i < grd_clsphist.rows; i++) {
- grd_clsphist.rowHidden(i) = false;
- var rowstatus = grd_clsphist.rowstatus(i);
- if (rowstatus > 3) { // 삭제상태
- grd_clsphist.rowHidden(i) = true;
- } else if (grd_clsphist.valueMatrix(i, grd_clsphist.colRef("spclcd")) != "JX999") {
- grd_clsphist.rowHidden(i) = true;
- }
- }
- visibleRow = 1; // 줄단위가 선택된 상태에서는 자동으로 행추가를 하지 않는다.
- }
- if (checkAuth("X") && visibleRow == 0) { // 모든 row가 삭제 상태인 경우
- fSpclGridInsertRow(); // 특정내역 Grid 마우스 오른쪽 버튼 클릭시 팝업 메뉴 "행 추가"
- } else {
- grd_clsphist.row = 0;
- }
- }
- }
- function fGeCaseSelect(caseId, visible_val) {
- var caseObj = document.all.item(caseId);
- if (caseObj.selected) { // 기존에 이미 선택되어 있는 tab인데 해당 tab을 다시 선택한 경우
- if (swt_spclmemo.attribute("height") == "608") { // 세로로 확대된 창을 원래대로 한다.
- fCutSwitchSize();
- } else { // textarea를 세로로 확대시킨다.
- fExpandSwitchSize();
- }
- } else { // 기존에 선택되지 않은 tab인 경우
- fCutSwitchSize();
- }
- model.toggle(caseId); // 해당 tab 으로 토글시킨다.
- }
- function fGetGrdCldihistEditCell() {
- // col@type = "input" 일 경우 onentercell시점에 EditMode 상태 만들기
- if (grd_cldihist.colType(grd_cldihist.col) == "input") {
- grd_cldihist.editCell();
- }
- }
- /* 환자기준 전송메세지작성, JHP. 2009.08.17 */
- function fPatJudgPatMsgTrsm() {
- if (!isNull(model.getvalue("/root/main/item1/clbs/pid"))) {
- // 인스턴스생성
- model.makeNode("/root/tmp/msgtrsm/info/instcd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtedd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrteno");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtehistno");
- model.makeNode("/root/tmp/msgtrsm/info/histstat");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/orddrnm");
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.makeNode("/root/tmp/msgtrsm/info/kindflag");
- model.makeNode("/root/tmp/msgtrsm/info/grupcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/snglcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/ordqty");
- model.makeNode("/root/tmp/msgtrsm/info/ordtims");
- model.makeNode("/root/tmp/msgtrsm/info/orddays");
- model.makeNode("/root/tmp/msgtrsm/info/prcpdd");
- model.makeNode("/root/tmp/msgtrsm/info/prcpno");
- model.makeNode("/root/tmp/msgtrsm/info/prcppayflag");
- model.makeNode("/root/tmp/msgtrsm/info/rgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/rgstdd");
- model.makeNode("/root/tmp/msgtrsm/info/rgsttm");
- model.makeNode("/root/tmp/msgtrsm/info/sendphone");
- model.makeNode("/root/tmp/msgtrsm/info/anybodyyn");
- model.makeNode("/root/tmp/msgtrsm/info/sendflag");
- model.makeNode("/root/tmp/msgtrsm/info/senddate");
- model.makeNode("/root/tmp/msgtrsm/info/sendid");
- model.makeNode("/root/tmp/msgtrsm/info/deliveid");
- model.makeNode("/root/tmp/msgtrsm/info/recvdate");
- model.makeNode("/root/tmp/msgtrsm/info/recvid");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmyn");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmid");
- model.makeNode("/root/tmp/msgtrsm/info/sendmsg");
- model.makeNode("/root/tmp/msgtrsm/info/recvmsg");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstdt");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtrid");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtdt");
- // 값셋팅
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; // 사용자번호
- var usernm = UserInfosS_Array[1]; // 사용자이름
- var posinstcd = UserInfosS_Array[6]; // 근무지기관코드 2009.04.15
- var posinstnm = UserInfosS_Array[7]; // 근무지기관명 2009.04.15
- var posdeptcd = UserInfosS_Array[4]; // 소속부서코드
- var posdeptnm = UserInfosS_Array[5]; // 소속부서명
- if (userid == null || userid == "" || userid == " " || userid == "-")
- userid = "pam";
- model.setValue("/root/tmp/msgtrsm/info/instcd", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtedd", getCurrentDate()); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrteno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtehistno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/histstat", "Y"); // chk
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs//cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
- var drid = model.getValue("/root/main/item1/clbs/orddrid")
- var drnm = model.getValue("/root/init/orddrid2/orddridlist[cd = '" + drid + "']/nm");
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/orddrnm", drnm); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "O"); // 외래기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/kindflag", "P"); // 환자기준 'P', chk
- model.setValue("/root/tmp/msgtrsm/info/grupcalcscorcd", "-");
- model.setValue("/root/tmp/msgtrsm/info/snglcalcscorcd", "-");
- model.setValue("/root/tmp/msgtrsm/info/ordqty", 0);
- model.setValue("/root/tmp/msgtrsm/info/ordtims", 0);
- model.setValue("/root/tmp/msgtrsm/info/orddays", 0);
- model.setValue("/root/tmp/msgtrsm/info/prcpdd", "-");
- model.setValue("/root/tmp/msgtrsm/info/prcpno", 0);
- model.setValue("/root/tmp/msgtrsm/info/prcppayflag", "-");
- model.setValue("/root/tmp/msgtrsm/info/rgstrid", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgstdd", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgsttm", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/sendphone", ""); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/anybodyyn", "N"); // 누구나 기본 'N', chk
- model.setValue("/root/tmp/msgtrsm/info/sendflag", "I"); // 진료기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/senddate", ""); // 쿼리에서 timestamp chk
- model.setValue("/root/tmp/msgtrsm/info/sendid", userid); // chk
- model.setValue("/root/tmp/msgtrsm/info/deliveid", "-"); // 화면에서선택. chk
- model.setValue("/root/tmp/msgtrsm/info/recvdate", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmyn", "N"); // 기본 비연속 'N', chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmid", userid); // chk
- model.setValue("/root/tmp/msgtrsm/info/sendmsg", ""); // sendmsgvalue); 기본 처방코드, 처방명값가지고 시작. chk
- model.setValue("/root/tmp/msgtrsm/info/recvmsg", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstdt", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtdt", ""); // chk
- } else {
- messageBox("기본정보가 ", "I004");
- }
- model.refresh();
- modal("SPPIZ01900_심사환자메세지작성", "", "400", "300", "", "/root/tmp/msgtrsm/info", "/root/main/patinfo");
- model.removenode("/root/tmp/msgtrsm");
- }
- /* 처방기준 전송메세지작성, JHP. 2009.08.17 */
- function fOrderJudgPatMsgTrsm() {
- if (!isNull(model.getvalue("/root/main/item1/clbs/pid"))) {
- // 인스턴스생성
- model.makeNode("/root/tmp/msgtrsm/info/instcd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtedd");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrteno");
- model.makeNode("/root/tmp/msgtrsm/info/msgwrtehistno");
- model.makeNode("/root/tmp/msgtrsm/info/histstat");
- model.makeNode("/root/tmp/msgtrsm/info/pid");
- model.makeNode("/root/tmp/msgtrsm/info/orddd");
- model.makeNode("/root/tmp/msgtrsm/info/cretno");
- model.makeNode("/root/tmp/msgtrsm/info/mskind");
- model.makeNode("/root/tmp/msgtrsm/info/orddeptcd");
- model.makeNode("/root/tmp/msgtrsm/info/orddrid");
- model.makeNode("/root/tmp/msgtrsm/info/orddrnm");
- model.makeNode("/root/tmp/msgtrsm/info/ordtype");
- model.makeNode("/root/tmp/msgtrsm/info/kindflag");
- model.makeNode("/root/tmp/msgtrsm/info/grupcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/snglcalcscorcd");
- model.makeNode("/root/tmp/msgtrsm/info/ordqty");
- model.makeNode("/root/tmp/msgtrsm/info/ordtims");
- model.makeNode("/root/tmp/msgtrsm/info/orddays");
- model.makeNode("/root/tmp/msgtrsm/info/prcpdd");
- model.makeNode("/root/tmp/msgtrsm/info/prcpno");
- model.makeNode("/root/tmp/msgtrsm/info/prcppayflag");
- model.makeNode("/root/tmp/msgtrsm/info/rgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/rgstdd");
- model.makeNode("/root/tmp/msgtrsm/info/rgsttm");
- model.makeNode("/root/tmp/msgtrsm/info/sendphone");
- model.makeNode("/root/tmp/msgtrsm/info/anybodyyn");
- model.makeNode("/root/tmp/msgtrsm/info/sendflag");
- model.makeNode("/root/tmp/msgtrsm/info/senddate");
- model.makeNode("/root/tmp/msgtrsm/info/sendid");
- model.makeNode("/root/tmp/msgtrsm/info/deliveid");
- model.makeNode("/root/tmp/msgtrsm/info/recvdate");
- model.makeNode("/root/tmp/msgtrsm/info/recvid");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmyn");
- model.makeNode("/root/tmp/msgtrsm/info/recvcnfmid");
- model.makeNode("/root/tmp/msgtrsm/info/sendmsg");
- model.makeNode("/root/tmp/msgtrsm/info/recvmsg");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstrid");
- model.makeNode("/root/tmp/msgtrsm/info/fstrgstdt");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtrid");
- model.makeNode("/root/tmp/msgtrsm/info/lastupdtdt");
- // 값셋팅
- // 처방이므로 처방row선택여부 확인
- if (grd_clodhist.row <= 0) {
- return;
- }
- // 세션값 받기
- var sUserInfosS = getUserInfos();
- sUserInfosS = sUserInfosS + "|";
- var UserInfosS_Array = sUserInfosS.split("|");
- var userid = UserInfosS_Array[0]; // 사용자번호
- var usernm = UserInfosS_Array[1]; // 사용자이름
- var posinstcd = UserInfosS_Array[6]; // 근무지기관코드 2009.04.15
- var posinstnm = UserInfosS_Array[7]; // 근무지기관명 2009.04.15
- var posdeptcd = UserInfosS_Array[4]; // 소속부서코드
- var posdeptnm = UserInfosS_Array[5]; // 소속부서명
- if (userid == null || userid == "" || userid == " " || userid == "-")
- userid = "pam";
- model.setValue("/root/tmp/msgtrsm/info/instcd", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtedd", getCurrentDate()); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrteno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/msgwrtehistno", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/histstat", "Y"); // chk
- model.setValue("/root/tmp/msgtrsm/info/pid", model.getValue("/root/main/item1/clbs/pid")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddd", model.getValue("/root/main/item1/clbs/indd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/cretno", model.getValue("/root/main/item1/clbs/cretno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/mskind", "M"); // 외래기본 주유형, chk
- model.setValue("/root/tmp/msgtrsm/info/orddeptcd", model.getValue("/root/main/item1/clbs/orddeptcd")); // chk
- var drid = model.getValue("/root/main/item1/clbs/orddrid")
- var drnm = model.getValue("/root/init/orddrid2/orddridlist[cd = '" + drid + "']/nm");
- model.setValue("/root/tmp/msgtrsm/info/orddrid", model.getValue("/root/main/item1/clbs/orddrid")); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/orddrnm", drnm); // chk, TABLE에 적용안함.(값만확인)
- model.setValue("/root/tmp/msgtrsm/info/ordtype", "I"); // 외래기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/kindflag", "O"); // 처방기준 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/grupcalcscorcd", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/grupcalcscorcd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/snglcalcscorcd", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/snglcalcscorcd")); // chk
- model.setValue("/root/tmp/msgtrsm/info/ordqty", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/drugqty")); // chk
- model.setValue("/root/tmp/msgtrsm/info/ordtims", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/tims")); // chk
- model.setValue("/root/tmp/msgtrsm/info/orddays", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/dayno")); // chk
- model.setValue("/root/tmp/msgtrsm/info/prcpdd", ""); // chk, 화면에 미존재 서버단에서 조회하여 가져와야함.
- model.setValue("/root/tmp/msgtrsm/info/prcpno", ""); // chk, 화면에 미존재 서버단에서 조회하여 가져와야함.
- model.setValue("/root/tmp/msgtrsm/info/prcppayflag", model.getvalue("/root/main/list2/clod[" + grd_clodhist.row + "]/payflag")); // chk
- model.setValue("/root/tmp/msgtrsm/info/rgstrid", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgstdd", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/rgsttm", "-"); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/sendphone", ""); // 서버단에서 조회하여 가져와야함. chk
- model.setValue("/root/tmp/msgtrsm/info/anybodyyn", "N"); // 누구나 기본 'N', chk
- model.setValue("/root/tmp/msgtrsm/info/sendflag", "O"); // 진료기본 'O', chk
- model.setValue("/root/tmp/msgtrsm/info/senddate", ""); // 쿼리에서 timestamp chk
- model.setValue("/root/tmp/msgtrsm/info/sendid", userid); // chk
- model.setValue("/root/tmp/msgtrsm/info/deliveid", "-"); // 화면에서선택. chk
- model.setValue("/root/tmp/msgtrsm/info/recvdate", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmyn", "N"); // 기본 비연속 'N', chk
- model.setValue("/root/tmp/msgtrsm/info/recvcnfmid", userid); // chk
- model.setValue("/root/tmp/msgtrsm/info/sendmsg", ""); // 기본 처방코드,처방명값가지고 시작. chk -> 변경 화면에서 그룹코드 명 조회하여 넣어줌. chk
- model.setValue("/root/tmp/msgtrsm/info/recvmsg", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/fstrgstdt", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtrid", ""); // chk
- model.setValue("/root/tmp/msgtrsm/info/lastupdtdt", ""); // chk
- } else {
- messageBox("기본정보가 ", "I004");
- }
- model.refresh();
- modal("SPPIZ01900_심사환자메세지작성", "", "400", "300", "", "/root/tmp/msgtrsm/info", "/root/main/patinfo");
- model.removenode("/root/tmp/msgtrsm");
- }
- /*
- * 심사완료전상병특정내역체크 2012.07.11 plet2 1. 중증/산정특례 상병 체크- 상병 화면 주상병(no=1)의 MT002에 V
- * Code 있으면 중증/산정특례 V252, V027은 제외 2. 특정내역에 MT002 체크 - 중증/산정특례 특정기호 관련 특정내역 3.
- * 특정내역에 MT014 체크 - 중증/산정특례 자격 번호 관련 특정내역 //주상병이 v252이고 특정내역에 ct002코드가 없을때 발생
- * 2012.07.05 plet2 //특정내역이 ct002이고 주상병에 v252코드가 없을때 발생 2012.07.05 plet2
- * //불완전상병체크
- */
- function fGetDiagSpclcdCheck() {
- var chk_vcode = model.getValue("/root/main/list1/cldi[diagseq='1']/vcode");
- var chk_vcodeR = model.getValue("/root/main/list1/cldi[diagseq='1' and diagkindcd != 'R']/vcode"); //룰아웃제외
- var chk_CT002 = model.getValue("/root/main/list3/clsp[spclcd='CT002' and insntstat !='D']/spclcd");
- var chk_MT002 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and insntstat !='D']/spclcd");
- var chk_F001 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F001' and insntstat !='D']/spclcd");
- var chk_F003 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F003' and insntstat !='D']/spclcd");
- var chk_F004 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F004' and insntstat !='D']/spclcd");
- var chk_F005 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='F005' and insntstat !='D']/spclcd");
- var chk_V001 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='V001' and insntstat !='D']/spclspec");
- var chk_V008 = model.getValue("/root/main/list3/clsp[spclcd='MT002' and spclspec='V008' and insntstat !='D']/spclcd");
- var chk_MT014 = model.getValue("/root/main/list3/clsp[spclcd='MT014' and insntstat !='D']/spclcd");
- var kcd6chk = model.getValue("/root/main/list1/cldi[kcd6chk='Y' and rowstat !='U']/kcd6chk");
- var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
- var chk_insukindcd = model.getValue("/root/main/item1/clbs/insukindcd"); // 보험유형
- var chk_suppkindcd = model.getValue("/root/main/item1/clbs/suppkindcd"); // 보조유형
- var chk_diagcd = model.getValue("/root/main/list1/cldi[diagseq='1']/diagcd"); // 주상병코드
- var chk_diagcdR = model.getValue("/root/main/list1/cldi[diagseq='1' and diagkindcd != 'R']/diagcd"); //주상병코드룰아웃
- var chk_pid = model.getValue("/root/main/item1/clbs/pid"); // 환자번호
- var chk_ioflag = model.getValue("/root/main/item1/clbs/ioflag"); // 입원외래구분
- var chk_ordfromdd = model.getValue("/root/main/item1/clbs/ordfromdd");
- var chk_clamym = model.getValue("/root/main/item1/clbs/clamym"); // 청군년월
- var chk_clamdg = model.getValue("/root/main/item1/clbs/clamdg"); // 차수
- var chk_pidsn = model.getValue("/root/main/item1/clbs/pidsn"); // 순번
- var chk_O3420 = model.getValue("/root/main/list1/cldi[diagcd='O3420']/diagcd");
- var chk_JT005 = model.getValue("/root/main/list3/clsp[spclcd='JT005' and insntstat !='D']/spclspec"); // 임신주수
- var chk_MS004 = model.getValue("/root/main/list3/clsp[spclcd='MS004' and insntstat !='D']/spclspec"); // 신생아체중
- var chk_O365 = model.getValue("/root/main/list1/cldi[diagcd='O365' or diagcd='O366' ]/diagcd"); // 임신주수상병코드
- var chk_rareobstflag = model.getValue("/root/main/item1/clbs[suppamt>0 and rareobstflag='L']/rareobstflag"); // 결핵이면서 지원금 있는
- var cnt_MT002 = getNodesetCount("/root/main/list3/clsp[spclcd='MT002' and insntstat !='D' and spclspec!='V206' and spclspec!='V246' and spclspec!='V231' and spclspec!='F008']/spclcd");
- var chk_orddeptcd = model.getValue("/root/main/item1/clbs/orddeptcd"); // 진료과
- var result = true;
- if (clamkey) { // 조회된 심사대상자가 있으면
- model.resetInstanceNode("/root/hidden/sppid21700/cond");
- model.setValue("/root/hidden/sppid21700/cond/clamym", model.getValue("/root/main/item1/clbs/clamym"));
- model.setValue("/root/hidden/sppid21700/cond/clamdg", model.getValue("/root/main/item1/clbs/clamdg"));
- model.setValue("/root/hidden/sppid21700/cond/pid", model.getValue("/root/main/item1/clbs/pid"));
- model.setValue("/root/hidden/sppid21700/cond/pidsn", model.getValue("/root/main/item1/clbs/pidsn"));
- model.setValue("/root/hidden/sppid21700/cond/clamkey", model.getValue("/root/main/item1/clbs/clamkey"));
- model.setValue("/root/hidden/sppid21700/cond/workflag", model.getValue("/root/main/item1/clbs/workflag"));
- model.setValue("/root/hidden/sppid21700/cond/ioflag", "I");
- submit("TRPID21701");
- }
- var snglcalcscorcdcnt = getNodesetCount("/root/main/list7/list1/clop");
- var chk_396 = model.getValue("/root/main/list7/clop[efcyclscd='396']/efcyclscd");
- // V252,V027,V191,V192제외
- // F004,F005제외
- // 주상병 불일치
- // 주상병이 N180~N189 이면서 Vcode가 V001아닌 경우 체크
- if (chk_vcodeR != "V252" && chk_vcodeR != "V027" && chk_vcodeR != "V191" && chk_vcodeR != "V192") {
- if ((chk_MT002 == "" || chk_MT014 == "") && chk_vcodeR != "") {
- if ((chk_diagcdR >= "N180" && chk_diagcdR <= "N189") && chk_V001 == "V001" && chk_MT014 == "") {
- if (messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례),", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- } else {
- // 의료보호, 보조유형 1종 차상위는 제외 에이즈상병 제외 (V103)
- if ((chk_vcodeR == "V103")
- || (chk_insukindcd == "21" || chk_insukindcd == "22")
- || (chk_insukindcd == "11" && (chk_suppkindcd == "32" || chk_suppkindcd == "60" || chk_suppkindcd == "88"))
- || chk_suppkindcd == "00")
- {
- result = true;
- } else {
- if (messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례)", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- } else if ((chk_MT002 != "" || chk_MT014 != "") && chk_vcodeR == "") {
- if (chk_F003 != "" || chk_F004 != "" || chk_F005 != "" || chk_V008 || chk_F001 != "") {
- result = true;
- } else {
- if (((chk_MT002 != "" || chk_MT014 != "") && chk_vcodeR == "" && !((chk_insukindcd == "21" || chk_insukindcd == "22") && chk_suppkindcd == "00")) || ((chk_MT002 == "" || chk_MT014 == "") && chk_vcodeR != "")) {
- if (messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례),",
- "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- } else if (chk_vcodeR == "V103" && chk_MT002 == "") {
- if (messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (중증/산정특례).", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- } else if (chk_vcodeR != "" && chk_rareobstflag == "L" && cnt_MT002 > "0") {
- if (messageBox("결핵환자는 결핵관련 특정기호(MT002) 이외에는 기재 할 수 없습니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- // 경증상병
- // CT002불일치
- // 주상병이 경증 + 건강보험이 정상이면서 원외 처방이 있고, CT002없는 경우/반대의경우 체크
- if ((chk_vcodeR == "V252" && chk_CT002 == "" && snglcalcscorcdcnt > 0 && (chk_insukindcd == "11" && chk_suppkindcd == "00")) || (chk_vcodeR != "V252" && chk_CT002 != "" && snglcalcscorcdcnt > 0 && (chk_insukindcd == "11" && chk_suppkindcd == "00"))) {
- if ((chk_diagcdR >= "E10" && chk_diagcdR <= "E149") && chk_396 != '396') {
- if (messageBox("주상병과 특정내역이 일치 하지 않습니다.!! (경증)", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- if (kcd6chk == "Y") {
- if (messageBox("불완전상병이 존재 합니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- if (chk_vcodeR.length > 0) {
- model.setValue("/root/send/chksuppkindflag/cond/diagcd", chk_diagcdR);
- model.setValue("/root/send/chksuppkindflag/cond/spclcd", chk_vcodeR);
- model.setValue("/root/send/chksuppkindflag/cond/ioflag", chk_ioflag);
- model.setValue("/root/send/chksuppkindflag/cond/ordfromdd", chk_ordfromdd);
- model.setValue("/root/send/chksuppkindflag/cond/clamym", chk_clamym);
- model.setValue("/root/send/chksuppkindflag/cond/clamdg", chk_clamdg);
- model.setValue("/root/send/chksuppkindflag/cond/pidsn", chk_clamdg);
- model.setValue("/root/send/chksuppkindflag/cond/pid", chk_pid);
- model.setValue("/root/send/chksuppkindflag/cond/insukindcd", chk_insukindcd);
- // 상병 + 번호 + 처방
- // 상병 + 번호
- // 보조유형 불일치 체크
- submit("TRPID20314");
- var chksuppkindflag = model.getValue("/root/hidden/chksuppkindflag/rslt/chksuppkindflag");
- if (chksuppkindflag != "" && chksuppkindflag != chk_suppkindcd && chk_diagcdR != "" && chk_suppkindcd != "00") {
- if (messageBox("주상병과 보조유형이 일치 하지 않습니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- // 특정 분만진단에 필수 부진단 유무 체크
- // O820이 주상병인 환자가 O3420 상병이 없을 경우 체크
- if (chk_diagcd == 'O820' && chk_O3420.length == 0) {
- if (messageBox("반복제왕절개 환자입니다.", "Q003") == 6) {
- result = true;
- } else {
- var ans = messageBox("O3420 상병을 입력", "S001");
- if (ans == 6) {
- model.setFocus("grd_cldihist");
- fDiagGridInsertRow("Y", "N");
- grd_cldihist.bottomRow = grd_cldihist.rows;
- model.refresh();
- var maxseq = model.getXPathValue("max(/root/main/list1/cldi[*]/diagseq)");
- model.setValue("/root/main/list1/cldi[diagseq='" + maxseq + "']/diagcd", "O3420");
- model.setValue("/root/main/list1/cldi[diagseq='" + maxseq + "']/diagnm", "이전의 제왕절개로 인한 흉터의 산모 관리");
- }
- result = false;
- }
- }
- // 임신주수별 체중과 진단 체크
- // 신생아 체중관련 상병누락입니다 (O365 or O366)
- if (chk_JT005.length > 0 && chk_MS004.length > 0) {
- var nwbabyweight = parseInt(chk_MS004);
- var minweight = parseInt(model.getValue("/root/main/nbwt/nbwtlist[prgntweek='" + chk_JT005 + "']/minweight"));
- var maxweight = parseInt(model.getValue("/root/main/nbwt/nbwtlist[prgntweek='" + chk_JT005 + "']/maxweight"));
- if (chk_O365.length == 0 && (nwbabyweight <= minweight || nwbabyweight >= maxweight)) {
- if (messageBox("신생아 체중관련 상병누락 환자입니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- }
- // I20 ~I25 을 입력 하면 순환기,흉부외과는 주상병명이면 통과 하고타과 면 주상병명 으로 입력 하면 입력이 안되도록
- if ((chk_diagcd >= "I200" && chk_diagcd <= "I2599") && !(chk_orddeptcd == "2070000000" || chk_orddeptcd == "2010400000")) {
- if (messageBox("순환기내과, 흉부외과 외 주상병 할 수 없는 상병 입니다.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- var clbs_licnsno = model.getValue("/root/main/item1/clbs/licnsno");
- var cldi_licnsno = model.getValue("/root/main/list1/cldi[diagseq='1']/licnsno");
- var clod_snglcalcscorcd = model.getValue("/root/main/list8/clod[item='0101' or item='0102']/snglcalcscorcd");
- if (clbs_licnsno != cldi_licnsno) {
- if (grd_cldihist.rowstatus(1) != 1 && grd_cldihist.rowstatus(1) != 3) {
- grd_cldihist.rowstatus(1) = 2;
- }
- if (grd_cldihist.rowstatus(1) != 1 && grd_cldihist.rowstatus(1) != 3) {
- grd_clodhist.rowstatus(grd_clodhist.findRow(clod_snglcalcscorcd,grd_clodhist.fixedRows, grd_clodhist.colRef("snglcalcscorcd"), false, true)) = 2;
- }
- }
- var holigbn = model.getValue("/root/main/item1/clbs/holigbn");
- var holifromdd = model.getValue("/root/main/item1/clbs/holifromdd");
- var holitodd = model.getValue("/root/main/item1/clbs/holitodd");
- if (holigbn == "Y" && clod_snglcalcscorcd.length > 0) {
- if (messageBox("진료의가 " + holifromdd + " ~ " + holitodd + " 기간동안 해외 출장입니다. 진료의사를 변경하세요.", "Q003") == 6) {
- result = true;
- } else {
- result = false;
- }
- }
- return result;
- }
- function fSaveClspList() {
- if (btn_save.disabled == false && "M" == "S") {
- // 인적사항
- var initclbs = instance1.selectNodesXml("/root/hidden/item1/initclbs/clbs");
- var currentclbs = instance1.selectNodesXml("/root/main/item1/clbs");
- model.copyNode("/root/send/item1/clbs", "/root/main/item1/clbs");
- model.makeValue("/root/send/item1/clbs/clbsupdateyn", "N"); // 인적사항 저장여부
- // 심사상태를 '저장' 또는 '심사완료' 상태로 저장한다.
- model.makeValue("/root/send/item1/clbs/judgendyn", "B"); // 사후심사-심사완료여부 (P0151) - B: 심사중, C: 심사완료
- for ( var j = grd_clsphist.fixedRows; j < grd_clsphist.rows; j++) {
- var spclLnNo = model.getValue("/root/main/list3/clsp[" + j + "]/seqno");
- if (spclLnNo.substr(0, 1) == "D") {
- model.setValue("/root/main/list3/clsp[" + j + "]/seqno", spclLnNo.substr(1, spclLnNo.length));
- }
- }
- // 기타메모(JX999)를 특정내역 형식에 맞춰 설정
- fSetSpclSpecJX999();
- var updtdata = getGridUpdateData(grd_clsphist); // (tfHelper.js) 그리드 업데이트 데이터 반환, 업데이트 정보가 없을경우 "" 반환
- if (updtdata) {
- model.makeValue("/root/send/list3/clsp", updtdata);
- }
- submit("TXPID20315");
- model.refreshpart("/root/main/list3");
- fGetSelectedUnitFlag();
- }
- }
- function fGetKDrgOpenPopup(){
- var pid = model.getValue("/root/main/item1/clbs/pid");
- var pidsn = model.getValue("/root/main/item1/clbs/pidsn");
- var clamdg = model.getValue("/root/main/item1/clbs/clamdg");
- var clamym = model.getValue("/root/main/item1/clbs/clamym");
- var ordrsltcd = model.getValue("/root/main/item1/clbs/ordrsltcd");
-
- setParameter("pid", pid);
- setParameter("pidsn", pidsn);
- setParameter("clamdg", clamdg);
- setParameter("clamym", clamym);
- setParameter("ordrsltcd", ordrsltcd);
-
- open("SPPID31000" ,"", "10", "10", "SPPID31000", "/root/hidden/SPPID31000/cond", "/root/send/data/drginfo", "", "");
- }
|