SMPEA00100_검사예약.xfdl 217 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPEA00100" position="absolute 0 0 1195 780" titletext="검사예약" onload="SMPEA00100_onload" onsize="SMPEA00100_onsize" onclose="SMPEA00100_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="rectangle2" type="rectangle" class="calendar_header" position="absolute 260 434 600 488" anchor="left bottom"/>
  8. <Grid position="absolute 280 5 1195 55" id="grd_pt" binddataset="ds_main_pt" taborder="29" autofittype="col" anchor="left top right">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="60"/>
  13. <Column size="35"/>
  14. <Column size="35"/>
  15. <Column size="100"/>
  16. <Column size="90"/>
  17. <Column size="90"/>
  18. <Column size="140"/>
  19. <Column size="50"/>
  20. <Column size="80"/>
  21. <Column size="80"/>
  22. <Column size="35"/>
  23. <Column size="40"/>
  24. <Column size="45"/>
  25. <Column size="35"/>
  26. </Columns>
  27. <Rows>
  28. <Row size="24" band="head"/>
  29. <Row size="24"/>
  30. </Rows>
  31. <Band id="head">
  32. <Cell text="이름"/>
  33. <Cell col="1" text="나이"/>
  34. <Cell col="2" text="성별"/>
  35. <Cell col="3" text="주민번호"/>
  36. <Cell col="4" text="집전화"/>
  37. <Cell col="5" text="휴대전화"/>
  38. <Cell col="6" text="주소"/>
  39. <Cell col="7" text="병동"/>
  40. <Cell col="8" text="중증종료"/>
  41. <Cell col="9" text="희귀종료"/>
  42. <Cell col="10" text="SMS"/>
  43. <Cell col="11" text="VIP"/>
  44. <Cell col="12" text="사생활"/>
  45. <Cell col="13" text="HIV"/>
  46. </Band>
  47. <Band id="body">
  48. <Cell style="selectbackground:#ffffffff;" text="bind:hngnm"/>
  49. <Cell col="1" style="selectbackground:#ffffffff;" text="bind:age"/>
  50. <Cell col="2" displaytype="combo" style="align:center;selectbackground:#ffffffff;" text="bind:sex" combodataset="ds_cmb_sex" combocodecol="value" combodatacol="label" enable="false"/>
  51. <Cell col="3" style="selectbackground:#ffffffff;" text="bind:rrgstno"/>
  52. <Cell col="4" style="selectbackground:#ffffffff;" text="bind:hometel"/>
  53. <Cell col="5" style="selectbackground:#ffffffff;" text="bind:mpphontel"/>
  54. <Cell col="6" style="align:left;padding:0 0 0 5;selectbackground:#ffffffff;" text="bind:addr" tooltiptype="right" tooltiptext="bind:addr"/>
  55. <Cell col="7" style="align:left;padding:0 0 0 5;selectbackground:#ffffffff;" text="bind:ward" tooltiptype="right" tooltiptext="bind:ward"/>
  56. <Cell col="8" displaytype="date" style="selectbackground:#ffffffff;" text="bind:serdiagtodd" calendardisplaynulltype="nulltext"/>
  57. <Cell col="9" displaytype="date" style="selectbackground:#ffffffff;" text="bind:rareobsttodd" calendardisplaynulltype="nulltext"/>
  58. <Cell col="10" style="selectbackground:#ffffffff;" text="bind:smsaprvyn"/>
  59. <Cell col="11" displaytype="combo" style="align:center;background:EXPR(fSetPtGridBGColor(currow, self.col));background2:EXPR(fSetPtGridBGColor(currow, self.col));selectbackground:EXPR(fSetPtGridBGColor(currow, self.col));" text="bind:vip" combodataset="ds_cmb_vip" combocodecol="value" combodatacol="label" enable="false"/>
  60. <Cell col="12" displaytype="combo" style="background:EXPR(fSetPtGridBGColor(currow, self.col));background2:EXPR(fSetPtGridBGColor(currow, self.col));selectbackground:EXPR(fSetPtGridBGColor(currow, self.col));" text="bind:privacy" combodataset="ds_cmb_privacy" combocodecol="value" combodatacol="label" enable="false"/>
  61. <Cell col="13" displaytype="combo" style="background:EXPR(fSetPtGridBGColor(currow, self.col));background2:EXPR(fSetPtGridBGColor(currow, self.col));color:#ffff00ff;color2:#ffff00ff;font:돋움,9,bold;selectbackground:EXPR(fSetPtGridBGColor(currow, self.col));selectcolor:#ffff00ff;" text="bind:hivflag" combodataset="ds_cmb_hiv" combocodecol="value" combodatacol="label"/>
  62. </Band>
  63. </Format>
  64. </Formats>
  65. </Grid>
  66. <Static id="cap_title" text="검사 예약" class="tit_1" position="absolute 0 0 130 25" onclick="cap_title_onclick"/>
  67. <Div id="roundrect2" taborder="71" class="div_SA" position="absolute 0 25 275 55" type="roundrectangle"/>
  68. <Static id="caption17" text="등록번호 :" class="search_name" position="absolute 5 34 79 49"/>
  69. <Edit id="ipt_pid" taborder="72" onkeyup="ipt_pid_onkeyup" class="input_search" position="absolute 85 29 165 52" style="font:돋움,9,bold;" autoselect="true"/>
  70. <Button id="btn_pid" taborder="73" class="icon_search" position="absolute 169 32 185 48" onclick="btn_pid_onclick"/>
  71. <Button id="btn_search" taborder="74" text="조회" onclick="btn_search_onclick" class="btn1" position="absolute 216 29 272 52"/>
  72. <Static id="caption20" text="예약 전달 사항" class="tit_2" position="absolute 0 63 109 82"/>
  73. <Button id="btn_addcmt" taborder="77" text="추가" class="btn5" position="absolute 170 57 214 79" onclick="btn_addcmt_onclick"/>
  74. <Button id="btn_savecmt" taborder="78" text="저장" class="btn5" position="absolute 215 57 259 79" onclick="btn_savecmt_onclick" enable="false"/>
  75. <Button id="btn_delcmt" taborder="79" text="삭제" class="btn5" position="absolute 260 57 304 79" onclick="btn_delcmt_onclick"/>
  76. <Button id="btn_ptcmtex" taborder="80" class="btn5" position="absolute 305 57 330 79" style="background:@gradation URL('theme://images\icon_shuttleBottom_N.png') center middle;" onclick="btn_ptcmtex_onclick"/>
  77. <Static id="caption00" text="진료 예약 내역" class="tit_2" position="absolute 335 63 445 82"/>
  78. <Combo id="cmb_rsrvplce" taborder="82" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="cmb_rsrvplce_onitemchanged" visible="false" position="absolute 215 2 275 24">
  79. <Dataset id="innerdataset">
  80. <ColumnInfo>
  81. <Column id="codecolumn" size="256"/>
  82. <Column id="datacolumn" size="256"/>
  83. </ColumnInfo>
  84. <Rows>
  85. <Row>
  86. <Col id="codecolumn">T</Col>
  87. <Col id="datacolumn">통합</Col>
  88. </Row>
  89. <Row>
  90. <Col id="codecolumn">I</Col>
  91. <Col id="datacolumn">입원</Col>
  92. </Row>
  93. <Row>
  94. <Col id="codecolumn">O</Col>
  95. <Col id="datacolumn">외래</Col>
  96. </Row>
  97. <Row>
  98. <Col id="codecolumn">S</Col>
  99. <Col id="datacolumn">건진</Col>
  100. </Row>
  101. </Rows>
  102. </Dataset>
  103. </Combo>
  104. <Static id="caption12" text="접수" position="absolute 457 57 492 79" style="border:1 solid #808080ff ;align:center middle;"/>
  105. <Static id="caption02" text="후불" position="absolute 493 57 528 79" style="background:#ffffa0ff;border:1 solid #808080ff ;align:center middle;"/>
  106. <Static id="caption21" text="미수납" position="absolute 529 57 574 79" style="background:#ffb450ff;border:1 solid #808080ff ;align:center middle;"/>
  107. <Button id="btn_ptinfo" taborder="83" text="환자정보수정" class="btn5" position="absolute 640 57 730 79" onclick="btn_ptinfo_onclick"/>
  108. <Grid id="grd_ord" taborder="84" useinputpanel="false" position="absolute 335 84 730 190" binddataset="ds_main_ord" autofittype="col">
  109. <Formats>
  110. <Format id="default">
  111. <Columns>
  112. <Column size="110"/>
  113. <Column size="90"/>
  114. <Column size="50"/>
  115. <Column size="80"/>
  116. <Column size="55"/>
  117. </Columns>
  118. <Rows>
  119. <Row size="24" band="head"/>
  120. <Row size="24"/>
  121. </Rows>
  122. <Band id="head">
  123. <Cell text="진료일시"/>
  124. <Cell col="1" text="진료과"/>
  125. <Cell col="2" text="진료의"/>
  126. <Cell col="3" text="예약구분"/>
  127. <Cell col="4" text="수납"/>
  128. </Band>
  129. <Band id="body">
  130. <Cell style="align:center;background:EXPR(fSetOrdGridBGColor(currow, self.col));background2:EXPR(fSetOrdGridBGColor(currow, self.col));selectbackground:EXPR(fSetOrdGridBGColor(currow, self.col));" text="bind:orddt" mask="expr:utlf_isNull(orddt) ? '' : '####-##-## ##:##'"/>
  131. <Cell col="1" style="align:center;background:EXPR(fSetOrdGridBGColor(currow, self.col));background2:EXPR(fSetOrdGridBGColor(currow, self.col));selectbackground:EXPR(fSetOrdGridBGColor(currow, self.col));" text="bind:depthngnm"/>
  132. <Cell col="2" style="align:center;background:EXPR(fSetOrdGridBGColor(currow, self.col));background2:EXPR(fSetOrdGridBGColor(currow, self.col));selectbackground:EXPR(fSetOrdGridBGColor(currow, self.col));" text="bind:orddrnm"/>
  133. <Cell col="3" style="align:center;background:EXPR(fSetOrdGridBGColor(currow, self.col));background2:EXPR(fSetOrdGridBGColor(currow, self.col));selectbackground:EXPR(fSetOrdGridBGColor(currow, self.col));" text="bind:rsrvflagnm"/>
  134. <Cell col="4" displaytype="combo" style="align:center;background:EXPR(fSetOrdGridBGColor(currow, self.col));background2:EXPR(fSetOrdGridBGColor(currow, self.col));selectbackground:EXPR(fSetOrdGridBGColor(currow, self.col));" text="bind:rcptflag" combodataset="ds_cmb_rcptflag" combocodecol="value" combodatacol="label"/>
  135. </Band>
  136. </Format>
  137. </Formats>
  138. </Grid>
  139. <Static id="caption19" text="당일 검사 내역" class="tit_2" position="absolute 735 63 844 82"/>
  140. <Button id="btn_sms" taborder="85" text="문자" class="btn5" position="absolute 845 57 884 79" anchor="top right" onclick="btn_sms_onclick"/>
  141. <Button id="btn_prcphist" taborder="86" text="처방이력" class="btn5" position="absolute 885 57 949 79" anchor="top right" onclick="btn_prcphist_onclick"/>
  142. <Button id="btn_rsrvstat" taborder="87" text="예약현황" class="btn5" position="absolute 950 57 1014 79" anchor="top right" onclick="btn_rsrvstat_onclick"/>
  143. <Button id="btn_rsrvchng" taborder="88" text="예약변경조회" class="btn5" position="absolute 1015 57 1104 79" anchor="top right" onclick="btn_rsrvchng_onclick"/>
  144. <Button id="btn_weekrsrv" taborder="89" text="주간예약조회" class="btn5" position="absolute 1105 57 1195 79" anchor="top right" onclick="btn_weekrsrv_onclick"/>
  145. <Grid id="grd_tdrv" taborder="90" useinputpanel="false" position="absolute 735 84 1195 190" binddataset="ds_main_tdrv" autofittype="col" anchor="left top right">
  146. <Formats>
  147. <Format id="default">
  148. <Columns>
  149. <Column size="40"/>
  150. <Column size="100"/>
  151. <Column size="175"/>
  152. <Column size="80"/>
  153. <Column size="50"/>
  154. </Columns>
  155. <Rows>
  156. <Row size="24" band="head"/>
  157. <Row size="24"/>
  158. </Rows>
  159. <Band id="head">
  160. <Cell text="시각"/>
  161. <Cell col="1" text="검사실"/>
  162. <Cell col="2" text="검사명"/>
  163. <Cell col="3" text="상태"/>
  164. <Cell col="4" text="예약자"/>
  165. </Band>
  166. <Band id="body">
  167. <Cell displaytype="date" style="align:center;" text="bind:rsrvtm" mask="hh:mm" calendardisplaynulltype="nulltext"/>
  168. <Cell col="1" displaytype="text" style="align:center;" text="bind:excuroomnm"/>
  169. <Cell col="2" displaytype="text" style="align:center;" text="bind:prcpnm"/>
  170. <Cell col="3" style="align:center;" text="bind:prcpstatcd"/>
  171. <Cell col="4" style="align:center;" text="bind:rsrvrnm"/>
  172. </Band>
  173. </Format>
  174. </Formats>
  175. </Grid>
  176. <Static id="caption04" text="검사 내역" class="tit_2" position="absolute 0 198 79 217"/>
  177. <Static id="caption14" text="검사실" class="tit_2" position="absolute 1075 198 1135 217" anchor="top right"/>
  178. <Button id="btn_restroom" taborder="92" text="휴검" class="btn5" position="absolute 1155 192 1195 214" anchor="top right" onclick="btn_restroom_onclick"/>
  179. <Grid id="grd_room" taborder="93" binddataset="ds_main_room" useinputpanel="false" extendsizetype="row" autofittype="col" autosizingtype="row" oncellclick="grd_room_oncellclick" position="absolute 1075 219 1195 388" anchor="top right bottom">
  180. <Formats>
  181. <Format id="default">
  182. <Columns>
  183. <Column size="115"/>
  184. </Columns>
  185. <Rows>
  186. <Row size="24" band="head"/>
  187. <Row size="24"/>
  188. </Rows>
  189. <Band id="head">
  190. <Cell text="검사실"/>
  191. </Band>
  192. <Band id="body">
  193. <Cell displaytype="text" style="align:left top;padding:4 2 4 2;background:transparent;background2:transparent;font:Dotum,9,bold;linespace:3;" text="bind:excuroomnm" wordwrap="word" autosizerow="limitmin"/>
  194. </Band>
  195. </Format>
  196. </Formats>
  197. </Grid>
  198. <CheckBox id="chk_totflag" taborder="94" text="검사실 전체" position="absolute 1075 390 1160 405" falsevalue="N" truevalue="Y" anchor="right bottom"/>
  199. <Static id="caption11" text="처방 전달 사항" class="tit_2" position="absolute 0 413 120 432" anchor="left bottom"/>
  200. <TextArea id="tar_prcpcmt" taborder="95" scrollbars="autovert" wordwrap="char" position="absolute 0 434 255 507" style="padding:8 8 8 8;background:transparent;border:1 solid darkgray ;font:Dotum,9,bold;" align="align:center middle;" anchor="left bottom"/>
  201. <Static id="caption03" text="제어 내역" onclick="caption03_onclick" class="tit_2" position="absolute 0 515 80 534" anchor="left bottom"/>
  202. <Button id="btn_rsrvstaff" taborder="117" text="통합예약담당관리" class="btn5" position="absolute 100 509 214 531" visible="false" anchor="left bottom" onclick="btn_rsrvstaff_onclick"/>
  203. <Button id="btn_legend_ctrl" taborder="146" text="범례" class="btn5" position="absolute 215 509 255 531" anchor="left bottom" onclick="btn_legend_ctrl_onclick"/>
  204. <Grid id="grd_ctrl" taborder="96" binddataset="ds_ctrl_main" useinputpanel="false" position="absolute 0 536 255 779" anchor="left bottom" autofittype="col" autosizingtype="row" extendsizetype="row">
  205. <Formats>
  206. <Format id="default">
  207. <Columns>
  208. <Column size="25"/>
  209. <Column size="230"/>
  210. </Columns>
  211. <Rows>
  212. <Row size="24" band="head"/>
  213. <Row size="24"/>
  214. </Rows>
  215. <Band id="head">
  216. <Cell/>
  217. <Cell col="1" displaytype="normal" text="제어 내용"/>
  218. </Band>
  219. <Band id="body">
  220. <Cell celltype="head" expr="expr:currow + 1"/>
  221. <Cell col="1" style="align:left;padding:5 5 5 5;background:EXPR(fSetCtrlBGColor(currow));background2:EXPR(fSetCtrlBGColor(currow));font:EXPR(fSetCtrlFont(currow));selectbackground:EXPR(fSetCtrlBGColor(currow));selectfont:EXPR(fSetCtrlFont(currow));linespace:3;" text="bind:ctrldesc" wordwrap="char" autosizerow="limitmin"/>
  222. </Band>
  223. </Format>
  224. </Formats>
  225. </Grid>
  226. <Static id="caption1" text="예약일" class="tit_2" position="absolute 260 413 320 432" anchor="left bottom"/>
  227. <Combo id="cmb_roomgrp" taborder="97" position="absolute 695 407 814 429" anchor="right bottom" innerdataset="@ds_init_rmgp" codecolumn="basecd" datacolumn="basecdflagdesc" visible="false"/>
  228. <Button id="btn_temprsrv" taborder="98" text="임시" class="btn5" position="absolute 815 407 854 429" anchor="right bottom" onclick="btn_temprsrv_onclick" visible="false"/>
  229. <Button id="btn_prevyear" taborder="99" onclick="btn_prevyear_onclick" position="absolute 340 436 365 460" anchor="left bottom" text="&lt;"/>
  230. <Static id="caption24" text="년" class="calendar_output" position="absolute 415 436 435 460" style="color:black;" anchor="left bottom"/>
  231. <Button id="btn_nextyear" taborder="101" onclick="btn_nextyear_onclick" position="absolute 440 436 465 460" anchor="left bottom" text="&gt;"/>
  232. <Static id="caption25" text="월" class="calendar_output" position="absolute 505 436 525 460" style="color:black;" anchor="left bottom"/>
  233. <Button id="btn_m01" taborder="104" text="1" onclick="btnCalendar_onclick" position="absolute 262 461 289 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  234. <Button id="btn_m02" taborder="105" text="2" onclick="btnCalendar_onclick" position="absolute 290 461 317 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  235. <Button id="btn_m03" taborder="106" text="3" onclick="btnCalendar_onclick" position="absolute 318 461 345 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  236. <Button id="btn_m04" taborder="107" text="4" onclick="btnCalendar_onclick" position="absolute 346 461 373 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  237. <Button id="btn_m05" taborder="108" text="5" onclick="btnCalendar_onclick" position="absolute 374 461 401 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  238. <Button id="btn_m06" taborder="109" text="6" onclick="btnCalendar_onclick" position="absolute 402 461 429 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  239. <Button id="btn_m07" taborder="110" text="7" onclick="btnCalendar_onclick" position="absolute 430 461 457 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  240. <Button id="btn_m08" taborder="111" text="8" onclick="btnCalendar_onclick" position="absolute 458 461 485 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  241. <Button id="btn_m09" taborder="112" text="9" onclick="btnCalendar_onclick" position="absolute 486 461 513 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  242. <Button id="btn_m10" taborder="113" text="10" onclick="btnCalendar_onclick" position="absolute 514 461 541 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  243. <Button id="btn_m11" taborder="114" text="11" onclick="btnCalendar_onclick" position="absolute 542 461 569 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  244. <Button id="btn_m12" taborder="115" text="12" onclick="btnCalendar_onclick" position="absolute 570 461 598 486" anchor="left bottom" style="color:#000000ff;font:Dotum,9;"/>
  245. <Grid id="grd_calendar" taborder="116" binddataset="ds_hidden_calendar" useinputpanel="false" selecttype="cell" oncellclick="grd_calendar_oncellclick" position="absolute 260 489 600 779" anchor="left bottom" autofittype="col,allrow">
  246. <Formats>
  247. <Format id="default">
  248. <Columns>
  249. <Column size="48"/>
  250. <Column size="47"/>
  251. <Column size="47"/>
  252. <Column size="47"/>
  253. <Column size="47"/>
  254. <Column size="47"/>
  255. <Column size="47"/>
  256. </Columns>
  257. <Rows>
  258. <Row size="24" band="head"/>
  259. <Row size="40"/>
  260. </Rows>
  261. <Band id="head">
  262. <Cell displaytype="normal" text="일"/>
  263. <Cell col="1" displaytype="normal" text="월"/>
  264. <Cell col="2" displaytype="normal" text="화"/>
  265. <Cell col="3" displaytype="normal" text="수"/>
  266. <Cell col="4" displaytype="normal" text="목"/>
  267. <Cell col="5" displaytype="normal" text="금"/>
  268. <Cell col="6" displaytype="normal" text="토"/>
  269. </Band>
  270. <Band id="body">
  271. <Cell displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:sun"/>
  272. <Cell col="1" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:mon"/>
  273. <Cell col="2" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:tue"/>
  274. <Cell col="3" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:wed"/>
  275. <Cell col="4" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:thu"/>
  276. <Cell col="5" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:fri"/>
  277. <Cell col="6" displaytype="normal" style="align:center middle;padding:2 0 0 0;background:EXPR(fSetCalendarBGColor(currow, self.col));background2:EXPR(fSetCalendarBGColor(currow, self.col));color:EXPR(fSetCalendarColor(currow, self.col));color2:EXPR(fSetCalendarColor(currow, self.col));selectbackground:EXPR(fSetCalendarBGColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:sat"/>
  278. </Band>
  279. </Format>
  280. </Formats>
  281. </Grid>
  282. <Static id="caption15" text="예약 현황" class="tit_2" position="absolute 605 413 685 432" style="color:black;" anchor="left bottom"/>
  283. <Button id="btn_rmrvex" taborder="118" class="btn5" position="absolute 1171 407 1195 429" style="background:@gradation URL('theme://images\icon_shuttleLeft_N.png') center middle;" onclick="btn_rmrvex_onclick" anchor="right bottom"/>
  284. <Button id="btn_legend_rmrv" taborder="119" text="범례" class="btn5" position="absolute 1131 407 1170 429" anchor="right bottom" onclick="btn_legend_rmrv_onclick"/>
  285. <Div id="Div01" taborder="120" style="background:#f0f0f0ff;border:1 solid gray ;" position="absolute 855 407 1019 429" anchor="right bottom">
  286. <Layouts>
  287. <Layout>
  288. <Static id="Static00" text="소요" position="absolute 55 4 81 16" anchor="right bottom"/>
  289. <Static id="cap_tmsum" position="absolute 10 4 50 16" style="color:#b400b4ff;align:right middle;font:돋움,9,bold;" anchor="right bottom"/>
  290. <Static id="Static01" text="완료" position="absolute 130 4 156 16" anchor="right bottom"/>
  291. <Static id="cap_endtm" position="absolute 85 4 125 16" style="color:#ff0000ff;align:right middle;font:돋움,9,bold;" anchor="right bottom"/>
  292. </Layout>
  293. </Layouts>
  294. </Div>
  295. <Button id="btn_rsrv" taborder="121" text="예약" onclick="btn_rsrv_onclick" class="btn4" position="absolute 1020 407 1074 429" anchor="right bottom"/>
  296. <Button id="btn_cncl" taborder="122" text="취소" onclick="btn_cncl_onclick" class="btn4" position="absolute 1075 407 1130 429" anchor="right bottom"/>
  297. <Static id="caption26" text="처방일 :" position="absolute 105 195 155 219" style="font:돋움,9,bold;"/>
  298. <Calendar id="ipt_fromdd" taborder="125" class="input_search" position="absolute 163 195 251 214"/>
  299. <Static id="caption16" text="~" position="absolute 254 195 264 219" style="align:center middle;"/>
  300. <Calendar id="ipt_todd" taborder="126" class="input_search" position="absolute 266 195 354 214"/>
  301. <Div id="div_creatine" taborder="127" style="background:yellow;border:1 solid red ;" position="absolute 358 192 473 214" visible="false">
  302. <Layouts>
  303. <Layout>
  304. <Static id="Static00" text="Creatinine :" position="absolute 7 4 76 16" anchor="default"/>
  305. <Static id="cap_creatine" text="0" position="absolute 77 4 107 16" style="color:red;font:돋움,9,bold;" anchor="default"/>
  306. </Layout>
  307. </Layouts>
  308. </Div>
  309. <Button id="btn_legend_excu" taborder="128" text="범례" class="btn5" position="absolute 1005 192 1044 214" anchor="top right" onclick="btn_legend_excu_onclick"/>
  310. <Button id="btn_directsms" taborder="129" text="문자전송" class="btn5" position="absolute 545 192 609 214" anchor="top right" onclick="btn_directsms_onclick"/>
  311. <Button id="btn_multirsrv" taborder="130" text="멀티예약" class="btn2" position="absolute 610 192 674 214" anchor="top right" onclick="btn_multirsrv_onclick"/>
  312. <Button id="btn_srchprcp" taborder="131" text="처방조회" class="btn5" position="absolute 675 192 739 214" anchor="top right" onclick="btn_srchprcp_onclick"/>
  313. <Button id="btn_addrsrv" taborder="132" text="추가예약" class="btn5" position="absolute 740 192 804 214" anchor="top right" onclick="btn_addrsrv_onclick"/>
  314. <Button id="btn_rsrvprt" taborder="133" text="예약일정표출력" onclick="btn_rsrvprt_onclick" class="btn5" position="absolute 805 192 904 214" anchor="top right"/>
  315. <Button id="btn_infoprt" taborder="134" text="검사안내문출력" onclick="btn_infoprt_onclick" class="btn5" position="absolute 905 192 1004 214" anchor="top right"/>
  316. <Button id="btn_excuex" taborder="135" class="btn5" position="absolute 1045 192 1070 214" style="background:@gradation URL('theme://images/icon_shuttleBottom_N.png') center middle;" anchor="top right" onclick="btn_excuex_onclick"/>
  317. <Static id="opt_year" position="absolute 370 436 414 460" style="color:#262626ff;align:right middle;font:돋움,11,bold;" anchor="left bottom"/>
  318. <Static id="opt_month" position="absolute 470 436 504 460" style="color:#262626ff;align:right middle;font:돋움,11,bold;" anchor="left bottom"/>
  319. <Static id="cap_statdesc" text="※ 현황 표시 기준 :" position="absolute 420 407 534 429" style="color:#0000b7ff;align:center middle;" anchor="left bottom"/>
  320. <Combo id="cmb_statflag" taborder="145" position="absolute 535 407 600 429" index="0" codecolumn="codecolumn" datacolumn="datacolumn" value="C" text="인원수" onitemchanged="cmb_statflag_onitemchanged" anchor="left bottom">
  321. <Dataset id="innerdataset">
  322. <ColumnInfo>
  323. <Column id="codecolumn" size="256"/>
  324. <Column id="datacolumn" size="256"/>
  325. </ColumnInfo>
  326. <Rows>
  327. <Row>
  328. <Col id="codecolumn">C</Col>
  329. <Col id="datacolumn">인원수</Col>
  330. </Row>
  331. <Row>
  332. <Col id="codecolumn">T</Col>
  333. <Col id="datacolumn">시간수</Col>
  334. </Row>
  335. </Rows>
  336. </Dataset>
  337. </Combo>
  338. <Shape id="line8" class="line_10" position="absolute 0 79 330 85"/>
  339. <Shape id="line00" class="line_10" position="absolute 1075 214 1195 220" anchor="top right"/>
  340. <Shape id="line01" class="line_10" position="absolute 335 79 730 85"/>
  341. <Shape id="line02" class="line_10" position="absolute 735 79 1195 85" anchor="left top right"/>
  342. <Shape id="line03" class="line_10" position="absolute 0 214 1070 220" anchor="left top right"/>
  343. <Shape id="line04" class="line_10" position="absolute 0 429 255 435" anchor="left bottom"/>
  344. <Shape id="line05" class="line_10" position="absolute 260 429 600 435" anchor="left bottom"/>
  345. <Shape id="line06" class="line_10" position="absolute 605 429 1195 435" anchor="left right bottom"/>
  346. <Shape id="line07" class="line_10" position="absolute 0 531 255 537" anchor="left bottom"/>
  347. <Shape id="line09" class="line_10" position="absolute 280 0 1195 6" anchor="left top right"/>
  348. <Button id="btn" taborder="157" position="absolute 0 509 99 531" anchor="left bottom" style="background:transparent;border:2 none #33bbbbff #effcfbff;cursor:arrow;" ondblclick="btn_ondblclick"/>
  349. <Grid id="grd_rmrv" taborder="148" binddataset="ds_main_rmrv" oncelldblclick="grd_rmrv_oncelldblclick" position="absolute 605 434 1195 779" anchor="left right bottom" extendsizetype="row" autosizingtype="row" selecttype="cell" oncellclick="grd_rmrv_oncellclick">
  350. <Formats>
  351. <Format id="default">
  352. <Columns>
  353. <Column size="35" band="left"/>
  354. <Column size="45" band="left"/>
  355. <Column size="0" band="left"/>
  356. <Column size="30" band="left"/>
  357. <Column size="30" band="left"/>
  358. <Column size="55" band="left"/>
  359. <Column size="50" band="left"/>
  360. <Column size="30"/>
  361. <Column size="35"/>
  362. <Column size="30"/>
  363. <Column size="197"/>
  364. <Column size="50"/>
  365. <Column size="50"/>
  366. <Column size="50"/>
  367. <Column size="90"/>
  368. <Column size="300"/>
  369. <Column size="200"/>
  370. <Column size="120"/>
  371. <Column size="50"/>
  372. </Columns>
  373. <Rows>
  374. <Row size="29" band="head"/>
  375. <Row size="24"/>
  376. </Rows>
  377. <Band id="head">
  378. <Cell style="padding:3 0 3 0;" text="누적"/>
  379. <Cell col="1" text="시각"/>
  380. <Cell col="2" text="검사실"/>
  381. <Cell col="3" text="현황"/>
  382. <Cell col="4" text="가용"/>
  383. <Cell col="5" text="등록번호"/>
  384. <Cell col="6" text="이름"/>
  385. <Cell col="7" text="나이"/>
  386. <Cell col="8" text="구분"/>
  387. <Cell col="9" text="소요"/>
  388. <Cell col="10" text="검사명"/>
  389. <Cell col="11" text="상태"/>
  390. <Cell col="12" text="진료과"/>
  391. <Cell col="13" text="진료의"/>
  392. <Cell col="14" text="검사코드"/>
  393. <Cell col="15" text="처방전달사항"/>
  394. <Cell col="16" text="예약참고사항"/>
  395. <Cell col="17" text="예약일시"/>
  396. <Cell col="18" text="예약자"/>
  397. </Band>
  398. <Band id="body">
  399. <Cell celltype="head" displaytype="normal" style="padding:3 0 3 0;linespace:3;" text="bind:ptacc" suppress="0" suppressalign="middle,over"/>
  400. <Cell col="1" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));selectfont:돋움,9,bold;linespace:3;" text="bind:rsrvtm" mask="@@:@@" suppress="1" suppressalign="middle,over"/>
  401. <Cell col="2" style="background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));" text="bind:excuroomnm" suppress="2" suppressalign="middle,over"/>
  402. <Cell col="3" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));selectfont:돋움,9,bold;linespace:3;" text="bind:stat" suppress="3" suppressalign="middle,over"/>
  403. <Cell col="4" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));selectfont:돋움,9,bold;linespace:3;" text="bind:capa" suppress="4" suppressalign="middle,over"/>
  404. <Cell col="5" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:pid" suppress="5" suppressalign="middle,over"/>
  405. <Cell col="6" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:hngnm" suppress="6" suppressalign="middle,over"/>
  406. <Cell col="7" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:age"/>
  407. <Cell col="8" displaytype="combo" style="align:center;padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:prcpgenrflag" combodataset="ds_cmb_genrflag" combocodecol="value" combodatacol="label" enable="false"/>
  408. <Cell col="9" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:excutm"/>
  409. <Cell col="10" displaytype="text" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:excucdnm" wordwrap="char" autosizerow="limitmin"/>
  410. <Cell col="11" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:rsrvstatnm"/>
  411. <Cell col="12" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:deptengabbr"/>
  412. <Cell col="13" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:orddrnm"/>
  413. <Cell col="14" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:calcscorcd"/>
  414. <Cell col="15" displaytype="text" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:prcpdelivefact" wordwrap="word" autosizerow="limitmin"/>
  415. <Cell col="16" displaytype="text" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:rsrvrem" wordwrap="word" autosizerow="limitmin"/>
  416. <Cell col="17" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:lastupdtdt" mask="@@@@-@@-@@ @@:@@:@@" maskchar=" "/>
  417. <Cell col="18" displaytype="normal" style="padding:3 0 3 0;background:EXPR(fSetRoomBGColor(currow, self.col));background2:EXPR(fSetRoomBGColor(currow, self.col));color:EXPR(fSetRoomColor(currow, self.col));color2:EXPR(fSetRoomColor(currow, self.col));selectbackground:EXPR(fSetRoomBGColor(currow, self.col));selectcolor:EXPR(fSetRoomColor(currow, self.col));linespace:3;" text="bind:lastupdtrnm"/>
  418. </Band>
  419. </Format>
  420. </Formats>
  421. </Grid>
  422. <Grid id="grd_excu" taborder="149" binddataset="ds_main_excu" useinputpanel="false" cellsizingtype="both" oncellclick="grd_excu_oncellclick" position="absolute 0 219 1070 405" anchor="all" autoenter="select" onheadclick="grd_excu_onheadclick" cellclickbound="cell">
  423. <Formats>
  424. <Format id="default">
  425. <Columns>
  426. <Column size="30"/>
  427. <Column size="60"/>
  428. <Column size="50"/>
  429. <Column size="70"/>
  430. <Column size="40"/>
  431. <Column size="90"/>
  432. <Column size="50"/>
  433. <Column size="50"/>
  434. <Column size="35"/>
  435. <Column size="60"/>
  436. <Column size="200"/>
  437. <Column size="110"/>
  438. <Column size="120"/>
  439. <Column size="30"/>
  440. <Column size="67"/>
  441. <Column size="40"/>
  442. <Column size="90"/>
  443. <Column size="100"/>
  444. <Column size="300"/>
  445. <Column size="50"/>
  446. <Column size="45"/>
  447. <Column size="40"/>
  448. <Column size="45"/>
  449. <Column size="300"/>
  450. <Column size="40"/>
  451. <Column size="40"/>
  452. <Column size="40"/>
  453. <Column size="100"/>
  454. <Column size="55"/>
  455. <Column size="40"/>
  456. <Column size="50"/>
  457. <Column size="40"/>
  458. </Columns>
  459. <Rows>
  460. <Row size="24" band="head"/>
  461. <Row size="24"/>
  462. </Rows>
  463. <Band id="head">
  464. <Cell displaytype="checkbox" edittype="checkbox" style="align:center middle;padding:0 5 0 5;" text="expr:ds_hidden.getColumn(0, &quot;allchk&quot;)"/>
  465. <Cell col="1" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="예약"/>
  466. <Cell col="2" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="수납"/>
  467. <Cell col="3" colspan="2" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="처방일시" taborder="undefined"/>
  468. <Cell col="5" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="진료과"/>
  469. <Cell col="6" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="처방의"/>
  470. <Cell col="7" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="지정의"/>
  471. <Cell col="8" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="구분"/>
  472. <Cell col="9" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="급비"/>
  473. <Cell col="10" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="처방명"/>
  474. <Cell col="11" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="검사실"/>
  475. <Cell col="12" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="예약일시"/>
  476. <Cell col="13" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="소요"/>
  477. <Cell col="14" displaytype="normal" style="padding:0 5 0 5;font:돋움,9;" text="수납예정액"/>
  478. <Cell col="15" displaytype="normal" style="padding:0 5 0 5;" text="종료"/>
  479. <Cell col="16" displaytype="normal" style="padding:0 5 0 5;" text="검사코드"/>
  480. <Cell col="17" displaytype="normal" style="padding:0 5 0 5;" text="수행부서"/>
  481. <Cell col="18" displaytype="normal" style="padding:0 5 0 5;" text="예약참고사항"/>
  482. <Cell col="19" displaytype="normal" style="padding:0 5 0 5;" text="예약자"/>
  483. <Cell col="20" displaytype="normal" style="padding:0 5 0 5;" text="후수납"/>
  484. <Cell col="21" displaytype="normal" style="padding:0 5 0 5;" text="미수"/>
  485. <Cell col="22" displaytype="normal" style="padding:0 5 0 5;" text="선수납"/>
  486. <Cell col="23" displaytype="normal" style="padding:0 5 0 5;" text="검사주의사항"/>
  487. <Cell col="24" displaytype="normal" style="padding:0 5 0 5;" text="PACS"/>
  488. <Cell col="25" displaytype="normal" style="padding:0 5 0 5;" text="CDIS"/>
  489. <Cell col="26" displaytype="normal" style="padding:0 5 0 5;" text="당뇨"/>
  490. <Cell col="27" displaytype="normal" style="padding:0 5 0 5;" text="당뇨치료사항"/>
  491. <Cell col="28" displaytype="normal" style="padding:0 5 0 5;" text="당뇨검사"/>
  492. <Cell col="29" displaytype="normal" style="padding:0 5 0 5;" text="수면"/>
  493. <Cell col="30" displaytype="normal" style="padding:0 5 0 5;" text="골밀도"/>
  494. <Cell col="31" text="상병코드"/>
  495. </Band>
  496. <Band id="body">
  497. <Cell displaytype="checkbox" edittype="checkbox" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:chk"/>
  498. <Cell col="1" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:EXPR(fSetExcuGridColor(currow, self.col));color2:EXPR(fSetExcuGridColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:EXPR(fSetExcuGridColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:rsrvflagyn"/>
  499. <Cell col="2" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:EXPR(fSetExcuGridColor(currow, self.col));color2:EXPR(fSetExcuGridColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:EXPR(fSetExcuGridColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:rcptyn"/>
  500. <Cell col="3" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:prcpdd" mask="@@@@-@@-@@" maskchar=" "/>
  501. <Cell col="4" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:rgsttm" mask="@@:@@" maskchar=" "/>
  502. <Cell col="5" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:orddepthngnm"/>
  503. <Cell col="6" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:orddrnm"/>
  504. <Cell col="7" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:specdrnm"/>
  505. <Cell col="8" displaytype="combo" style="align:center;padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:genrflag" combodataset="ds_cmb_genrflag" combocodecol="value" combodatacol="label"/>
  506. <Cell col="9" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:payflagnm"/>
  507. <Cell col="10" displaytype="text" style="align:left top;padding:4 5 4 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:EXPR(fSetExcuGridColor(currow, self.col));color2:EXPR(fSetExcuGridColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:EXPR(fSetExcuGridColor(currow, self.col));" text="bind:prcpnm" wordwrap="char" tooltiptype="right" tooltiptext="bind:prcpnm" autosizerow="limitmin"/>
  508. <Cell col="11" displaytype="text" style="align:left top;padding:4 5 4 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:EXPR(fSetExcuGridColor(currow, self.col));color2:EXPR(fSetExcuGridColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:EXPR(fSetExcuGridColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:examroomnm" wordwrap="char" autosizerow="limitmin"/>
  509. <Cell col="12" displaytype="date" style="align:center middle;padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:EXPR(fSetExcuGridColor(currow, self.col));color2:EXPR(fSetExcuGridColor(currow, self.col));font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:EXPR(fSetExcuGridColor(currow, self.col));selectfont:돋움,9,bold;" text="bind:srchrsrvtm" mask="yyyy-MM-dd HH:mm" maskchar=" " editautoselect="true" calendardisplaynulltype="nulltext"/>
  510. <Cell col="13" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:#b400b4ff;color2:#b400b4ff;font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:#b400b4ff;selectfont:돋움,9,bold;" text="bind:excutm"/>
  511. <Cell col="14" displaytype="normal" style="align:right;padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));color:#990000ff;color2:#990000ff;font:돋움,9,bold;selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));selectcolor:#990000ff;selectfont:돋움,9,bold;" text="bind:calcamt"/>
  512. <Cell col="15" displaytype="date" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:endtime" mask="HH:mm"/>
  513. <Cell col="16" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:calcscorcd"/>
  514. <Cell col="17" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:suppdeptnm"/>
  515. <Cell col="18" displaytype="normal" edittype="text" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:rsrvrem"/>
  516. <Cell col="19" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:lastupdtnm"/>
  517. <Cell col="20" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:aftrcptinfo"/>
  518. <Cell col="21" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:rcptrsrvyn"/>
  519. <Cell col="22" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:prcptdayrcptyn"/>
  520. <Cell col="23" displaytype="normal" style="align:left top;padding:4 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:excucdrem"/>
  521. <Cell col="24" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:pacsnocretyn"/>
  522. <Cell col="25" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:eqmtifyn"/>
  523. <Cell col="26" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:glycosyn"/>
  524. <Cell col="27" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:glycoscure"/>
  525. <Cell col="28" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:glycostestyn"/>
  526. <Cell col="29" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:slepyn"/>
  527. <Cell col="30" displaytype="normal" style="padding:0 5 0 5;background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:bonedentestyn"/>
  528. <Cell col="31" displaytype="text" style="background:EXPR(fSetExcuGridBGColor(currow, self.col));background2:EXPR(fSetExcuGridBGColor(currow, self.col));selectbackground:EXPR(fSetExcuGridBGColor(currow, self.col));" text="bind:diag"/>
  529. </Band>
  530. </Format>
  531. </Formats>
  532. </Grid>
  533. <Button id="btn_init" taborder="158" text="초기화" class="btn4" position="absolute 148 2 212 24" onclick="btn_init_onclick"/>
  534. <ActiveX id="rtfviewer" position="absolute 970 117 1070 157" useautobitmapcache="1" anchor="default" taborder="159" progid="{a4bf7e18-5f67-4868-a726-eed421632374}" windowed="true" visible="false"/>
  535. <Grid id="grd_ptcmt" taborder="150" binddataset="ds_main_ptcmt" useinputpanel="false" position="absolute 0 84 330 190" autosizingtype="row" autofittype="col" extendsizetype="row">
  536. <Formats>
  537. <Format id="default">
  538. <Columns>
  539. <Column size="75"/>
  540. <Column size="0"/>
  541. <Column size="255"/>
  542. </Columns>
  543. <Rows>
  544. <Row size="24"/>
  545. </Rows>
  546. <Band id="body">
  547. <Cell displaytype="date" style="align:center;padding:3 0 3 0;" text="bind:cmtdd" maskchar="_" calendardisplay="edit" calendardisplaynulltype="nulltext" autosizerow="limitmin"/>
  548. <Cell col="1" displaytype="normal" style="align:center;padding:3 0 3 0;" text="bind:usernm"/>
  549. <Cell col="2" style="padding:3 0 3 0;" text="bind:patcmt" wordwrap="word" autosizerow="limitmin"/>
  550. </Band>
  551. </Format>
  552. </Formats>
  553. </Grid>
  554. <TextArea id="tar_ptcmt" taborder="160" visible="false" position="absolute 10 95 320 180" style="padding:10 20 10 10;background:#ffffc2ff;border:1 solid gray ;shadow:drop 0,0 5 #c0c0c0ff;"/>
  555. <Div id="div_legend_rmrv" taborder="156" style="background:white;border:1 solid gray ;shadow:outer 0,0 10 gray;" visible="false" position="absolute 1670 0 1850 152">
  556. <Layouts>
  557. <Layout>
  558. <Static id="Static04" position="absolute 15 15 35 35" style="background:#ffffa0ff;border:1 solid gray ;align:center middle;font:굴림,9,bold;"/>
  559. <Static id="Static07" position="absolute 15 40 35 60" style="background:lightblue;border:1 solid gray ;align:center middle;font:굴림,9,bold;"/>
  560. <Static id="Static08" position="absolute 15 65 35 85" style="background:#ffd2d2ff;border:1 solid gray ;align:center middle;font:굴림,9,bold;"/>
  561. <Static id="Static09" text="가" position="absolute 15 90 35 110" style="background:white;border:1 solid gray ;color:red;align:center middle;font:굴림,9;"/>
  562. <Static id="Static10" text="예약 가능" position="absolute 40 15 95 35"/>
  563. <Static id="Static11" text="환자 조회 (더블 클릭)" position="absolute 40 40 160 60"/>
  564. <Static id="Static12" text="가용 인원 초과" position="absolute 40 65 125 85"/>
  565. <Static id="Static13" text="검사 시간 초과" position="absolute 40 90 125 110"/>
  566. <Static id="Static00" text="가" position="absolute 15 115 35 135" style="background:red;border:1 solid gray ;color:yellow;align:center middle;font:굴림,9,bold;"/>
  567. <Static id="Static01" text="응급 예약 시각" position="absolute 40 115 125 135"/>
  568. </Layout>
  569. </Layouts>
  570. </Div>
  571. <Div id="div_legend_excu" taborder="154" style="background:white;border:1 solid gray ;shadow:outer 0,0 10 gray;" visible="false" position="absolute 1225 0 1515 205">
  572. <Layouts>
  573. <Layout>
  574. <Static id="Static00" text="설정 (검사실, 예약일, 예약 현황 연계)" position="absolute 40 15 252 35"/>
  575. <Static id="Static01" text="선택" position="absolute 40 40 70 60"/>
  576. <Static id="Static02" text="[ 수납 ]" position="absolute 15 70 65 90"/>
  577. <Static id="Static03" text="[ 처방명 ]" position="absolute 160 70 220 90"/>
  578. <Static id="Static04" text="가" position="absolute 15 95 35 115" style="background:#ff5050ff;border:1 solid gray ;color:yellow;align:center middle;font:굴림,9,bold;"/>
  579. <Static id="Static05" position="absolute 15 15 35 35" style="background:#a0ffa0ff;border:1 solid gray ;"/>
  580. <Static id="Static06" position="absolute 15 40 35 60" style="background:#f0f0f0ff;border:1 solid gray ;"/>
  581. <Static id="Static07" text="가" position="absolute 15 120 35 140" style="background:white;border:1 solid gray ;color:#ff9a00ff;align:center middle;font:굴림,9,bold;"/>
  582. <Static id="Static08" text="가" position="absolute 15 145 35 165" style="background:white;border:1 solid gray ;color:#ff0000ff;align:center middle;font:굴림,9,bold;"/>
  583. <Static id="Static09" text="가" position="absolute 15 170 35 190" style="background:white;border:1 solid gray ;align:center middle;font:굴림,9,bold;"/>
  584. <Static id="Static10" text="VIP (이지패스)" position="absolute 40 95 125 115"/>
  585. <Static id="Static11" text="처방 당일 후수납" position="absolute 40 120 135 140"/>
  586. <Static id="Static12" text="미수납" position="absolute 40 145 80 165"/>
  587. <Static id="Static13" text="수납" position="absolute 40 170 70 190"/>
  588. <Static id="Static14" text="가" position="absolute 160 95 180 115" style="background:white;border:1 solid gray ;color:blue;align:center middle;font:굴림,9,bold;"/>
  589. <Static id="Static15" text="검사안내문 있음" position="absolute 185 95 280 115"/>
  590. </Layout>
  591. </Layouts>
  592. </Div>
  593. <Div id="div_legend_ctrl" taborder="155" style="background:white;border:1 solid gray ;shadow:outer 0,0 10 gray;" visible="false" position="absolute 1533 0 1653 125">
  594. <Layouts>
  595. <Layout>
  596. <Static id="Static04" position="absolute 15 15 35 35" style="background:#ffffffff;border:1 solid gray ;align:center middle;"/>
  597. <Static id="Static07" position="absolute 15 40 35 60" style="background:#ffffa0ff;border:1 solid gray ;align:center middle;"/>
  598. <Static id="Static08" position="absolute 15 65 35 85" style="background:#ffdcdcff;border:1 solid gray ;align:center middle;"/>
  599. <Static id="Static09" position="absolute 15 90 35 110" style="background:#ebebffff;border:1 solid gray ;align:center middle;"/>
  600. <Static id="Static10" text="확인" position="absolute 40 15 100 35"/>
  601. <Static id="Static11" text="제어" position="absolute 40 40 100 60"/>
  602. <Static id="Static12" text="통합 예약" position="absolute 40 65 100 85"/>
  603. <Static id="Static13" text="팝업" position="absolute 40 90 100 110"/>
  604. </Layout>
  605. </Layouts>
  606. </Div>
  607. <Div id="div_directsms" taborder="153" style="background:white;border:1 solid gray ;shadow:outer 0,0 20 gray;" visible="false" position="absolute 1225 210 1722 425">
  608. <Layouts>
  609. <Layout>
  610. <Static id="cap_sendsms" text="문자 전송" class="tit_2" position="absolute 10 10 110 30"/>
  611. <Grid id="grd_sms" taborder="7" useinputpanel="false" position="absolute 10 30 485 170" binddataset="ds_hidden_sms" autofittype="col">
  612. <Formats>
  613. <Format id="default">
  614. <Columns>
  615. <Column size="25"/>
  616. <Column size="440"/>
  617. </Columns>
  618. <Rows>
  619. <Row size="24" band="head"/>
  620. <Row size="24"/>
  621. </Rows>
  622. <Band id="head">
  623. <Cell/>
  624. <Cell col="1" text="문자 내용"/>
  625. </Band>
  626. <Band id="body">
  627. <Cell celltype="head" expr="expr:currow + 1"/>
  628. <Cell col="1" style="align:left;padding:0 0 0 5;" text="bind:msgcnts"/>
  629. </Band>
  630. </Format>
  631. </Formats>
  632. </Grid>
  633. <Button id="btn_sendsms" taborder="8" text="전송" class="btn4" position="absolute 368 178 423 203" onclick="div_directsms_btn_sendsms_onclick"/>
  634. <Button id="btn_closesms" taborder="9" text="닫기" class="btn4" position="absolute 430 178 485 203" onclick="div_directsms_btn_closesms_onclick"/>
  635. </Layout>
  636. </Layouts>
  637. </Div>
  638. <Div id="div_msg" taborder="152" style="background:white;border:1 solid gray ;shadow:outer 0,0 20 gray;" visible="false" position="absolute 1225 429 1925 779" onlbuttondown="div_msg_onlbuttondown">
  639. <Layouts>
  640. <Layout>
  641. <TextArea id="tar_alertmsg" taborder="11" position="absolute 15 15 683 300" style="linespace:15;padding:20 20 20 20;background:#ffffa0ff;border:1 solid darkgray ;font:돋움,12,bold;" wordwrap="word" onlbuttondown="div_msg_tar_alertmsg_onlbuttondown"/>
  642. <Static id="cap_close" text="아무 곳이나 클릭하면 닫힙니다." position="absolute 200 311 500 331" style="color:#606060ff;align:center middle;font:돋움,12,bold;" onlbuttondown="div_msg_cap_close_onlbuttondown"/>
  643. </Layout>
  644. </Layouts>
  645. </Div>
  646. <Button id="btn_nhic" taborder="161" text="자격조회" position="absolute 575 57 639 79" class="btn5" onclick="btn_nhic_onclick"/>
  647. <Button id="btn_opensms" taborder="162" text="SMS" position="absolute 494 192 544 214" class="btn5" onclick="btn_opensms_onclick" anchor="top right"/>
  648. </Layout>
  649. </Layouts>
  650. <Objects>
  651. <Dataset id="ds_cmb_genrflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  652. <ColumnInfo>
  653. <Column id="label" type="STRING" size="256"/>
  654. <Column id="value" type="STRING" size="256"/>
  655. </ColumnInfo>
  656. <Rows>
  657. <Row>
  658. <Col id="label">외래</Col>
  659. <Col id="value">O</Col>
  660. </Row>
  661. <Row>
  662. <Col id="label">입원</Col>
  663. <Col id="value">I</Col>
  664. </Row>
  665. <Row>
  666. <Col id="label">입원</Col>
  667. <Col id="value">D</Col>
  668. </Row>
  669. <Row>
  670. <Col id="label">응급</Col>
  671. <Col id="value">E</Col>
  672. </Row>
  673. <Row>
  674. <Col id="label">건진</Col>
  675. <Col id="value">S</Col>
  676. </Row>
  677. </Rows>
  678. </Dataset>
  679. <Dataset id="ds_cmb_hiv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  680. <ColumnInfo>
  681. <Column id="label" type="STRING" size="256"/>
  682. <Column id="value" type="STRING" size="256"/>
  683. </ColumnInfo>
  684. <Rows>
  685. <Row>
  686. <Col id="value">Y</Col>
  687. <Col id="label">주의!</Col>
  688. </Row>
  689. </Rows>
  690. </Dataset>
  691. <Dataset id="ds_cmb_privacy" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  692. <ColumnInfo>
  693. <Column id="label" type="STRING" size="256"/>
  694. <Column id="value" type="STRING" size="256"/>
  695. </ColumnInfo>
  696. <Rows>
  697. <Row>
  698. <Col id="label">보호</Col>
  699. <Col id="value">Y</Col>
  700. </Row>
  701. </Rows>
  702. </Dataset>
  703. <Dataset id="ds_cmb_rcptflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  704. <ColumnInfo>
  705. <Column id="label" type="STRING" size="256"/>
  706. <Column id="value" type="STRING" size="256"/>
  707. </ColumnInfo>
  708. <Rows>
  709. <Row>
  710. <Col id="label">후불</Col>
  711. <Col id="value">V</Col>
  712. </Row>
  713. <Row>
  714. <Col id="label">접수</Col>
  715. <Col id="value">N</Col>
  716. </Row>
  717. <Row>
  718. <Col id="label">미수납</Col>
  719. <Col id="value">Y</Col>
  720. </Row>
  721. </Rows>
  722. </Dataset>
  723. <Dataset id="ds_cmb_sex" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  724. <ColumnInfo>
  725. <Column id="label" type="STRING" size="256"/>
  726. <Column id="value" type="STRING" size="256"/>
  727. </ColumnInfo>
  728. <Rows>
  729. <Row>
  730. <Col id="label">남</Col>
  731. <Col id="value">M</Col>
  732. </Row>
  733. <Row>
  734. <Col id="label">여</Col>
  735. <Col id="value">F</Col>
  736. </Row>
  737. </Rows>
  738. </Dataset>
  739. <Dataset id="ds_cmb_vip" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  740. <ColumnInfo>
  741. <Column id="label" type="STRING" size="256"/>
  742. <Column id="value" type="STRING" size="256"/>
  743. </ColumnInfo>
  744. <Rows>
  745. <Row>
  746. <Col id="label">감면</Col>
  747. <Col id="value">F</Col>
  748. </Row>
  749. <Row>
  750. <Col id="label">추천</Col>
  751. <Col id="value">R</Col>
  752. </Row>
  753. <Row>
  754. <Col id="label">후원</Col>
  755. <Col id="value">S</Col>
  756. </Row>
  757. <Row>
  758. <Col id="label">후불</Col>
  759. <Col id="value">V</Col>
  760. </Row>
  761. </Rows>
  762. </Dataset>
  763. <Dataset id="ds_init_code" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  764. <ColumnInfo>
  765. <Column id="cdgrupid" type="STRING" size="256"/>
  766. <Column id="cdid" type="STRING" size="256"/>
  767. <Column id="cdid_bf" type="STRING" size="256"/>
  768. <Column id="cdnm" type="STRING" size="256"/>
  769. </ColumnInfo>
  770. </Dataset>
  771. <Dataset id="ds_init_pseu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  772. <Dataset id="ds_init_rmgp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  773. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  774. <Dataset id="ds_main_pt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  775. <ColumnInfo>
  776. <Column id="hngnm" type="STRING"/>
  777. <Column id="age" type="STRING"/>
  778. <Column id="sex" type="STRING"/>
  779. <Column id="rrgstno" type="STRING"/>
  780. <Column id="hometel" type="STRING"/>
  781. <Column id="mpphontel" type="STRING"/>
  782. <Column id="addr" type="STRING"/>
  783. <Column id="serdiagtodd" type="STRING"/>
  784. <Column id="rareobsttodd" type="STRING"/>
  785. <Column id="smsaprvyn" type="STRING"/>
  786. <Column id="vip" type="STRING"/>
  787. <Column id="privacy" type="STRING"/>
  788. <Column id="no" type="STRING"/>
  789. <Column id="request" type="STRING"/>
  790. <Column id="requestetc" type="STRING"/>
  791. <Column id="target" type="STRING"/>
  792. <Column id="targetetc" type="STRING"/>
  793. <Column id="type" type="STRING"/>
  794. <Column id="typeetc" type="STRING"/>
  795. <Column id="rmk" type="STRING"/>
  796. <Column id="isolflag" type="STRING"/>
  797. <Column id="isolinfo" type="STRING"/>
  798. <Column id="creatine" type="STRING" size="256"/>
  799. <Column id="hivflag" type="STRING" size="256"/>
  800. </ColumnInfo>
  801. </Dataset>
  802. <Dataset id="ds_main_ord" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  803. <ColumnInfo>
  804. <Column id="orddt" type="STRING" size="256"/>
  805. <Column id="orddeptcd" type="STRING" size="256"/>
  806. <Column id="depthngnm" type="STRING" size="256"/>
  807. <Column id="orddrid" type="STRING" size="256"/>
  808. <Column id="orddrnm" type="STRING" size="256"/>
  809. <Column id="rsrvflag" type="STRING" size="256"/>
  810. <Column id="rsrvflagnm" type="STRING" size="256"/>
  811. <Column id="rcptflag" type="STRING" size="256"/>
  812. </ColumnInfo>
  813. </Dataset>
  814. <Dataset id="ds_main_tdrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  815. <ColumnInfo>
  816. <Column id="rsrvdt" type="STRING" size="256"/>
  817. <Column id="rsrvtm" type="STRING" size="256"/>
  818. <Column id="excuroomcd" type="STRING" size="256"/>
  819. <Column id="excuroomnm" type="STRING" size="256"/>
  820. <Column id="exectm" type="STRING" size="256"/>
  821. <Column id="prcpcd" type="STRING" size="256"/>
  822. <Column id="prcpnm" type="STRING" size="256"/>
  823. <Column id="rsrvflag" type="STRING" size="256"/>
  824. <Column id="prcpstatcd" type="STRING" size="256"/>
  825. <Column id="rsrvrid" type="STRING" size="256"/>
  826. <Column id="rsrvrnm" type="STRING" size="256"/>
  827. </ColumnInfo>
  828. </Dataset>
  829. <Dataset id="ds_main_ptcmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  830. <ColumnInfo>
  831. <Column id="pid" type="STRING" size="256"/>
  832. <Column id="cmtdd" type="STRING" size="256"/>
  833. <Column id="usernm" type="STRING" size="256"/>
  834. <Column id="lastupdtdt" type="STRING" size="256"/>
  835. <Column id="patcmt" type="STRING" size="256"/>
  836. <Column id="bf_patcmt" type="STRING" size="256"/>
  837. </ColumnInfo>
  838. </Dataset>
  839. <Dataset id="ds_main_excu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_main_excu_oncolumnchanged" onload="ds_main_excu_onload">
  840. <ColumnInfo>
  841. <Column id="chk" type="STRING"/>
  842. <Column id="rsrvflagyn" type="STRING"/>
  843. <Column id="roomcnt" type="STRING"/>
  844. <Column id="rcptyn" type="STRING"/>
  845. <Column id="prcpdd" type="STRING"/>
  846. <Column id="rgsttm" type="STRING"/>
  847. <Column id="orddeptcd" type="STRING"/>
  848. <Column id="orddepthngnm" type="STRING"/>
  849. <Column id="orddrid" type="STRING"/>
  850. <Column id="orddrnm" type="STRING"/>
  851. <Column id="specdrid" type="STRING"/>
  852. <Column id="specdrnm" type="STRING"/>
  853. <Column id="genrflag" type="STRING"/>
  854. <Column id="hiflag" type="STRING"/>
  855. <Column id="payflagnm" type="STRING"/>
  856. <Column id="prcpnm" type="STRING"/>
  857. <Column id="excucdnm" type="STRING"/>
  858. <Column id="suppdeptcd" type="STRING"/>
  859. <Column id="basecdcnts" type="STRING"/>
  860. <Column id="excuroom" type="STRING"/>
  861. <Column id="excuroomnm" type="STRING"/>
  862. <Column id="rsrvexcuroomposscd" type="STRING"/>
  863. <Column id="rsrvexcuroompossnm" type="STRING"/>
  864. <Column id="excuroomcd" type="STRING"/>
  865. <Column id="examroomnm" type="STRING"/>
  866. <Column id="bf_excuroomcd" type="STRING"/>
  867. <Column id="rsrvdt" type="STRING"/>
  868. <Column id="srchrsrvtm" type="STRING"/>
  869. <Column id="bf_srchrsrvtm" type="STRING"/>
  870. <Column id="excutm" type="STRING"/>
  871. <Column id="calcamt" type="STRING"/>
  872. <Column id="endtime" type="STRING"/>
  873. <Column id="telrsrvyn" type="STRING"/>
  874. <Column id="calcscorcd" type="STRING"/>
  875. <Column id="suppdeptnm" type="STRING"/>
  876. <Column id="rsrvrem" type="STRING"/>
  877. <Column id="bf_rsrvrem" type="STRING"/>
  878. <Column id="lastupdtnm" type="STRING"/>
  879. <Column id="rsrvplceflag" type="STRING"/>
  880. <Column id="aftrcptinfo" type="STRING"/>
  881. <Column id="rcptrsrvyn" type="STRING"/>
  882. <Column id="prcptdayrcptyn" type="STRING"/>
  883. <Column id="pid" type="STRING"/>
  884. <Column id="orddd" type="STRING"/>
  885. <Column id="indd" type="STRING"/>
  886. <Column id="dschdd" type="STRING"/>
  887. <Column id="cretno" type="STRING"/>
  888. <Column id="actorddd" type="STRING"/>
  889. <Column id="prcphopedd" type="STRING"/>
  890. <Column id="prcpexecdeptcd" type="STRING"/>
  891. <Column id="rgstdeptcd" type="STRING"/>
  892. <Column id="rgstdepthngnm" type="STRING"/>
  893. <Column id="roomcd" type="STRING"/>
  894. <Column id="rgstrid" type="STRING"/>
  895. <Column id="rgstridnm" type="STRING"/>
  896. <Column id="execrid" type="STRING"/>
  897. <Column id="prcpgenrflag" type="STRING"/>
  898. <Column id="rsrvflag" type="STRING"/>
  899. <Column id="execprcpstatcd" type="STRING"/>
  900. <Column id="prcpkindcd" type="STRING"/>
  901. <Column id="execprcpuniqno" type="STRING"/>
  902. <Column id="excupartcd" type="STRING"/>
  903. <Column id="prcpdelivefact" type="STRING"/>
  904. <Column id="ioflag" type="STRING"/>
  905. <Column id="reqhospcd" type="STRING"/>
  906. <Column id="excucdrem" type="STRING"/>
  907. <Column id="rsrvtmcntlyn" type="STRING"/>
  908. <Column id="rsrvpsnnocntlyn" type="STRING"/>
  909. <Column id="pacsnocretyn" type="STRING"/>
  910. <Column id="eqmtifyn" type="STRING"/>
  911. <Column id="emryn" type="STRING"/>
  912. <Column id="glycosyn" type="STRING"/>
  913. <Column id="glycoscure" type="STRING"/>
  914. <Column id="glycostestyn" type="STRING"/>
  915. <Column id="slepyn" type="STRING"/>
  916. <Column id="bonedentestyn" type="STRING"/>
  917. <Column id="rsrvexcupossyn" type="STRING"/>
  918. <Column id="rsrvexmptmplcd" type="STRING"/>
  919. <Column id="tmpldata" type="STRING"/>
  920. <Column id="rsrvtmplcd" type="STRING"/>
  921. <Column id="rsrvmultitmplcd" type="STRING"/>
  922. <Column id="diag" type="STRING" size="256"/>
  923. </ColumnInfo>
  924. </Dataset>
  925. <Dataset id="ds_main_anex" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  926. <ColumnInfo>
  927. <Column id="rsrvflagyn" type="STRING" size="256"/>
  928. <Column id="rcptyn" type="STRING" size="256"/>
  929. <Column id="prcpdd" type="STRING" size="256"/>
  930. <Column id="orddeptnm" type="STRING" size="256"/>
  931. <Column id="orddrnm" type="STRING" size="256"/>
  932. <Column id="calcscorcd" type="STRING" size="256"/>
  933. <Column id="prcpnm" type="STRING" size="256"/>
  934. <Column id="excuroomnm" type="STRING" size="256"/>
  935. <Column id="prcphopedd" type="STRING" size="256"/>
  936. <Column id="srchrsrvtm" type="STRING" size="256"/>
  937. <Column id="excutm" type="STRING" size="256"/>
  938. <Column id="endtime" type="STRING" size="256"/>
  939. <Column id="rsrvrem" type="STRING" size="256"/>
  940. <Column id="execprcpuniqno" type="STRING" size="256"/>
  941. <Column id="execprcpstatcd" type="STRING" size="256"/>
  942. <Column id="execprcpstatnm" type="STRING" size="256"/>
  943. <Column id="exectm" type="STRING" size="256"/>
  944. </ColumnInfo>
  945. </Dataset>
  946. <Dataset id="ds_main_rcptprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  947. <ColumnInfo>
  948. <Column id="cnt" type="STRING" size="256"/>
  949. </ColumnInfo>
  950. </Dataset>
  951. <Dataset id="ds_main_room" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  952. <ColumnInfo>
  953. <Column id="excuroomcd" type="STRING"/>
  954. <Column id="excuroomnm" type="STRING"/>
  955. </ColumnInfo>
  956. </Dataset>
  957. <Dataset id="ds_main_ddrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  958. <ColumnInfo>
  959. <Column id="rsrvdd" type="STRING" size="256"/>
  960. <Column id="maxcnt" type="STRING" size="256"/>
  961. <Column id="rsrvcnt" type="STRING" size="256"/>
  962. <Column id="capaflag" type="STRING" size="256"/>
  963. </ColumnInfo>
  964. </Dataset>
  965. <Dataset id="ds_main_rmrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  966. <ColumnInfo>
  967. <Column id="ptacc" type="STRING" size="256"/>
  968. <Column id="rsrvtm" type="STRING" size="256"/>
  969. <Column id="excuroomcd" type="STRING" size="256"/>
  970. <Column id="excuroomnm" type="STRING" size="256"/>
  971. <Column id="stat" type="STRING" size="256"/>
  972. <Column id="capa" type="STRING" size="256"/>
  973. <Column id="tmrank" type="STRING" size="256"/>
  974. <Column id="tmflag" type="STRING" size="256"/>
  975. <Column id="pid" type="STRING" size="256"/>
  976. <Column id="hngnm" type="STRING" size="256"/>
  977. <Column id="age" type="STRING" size="256"/>
  978. <Column id="prcpgenrflag" type="STRING" size="256"/>
  979. <Column id="excutm" type="STRING" size="256"/>
  980. <Column id="calcscorcd" type="STRING" size="256"/>
  981. <Column id="excucdnm" type="STRING" size="256"/>
  982. <Column id="rsrvstatcd" type="STRING" size="256"/>
  983. <Column id="rsrvstatnm" type="STRING" size="256"/>
  984. <Column id="orddeptcd" type="STRING" size="256"/>
  985. <Column id="deptengabbr" type="STRING" size="256"/>
  986. <Column id="orddrid" type="STRING" size="256"/>
  987. <Column id="orddrnm" type="STRING" size="256"/>
  988. <Column id="prcpdelivefact" type="STRING" size="256"/>
  989. <Column id="rsrvrem" type="STRING" size="256"/>
  990. <Column id="lastupdtdt" type="STRING" size="256"/>
  991. <Column id="lastupdtrnm" type="STRING" size="256"/>
  992. <Column id="execprcpuniqno" type="STRING" size="256"/>
  993. </ColumnInfo>
  994. </Dataset>
  995. <Dataset id="ds_main_sms" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  996. <Dataset id="ds_patinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  997. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onvaluechanged="ds_send_data_onvaluechanged">
  998. <ColumnInfo>
  999. <Column id="rsrvplce" type="STRING" size="256"/>
  1000. <Column id="pid" type="STRING" size="256"/>
  1001. <Column id="fromdd" type="STRING" size="256"/>
  1002. <Column id="todd" type="STRING" size="256"/>
  1003. <Column id="inptflag" type="STRING" size="256"/>
  1004. <Column id="centflag" type="STRING" size="256"/>
  1005. <Column id="rsrvdd" type="STRING" size="256"/>
  1006. <Column id="suppdeptcd" type="STRING" size="256"/>
  1007. <Column id="excuroomcd" type="STRING" size="256"/>
  1008. <Column id="excucd" type="STRING" size="256"/>
  1009. <Column id="rsrvtm" type="STRING" size="256"/>
  1010. <Column id="srchdd" type="STRING" size="256"/>
  1011. <Column id="genrflag" type="STRING" size="256"/>
  1012. <Column id="totflag" type="STRING" size="256"/>
  1013. <Column id="excuroomcdarr" type="STRING" size="256"/>
  1014. <Column id="ftflag" type="STRING" size="256"/>
  1015. <Column id="statflag" type="STRING" size="256"/>
  1016. </ColumnInfo>
  1017. <Rows>
  1018. <Row>
  1019. <Col id="rsrvplce"/>
  1020. <Col id="pid"/>
  1021. <Col id="fromdd"/>
  1022. <Col id="todd"/>
  1023. <Col id="inptflag">Y</Col>
  1024. <Col id="centflag"/>
  1025. <Col id="rsrvdd"/>
  1026. <Col id="suppdeptcd"/>
  1027. <Col id="excuroomcd"/>
  1028. <Col id="excucd"/>
  1029. <Col id="rsrvtm"/>
  1030. <Col id="srchdd"/>
  1031. <Col id="genrflag"/>
  1032. <Col id="totflag"/>
  1033. <Col id="excuroomcdarr"/>
  1034. <Col id="ftflag"/>
  1035. <Col id="statflag">C</Col>
  1036. </Row>
  1037. </Rows>
  1038. </Dataset>
  1039. <Dataset id="ds_send_stat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1040. <ColumnInfo>
  1041. <Column id="suppdeptcd" type="STRING" size="256"/>
  1042. <Column id="excuroomcd" type="STRING" size="256"/>
  1043. <Column id="rsrvdd" type="STRING" size="256"/>
  1044. <Column id="rsrvtm" type="STRING" size="256"/>
  1045. </ColumnInfo>
  1046. <Rows>
  1047. <Row>
  1048. <Col id="suppdeptcd"/>
  1049. <Col id="excuroomcd"/>
  1050. <Col id="rsrvdd"/>
  1051. <Col id="rsrvtm"/>
  1052. </Row>
  1053. </Rows>
  1054. </Dataset>
  1055. <Dataset id="ds_send_ptcmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1056. <ColumnInfo>
  1057. <Column id="pid" type="STRING" size="256"/>
  1058. <Column id="cmtdd" type="STRING" size="256"/>
  1059. <Column id="patcmt" type="STRING" size="256"/>
  1060. </ColumnInfo>
  1061. <Rows>
  1062. <Row>
  1063. <Col id="pid"/>
  1064. <Col id="cmtdd"/>
  1065. <Col id="patcmt"/>
  1066. </Row>
  1067. </Rows>
  1068. </Dataset>
  1069. <Dataset id="ds_send_rsrv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1070. <ColumnInfo>
  1071. <Column id="flag" type="STRING" size="256" sumtext="처리구분"/>
  1072. <Column id="chkflag" type="STRING" size="256" sumtext="조회구분"/>
  1073. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  1074. <Column id="excuroomgrpcd" type="STRING" size="256" sumtext="검사실그룹코드"/>
  1075. <Column id="excuroomcd" type="STRING" size="256" sumtext="치료실코드"/>
  1076. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  1077. <Column id="execprcpuniqno" type="INT" size="256" sumtext="실시처방일련번호"/>
  1078. <Column id="rsrvflag" type="STRING" size="256" sumtext="입원외래구분"/>
  1079. <Column id="rsrvdt" type="STRING" size="256" sumtext="예약일자와시간"/>
  1080. <Column id="srchrsrvtm" type="STRING" size="256" sumtext="실예약시간"/>
  1081. <Column id="prcpkindcd" type="STRING" size="256" sumtext="처방종류코드"/>
  1082. <Column id="excupartcd" type="STRING" size="256" sumtext="부위코드"/>
  1083. <Column id="indd" type="STRING" size="256" sumtext="입원일자"/>
  1084. <Column id="actorddd" type="STRING" size="256" sumtext="acting 진료일자"/>
  1085. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  1086. <Column id="orddrid" type="STRING" size="256" sumtext="진료의ID"/>
  1087. <Column id="calcscorcd" type="STRING" size="256" sumtext="수가코드"/>
  1088. <Column id="execrid" type="STRING" size="256" sumtext="담당치료사ID"/>
  1089. <Column id="rsrvrem" type="STRING" size="256" sumtext="예약참고사항"/>
  1090. <Column id="basesuppdeptcd" type="STRING" size="256" sumtext="지원부서코드"/>
  1091. <Column id="cnclresncd" type="STRING" size="256" sumtext="취소코드"/>
  1092. <Column id="prcpexecdeptcd" type="STRING" size="256" sumtext="처방시행부서코드"/>
  1093. <Column id="rsrvtmcntlyn" type="STRING" size="256" sumtext="예약시간변경여부"/>
  1094. <Column id="rsrvpsnnocntlyn" type="STRING" size="256" sumtext="예약인원통제여부"/>
  1095. <Column id="cnclresncd" type="STRING" size="256" sumtext="취소코드"/>
  1096. <Column id="nottotal" type="STRING" size="256" sumtext="부서구분"/>
  1097. <Column id="rsrvseq" type="INT" size="256" sumtext="예약순번"/>
  1098. <Column id="telrsrvyn" type="STRING" size="256" sumtext="전화예약여부"/>
  1099. <Column id="rsrvsuppdeptcd" type="STRING" size="256" sumtext="통합예약부서"/>
  1100. <Column id="pacsnocretyn" type="STRING" size="256" sumtext="PACS연동여부"/>
  1101. <Column id="rgsttm" type="STRING" size="256" sumtext="최초처방등록일시"/>
  1102. <Column id="rgstrid" type="STRING" size="256" sumtext="처방시행부서코드"/>
  1103. <Column id="prcpdelivefact" type="STRING" size="256" sumtext="처방코멘트"/>
  1104. <Column id="orddepthngnm" type="STRING" size="256" sumtext="진료과명"/>
  1105. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  1106. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  1107. <Column id="rgstdepthngnm" type="STRING" size="256" sumtext="최초처방등록과명"/>
  1108. <Column id="examroomnm" type="STRING" size="256" sumtext="수행부서명"/>
  1109. <Column id="bf_srchrsrvtm" type="STRING" size="256" sumtext="수행부서명"/>
  1110. <Column id="rsrvflagyn" type="STRING" size="256" sumtext="기예약여부"/>
  1111. <Column id="excuroom" type="STRING" size="256" sumtext="치료실코드"/>
  1112. <Column id="eqmtifyn" type="STRING" size="256" sumtext="CDIS연동여부"/>
  1113. <Column id="glycosyn" type="STRING" size="256" sumtext="당뇨유무"/>
  1114. <Column id="glycoscure" type="STRING" size="256" sumtext="당뇨치료사항"/>
  1115. <Column id="reqhospcd" type="STRING" size="256" sumtext="의뢰병원코드"/>
  1116. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="입원외래구분"/>
  1117. <Column id="rsrvtmplcd" type="STRING" size="256" sumtext="예약예문코드"/>
  1118. <Column id="emryn" type="STRING" size="256" sumtext="진료여부"/>
  1119. <Column id="timeyn" type="STRING" size="256" sumtext="시간통제여부"/>
  1120. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  1121. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  1122. <Column id="prercptyn" type="STRING" size="256" sumtext="수납여부"/>
  1123. <Column id="rcptrsrvyn" type="STRING" size="256" sumtext="미수예약항목여부"/>
  1124. <Column id="prcptdayrcptyn" type="STRING" size="256" sumtext="당일선수납항목여부"/>
  1125. </ColumnInfo>
  1126. </Dataset>
  1127. <Dataset id="ds_send_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1128. <ColumnInfo>
  1129. <Column id="srchflag" type="STRING" size="256"/>
  1130. <Column id="deptcd" type="STRING" size="256"/>
  1131. <Column id="roomcd" type="STRING" size="256"/>
  1132. </ColumnInfo>
  1133. </Dataset>
  1134. <Dataset id="ds_send_pt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1135. <ColumnInfo>
  1136. <Column id="pid" type="STRING" size="256"/>
  1137. <Column id="srchcond" type="STRING" size="256"/>
  1138. </ColumnInfo>
  1139. <Rows>
  1140. <Row>
  1141. <Col id="pid"/>
  1142. <Col id="srchcond"/>
  1143. </Row>
  1144. </Rows>
  1145. </Dataset>
  1146. <Dataset id="ds_send_chng" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1147. <ColumnInfo>
  1148. <Column id="pid" type="STRING" size="256"/>
  1149. <Column id="execprcpuniqno" type="STRING" size="256"/>
  1150. <Column id="rsrvdeptcd" type="STRING" size="256"/>
  1151. <Column id="excuroomcd" type="STRING" size="256"/>
  1152. <Column id="examroomnm" type="STRING" size="256"/>
  1153. <Column id="rsrvdt" type="STRING" size="256"/>
  1154. <Column id="srchrsrvtm" type="STRING" size="256"/>
  1155. </ColumnInfo>
  1156. </Dataset>
  1157. <Dataset id="ds_send_sms" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1158. <ColumnInfo>
  1159. <Column id="instcd" type="STRING" size="256"/>
  1160. <Column id="condflag" type="STRING" size="256"/>
  1161. <Column id="data" type="STRING" size="256"/>
  1162. <Column id="calltype" type="STRING" size="256"/>
  1163. <Column id="msgcnts" type="STRING" size="256"/>
  1164. <Column id="insuflag" type="STRING" size="256"/>
  1165. <Column id="calltelno" type="STRING" size="256"/>
  1166. <Column id="systemnm" type="STRING" size="256"/>
  1167. </ColumnInfo>
  1168. </Dataset>
  1169. <Dataset id="ds_send_rcv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1170. <ColumnInfo>
  1171. <Column id="usernm" type="STRING" size="256"/>
  1172. <Column id="userid" type="STRING" size="256"/>
  1173. <Column id="mpphonno" type="STRING" size="256"/>
  1174. <Column id="pid" type="STRING" size="256"/>
  1175. <Column id="deptcd" type="STRING" size="256"/>
  1176. </ColumnInfo>
  1177. </Dataset>
  1178. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1179. <ColumnInfo>
  1180. <Column id="prcpcmt" type="STRING" size="256"/>
  1181. <Column id="roomgrp" type="STRING" size="256"/>
  1182. <Column id="dutplcenm" type="STRING" size="256"/>
  1183. <Column id="allchk" type="STRING" size="256"/>
  1184. </ColumnInfo>
  1185. <Rows>
  1186. <Row>
  1187. <Col id="prcpcmt"/>
  1188. <Col id="roomgrp"/>
  1189. <Col id="dutplcenm"/>
  1190. <Col id="allchk">0</Col>
  1191. </Row>
  1192. </Rows>
  1193. </Dataset>
  1194. <Dataset id="ds_hidden_duty" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1195. <ColumnInfo>
  1196. <Column id="basedd" type="STRING" size="256"/>
  1197. <Column id="dutflag" type="STRING" size="256"/>
  1198. </ColumnInfo>
  1199. </Dataset>
  1200. <Dataset id="ds_hidden_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1201. <ColumnInfo>
  1202. <Column id="sun" type="STRING" size="256"/>
  1203. <Column id="mon" type="STRING" size="256"/>
  1204. <Column id="tue" type="STRING" size="256"/>
  1205. <Column id="wed" type="STRING" size="256"/>
  1206. <Column id="thu" type="STRING" size="256"/>
  1207. <Column id="fri" type="STRING" size="256"/>
  1208. <Column id="sat" type="STRING" size="256"/>
  1209. <Column id="sun_memo" type="STRING" size="256"/>
  1210. <Column id="mon_memo" type="STRING" size="256"/>
  1211. <Column id="tue_memo" type="STRING" size="256"/>
  1212. <Column id="wed_memo" type="STRING" size="256"/>
  1213. <Column id="thu_memo" type="STRING" size="256"/>
  1214. <Column id="fri_memo" type="STRING" size="256"/>
  1215. <Column id="sat_memo" type="STRING" size="256"/>
  1216. </ColumnInfo>
  1217. </Dataset>
  1218. <Dataset id="ds_hidden_prt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1219. <ColumnInfo>
  1220. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  1221. <Column id="rsrvdt" type="STRING" size="256" sumtext="예약일자"/>
  1222. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  1223. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  1224. <Column id="sexage" type="STRING" size="256" sumtext="나이"/>
  1225. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대폰전화번호"/>
  1226. <Column id="rrgstno" type="STRING" size="256" sumtext="주민번호"/>
  1227. <Column id="deptnm" type="STRING" size="256" sumtext="처방과"/>
  1228. <Column id="rsrvrem" type="STRING" size="256" sumtext="예약 comment"/>
  1229. <Column id="excupatrem" type="STRING" size="256" sumtext="처방 comment"/>
  1230. <Column id="excuroomnm" type="STRING" size="256" sumtext="조회시작일자"/>
  1231. <Column id="roomcd" type="STRING" size="256" sumtext="조회시작일자"/>
  1232. <Column id="dutplcecd" type="STRING" size="256"/>
  1233. </ColumnInfo>
  1234. </Dataset>
  1235. <Dataset id="ds_hidden_stat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1236. <Dataset id="ds_hidden_memo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1237. <ColumnInfo>
  1238. <Column id="diag" type="STRING" size="256"/>
  1239. <Column id="ptmemo" type="STRING" size="256"/>
  1240. <Column id="drflag" type="STRING" size="256"/>
  1241. <Column id="drmemo" type="STRING" size="256"/>
  1242. </ColumnInfo>
  1243. <Rows>
  1244. <Row>
  1245. <Col id="diag"/>
  1246. <Col id="ptmemo"/>
  1247. <Col id="drflag">D</Col>
  1248. <Col id="drmemo"/>
  1249. </Row>
  1250. </Rows>
  1251. </Dataset>
  1252. <Dataset id="ds_hidden_mult" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1253. <ColumnInfo>
  1254. <Column id="rowcnt" type="STRING" size="256"/>
  1255. <Column id="prcpnm" type="STRING" size="256"/>
  1256. <Column id="suppdeptcd" type="STRING" size="256"/>
  1257. <Column id="genrflag" type="STRING" size="256"/>
  1258. <Column id="excuroomcd" type="STRING" size="256"/>
  1259. <Column id="examroomnm" type="STRING" size="256"/>
  1260. </ColumnInfo>
  1261. </Dataset>
  1262. <Dataset id="ds_hidden_sms" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1263. <ColumnInfo>
  1264. <Column id="orddeptcd" type="STRING" size="256"/>
  1265. <Column id="msgcnts" type="STRING" size="256"/>
  1266. </ColumnInfo>
  1267. </Dataset>
  1268. <Dataset id="ds_hidden_pseu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1269. <ColumnInfo>
  1270. <Column id="seq" type="STRING" size="256"/>
  1271. <Column id="menuparam" type="STRING" size="256"/>
  1272. <Column id="instcd" type="STRING" size="256"/>
  1273. <Column id="suppdeptcd" type="STRING" size="256"/>
  1274. <Column id="excuroomcd" type="STRING" size="256"/>
  1275. <Column id="calcscorcd" type="STRING" size="256"/>
  1276. <Column id="rsrvdt" type="STRING" size="256"/>
  1277. <Column id="pid" type="STRING" size="256"/>
  1278. <Column id="hngnm" type="STRING" size="256"/>
  1279. <Column id="age" type="STRING" size="256"/>
  1280. <Column id="sex" type="STRING" size="256"/>
  1281. <Column id="rrgstno1" type="STRING" size="256"/>
  1282. <Column id="rrgstno2" type="STRING" size="256"/>
  1283. </ColumnInfo>
  1284. <Rows>
  1285. <Row>
  1286. <Col id="seq"/>
  1287. <Col id="menuparam"/>
  1288. <Col id="instcd"/>
  1289. <Col id="suppdeptcd"/>
  1290. <Col id="excuroomcd"/>
  1291. <Col id="calcscorcd"/>
  1292. <Col id="rsrvdt"/>
  1293. <Col id="pid"/>
  1294. <Col id="hngnm"/>
  1295. <Col id="age"/>
  1296. <Col id="sex"/>
  1297. <Col id="rrgstno1"/>
  1298. <Col id="rrgstno2"/>
  1299. </Row>
  1300. </Rows>
  1301. </Dataset>
  1302. <Dataset id="ds_hidden_rest" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1303. <ColumnInfo>
  1304. <Column id="suppdeptcd" type="STRING" size="256"/>
  1305. <Column id="excuroomcd" type="STRING" size="256"/>
  1306. <Column id="instance1" type="STRING" size="256"/>
  1307. </ColumnInfo>
  1308. <Rows>
  1309. <Row>
  1310. <Col id="suppdeptcd"/>
  1311. <Col id="excuroomcd"/>
  1312. <Col id="instance1"/>
  1313. </Row>
  1314. </Rows>
  1315. </Dataset>
  1316. <Dataset id="ds_prnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1317. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1318. <ColumnInfo>
  1319. <Column id="ptcmt" type="STRING" size="256"/>
  1320. <Column id="alertmsg" type="STRING" size="256"/>
  1321. <Column id="tmsum" type="STRING" size="256"/>
  1322. <Column id="endtm" type="STRING" size="256"/>
  1323. </ColumnInfo>
  1324. <Rows>
  1325. <Row>
  1326. <Col id="ptcmt"/>
  1327. <Col id="alertmsg"/>
  1328. <Col id="tmsum"/>
  1329. <Col id="endtm"/>
  1330. </Row>
  1331. </Rows>
  1332. </Dataset>
  1333. <Dataset id="ds_temp_ptcmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1334. <ColumnInfo>
  1335. <Column id="pid" type="STRING" size="256"/>
  1336. <Column id="cmtdd" type="STRING" size="256"/>
  1337. <Column id="patcmt" type="STRING" size="256"/>
  1338. <Column id="usernm" type="STRING" size="256"/>
  1339. <Column id="lastupdtdt" type="STRING" size="256"/>
  1340. </ColumnInfo>
  1341. </Dataset>
  1342. <Dataset id="ds_temp_rsrvrtn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1343. <Dataset id="ds_temp_excu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1344. <Dataset id="ds_temp_chngrslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1345. <ColumnInfo>
  1346. <Column id="count" type="STRING" size="256"/>
  1347. <Column id="rsltflag" type="STRING" size="256"/>
  1348. <Column id="rsltmsg" type="STRING" size="256"/>
  1349. </ColumnInfo>
  1350. </Dataset>
  1351. <Dataset id="ds_temp_exst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1352. <ColumnInfo>
  1353. <Column id="rowidx" type="STRING" size="256"/>
  1354. <Column id="prcpdt" type="STRING" size="256"/>
  1355. <Column id="orddept" type="STRING" size="256"/>
  1356. <Column id="prcpnm" type="STRING" size="256"/>
  1357. <Column id="suppdeptcd" type="STRING" size="256"/>
  1358. <Column id="suppdeptnm" type="STRING" size="256"/>
  1359. <Column id="excuroomcd" type="STRING" size="256"/>
  1360. <Column id="excuroomnm" type="STRING" size="256"/>
  1361. <Column id="rsrvdd" type="STRING" size="256"/>
  1362. <Column id="rsrvtm" type="STRING" size="256"/>
  1363. <Column id="stat" type="STRING" size="256"/>
  1364. </ColumnInfo>
  1365. </Dataset>
  1366. <Dataset id="ds_temp_pmsg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1367. <ColumnInfo>
  1368. <Column id="msg" type="STRING" size="256"/>
  1369. <Column id="ctrlseq" type="STRING" size="256"/>
  1370. </ColumnInfo>
  1371. </Dataset>
  1372. <Dataset id="ds_ctrl_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1373. <ColumnInfo>
  1374. <Column id="srchdd" type="STRING" size="256" sumtext="조회기준일"/>
  1375. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  1376. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  1377. <Column id="userdept" type="STRING" size="256" sumtext="사용자부서"/>
  1378. <Column id="rsrvplce" type="STRING" size="256" sumtext="예약처"/>
  1379. <Column id="suppdeptcd" type="STRING" size="256" sumtext="수행부서"/>
  1380. <Column id="excuroomcd" type="STRING" size="256" sumtext="검사실"/>
  1381. <Column id="excucd" type="STRING" size="256" sumtext="검사코드"/>
  1382. <Column id="excutm" type="STRING" size="256" sumtext="검사소요시간"/>
  1383. <Column id="rsrvexcuroomposscd" type="STRING" size="256" sumtext="예약가능검사실"/>
  1384. <Column id="ordtype" type="STRING" size="256" sumtext="처방발생구분"/>
  1385. <Column id="orddd" type="STRING" size="256" sumtext="진료일"/>
  1386. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과"/>
  1387. <Column id="orddrid" type="STRING" size="256" sumtext="진료의"/>
  1388. <Column id="specdrid" type="STRING" size="256" sumtext="지정의"/>
  1389. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일"/>
  1390. <Column id="rsrvdd" type="STRING" size="256" sumtext="예약일"/>
  1391. <Column id="rsrvtm" type="STRING" size="256" sumtext="예약시각"/>
  1392. <Column id="capastat" type="STRING" size="256" sumtext="가용현황"/>
  1393. <Column id="tmflag" type="STRING" size="256" sumtext="이전검사종료여부"/>
  1394. <Column id="rsrvflagyn" type="STRING" size="256" sumtext="예약구분"/>
  1395. <Column id="rcptyn" type="STRING" size="256" sumtext="수납여부"/>
  1396. <Column id="hiflag" type="STRING" size="256" sumtext="건진구분"/>
  1397. </ColumnInfo>
  1398. </Dataset>
  1399. <Dataset id="ds_ctrl_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  1400. <ColumnInfo>
  1401. <Column id="rsrvplce" type="STRING" size="256" sumtext="예약처"/>
  1402. <Column id="suppdeptcd" type="STRING" size="256" sumtext="수행부서"/>
  1403. <Column id="excuroomcd" type="STRING" size="256" sumtext="검사실"/>
  1404. <Column id="excucd" type="STRING" size="256" sumtext="검사코드"/>
  1405. <Column id="ctrlseq" type="STRING" size="256" sumtext="제어순번"/>
  1406. <Column id="ctrldesc" type="STRING" size="256" sumtext="제어설명"/>
  1407. <Column id="ctrlflag" type="STRING" size="256" sumtext="제어구분"/>
  1408. <Column id="appflag" type="STRING" size="256" sumtext="적용여부"/>
  1409. </ColumnInfo>
  1410. </Dataset>
  1411. <Dataset id="ds_ctrl_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1412. <Dataset id="ds_ctrl_term" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  1413. <Dataset id="ds_init_G99list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1414. <Dataset id="ds_init_G98list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1415. <Dataset id="ds_send_occupyid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1416. <ColumnInfo>
  1417. <Column id="occupyid" type="STRING" size="256"/>
  1418. <Column id="rsrvtm" type="STRING" size="256"/>
  1419. <Column id="excuroomcd" type="STRING" size="256"/>
  1420. <Column id="suppdeptcd" type="STRING" size="256"/>
  1421. <Column id="rsrvdd" type="STRING" size="256"/>
  1422. <Column id="old_rsrvtm" type="STRING" size="256"/>
  1423. <Column id="old_excuroomcd" type="STRING" size="256"/>
  1424. <Column id="old_suppdeptcd" type="STRING" size="256"/>
  1425. <Column id="old_rsrvdd" type="STRING" size="256"/>
  1426. </ColumnInfo>
  1427. <Rows>
  1428. <Row>
  1429. <Col id="occupyid"/>
  1430. <Col id="rsrvtm"/>
  1431. <Col id="excuroomcd"/>
  1432. <Col id="suppdeptcd"/>
  1433. <Col id="rsrvdd"/>
  1434. <Col id="old_rsrvtm"/>
  1435. <Col id="old_excuroomcd"/>
  1436. <Col id="old_suppdeptcd"/>
  1437. <Col id="old_rsrvdd"/>
  1438. </Row>
  1439. </Rows>
  1440. </Dataset>
  1441. <Dataset id="ds_temp_occupymy" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1442. <ColumnInfo>
  1443. <Column id="rsrvtm" type="STRING" size="256"/>
  1444. <Column id="rsrvdd" type="STRING" size="256"/>
  1445. <Column id="excuroomcd" type="STRING" size="256"/>
  1446. <Column id="suppdeptcd" type="STRING" size="256"/>
  1447. <Column id="rown" type="STRING" size="256"/>
  1448. </ColumnInfo>
  1449. </Dataset>
  1450. <Dataset id="ds_temp_occupyid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1451. <Dataset id="ds_paminit_P0032list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1452. <Dataset id="ds_temp_grdexcu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1453. <Dataset id="ds_hidden_smsdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1454. <Dataset id="ds_hidden_smsdata_recvrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1455. </Objects>
  1456. <Bind>
  1457. <BindItem id="item1" compid="tar_ptcmt" propid="value" datasetid="ds_temp" columnid="ptcmt"/>
  1458. <BindItem id="item0" compid="ipt_pid" propid="value" datasetid="ds_send_data" columnid="pid"/>
  1459. <BindItem id="item2" compid="div_creatine.cap_creatine" propid="text" datasetid="ds_main_pt" columnid="creatine"/>
  1460. <BindItem id="item3" compid="chk_totflag" propid="value" datasetid="ds_send_data" columnid="totflag"/>
  1461. <BindItem id="item4" compid="Div01.cap_tmsum" propid="text" datasetid="ds_temp" columnid="tmsum"/>
  1462. <BindItem id="item5" compid="Div01.cap_endtm" propid="text" datasetid="ds_temp" columnid="endtm"/>
  1463. <BindItem id="item6" compid="tar_prcpcmt" propid="value" datasetid="ds_hidden" columnid="prcpcmt"/>
  1464. <BindItem id="item7" compid="ipt_fromdd" propid="value" datasetid="ds_send_data" columnid="fromdd"/>
  1465. <BindItem id="item8" compid="ipt_todd" propid="value" datasetid="ds_send_data" columnid="todd"/>
  1466. <BindItem id="item9" compid="cmb_roomgrp" propid="value" datasetid="ds_hidden" columnid="roomgrp"/>
  1467. <BindItem id="item10" compid="cmb_statflag" propid="value" datasetid="ds_send_data" columnid="statflag"/>
  1468. </Bind>
  1469. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
  1470. include "pam_pamcomnxp::PAM001.xjs";
  1471. include "pam_pamcomnxp::PAM.xjs";
  1472. include "com_shortmsgxp::ZMS001.xjs";
  1473. var arErrorCode = new HashArray();
  1474. var EXCU_SEL_ROW = -1;
  1475. var RSRV_PLCE = "";
  1476. var nmStat = null;
  1477. function fSetSubCtrl() {
  1478. div_legend_excu.position.x = btn_legend_excu.position.right - div_legend_excu.position.width;
  1479. div_legend_excu.position.y = btn_legend_excu.position.bottom + 5;
  1480. div_legend_ctrl.position.x = btn_legend_ctrl.position.right - div_legend_ctrl.position.width;
  1481. div_legend_ctrl.position.y = btn_legend_ctrl.position.bottom + 5;
  1482. div_legend_rmrv.position.x = btn_legend_rmrv.position.right - div_legend_rmrv.position.width;
  1483. div_legend_rmrv.position.y = btn_legend_rmrv.position.bottom + 5;
  1484. div_directsms.position.x = ( this.position.width - div_directsms.position.width ) / 2;
  1485. div_directsms.position.y = 35;
  1486. div_msg.position.x = ( this.position.width - div_msg.position.width ) / 2;
  1487. div_msg.position.y = ( this.position.height - div_msg.position.height ) / 2;
  1488. }
  1489. // 예약처 설정
  1490. function fSetRsrvPlce() {
  1491. ds_send_data.setColumn(0, "rsrvplce", RSRV_PLCE);
  1492. btn_temprsrv.visible = false;
  1493. cmb_roomgrp.visible = false;
  1494. if (RSRV_PLCE == "T") {
  1495. ds_send_data.setColumn(0, "inptflag", "Y");
  1496. btn_temprsrv.visible = true;
  1497. cmb_roomgrp.visible = true;
  1498. cap_title.text = "통합 검사 예약";
  1499. } else if (RSRV_PLCE == "O") {
  1500. ds_send_data.setColumn(0, "inptflag", "N");
  1501. cap_title.text = "외래 검사 예약";
  1502. } else if (RSRV_PLCE == "I") {
  1503. ds_send_data.setColumn(0, "inptflag", "Y");
  1504. cap_title.text = "입원 검사 예약";
  1505. } else if (RSRV_PLCE == "S") {
  1506. ds_send_data.setColumn(0, "inptflag", "N");
  1507. cap_title.text = "건진 검사 예약";
  1508. }
  1509. }
  1510. // 입력받은 날짜에 대한 달력 설정
  1511. function fSetCalendar(pDate) {
  1512. for (var i = 1; i <= 12; i++) {
  1513. var mm = i < 10 ? "0" + i : i;
  1514. var btn = this.components["btn_m" + mm];
  1515. if (Number(pDate.getDateFormat("MM")) == i) {
  1516. btn.style.font = "Dotum,9,bold";
  1517. btn.style.background.color = "#daa7d9";
  1518. } else {
  1519. btn.style.font = "Dotum,9";
  1520. btn.style.background.color = "transparent";
  1521. }
  1522. }
  1523. pDate.setDate(1);
  1524. var holFlag = false; // 공휴일 조회 여부
  1525. if (utlf_isNull(ds_send_data.getColumn(0, "srchdd")) || ds_send_data.getColumn(0, "srchdd").substr(0, 6) != pDate.getDateFormat("YYYYMM")) {
  1526. holFlag = true;
  1527. }
  1528. ds_send_data.setColumn(0, "srchdd", pDate.getDateFormat("YYYYMMDD"));
  1529. opt_year.text = pDate.getDateFormat("YYYY");
  1530. opt_month.text = pDate.getDateFormat("MM");
  1531. ds_main_ddrv.clearData();
  1532. ds_hidden_calendar.clearData();
  1533. ds_hidden_calendar.addRow();
  1534. var row = 0;
  1535. var col = pDate.getDay();
  1536. var days = pDate.getMonthDay();
  1537. for (var i = 1; i <= days; i++) {
  1538. ds_hidden_calendar.setColumn(row, col, i + "\n");
  1539. col++;
  1540. if (col == 7) {
  1541. col = 0;
  1542. row++;
  1543. ds_hidden_calendar.addRow();
  1544. }
  1545. }
  1546. // 공휴일 표시
  1547. fSetDutFlag(pDate.getDateFormat("YYYYMM") + "01", holFlag);
  1548. // 가용인원 표시
  1549. if (!utlf_isNull(ds_send_data.getColumn(0, "excuroomcdarr"))) {
  1550. fGetDayRsrvList();
  1551. }
  1552. }
  1553. function fSetDutFlag(pDate, srchFlag){
  1554. if (srchFlag) {
  1555. var oParam = {};
  1556. oParam.id = "TRPEA00100";
  1557. oParam.service = "pamexcuapp.PamExcu";
  1558. oParam.method = "reqGetDutList";
  1559. oParam.inds = "req=ds_send_data";
  1560. oParam.outds = "ds_hidden_duty=hsch";
  1561. oParam.async = false;
  1562. oParam.callback = "cf_TRPEA00100";
  1563. tranf_submit(oParam);
  1564. if (arErrorCode.pop("TRPEA00100") < 0) {
  1565. return;
  1566. }
  1567. // 가용인원표시
  1568. fGetDayRsrvList();
  1569. }
  1570. }
  1571. function cf_TRPEA00100(sSvcId, nErrorCode, sErrorMsg) {
  1572. arErrorCode.push(sSvcId, nErrorCode);
  1573. }
  1574. function fSetCalendarColor(row, col) {
  1575. if (ds_hidden_calendar.rowcount < 1 || utlf_isNull(ds_hidden_calendar.getColumn(row, col))) {
  1576. return "";
  1577. }
  1578. // 공휴일 표시
  1579. var color = "";
  1580. var dd = ds_hidden_calendar.getColumn(row, col).split(/\n/)[0];
  1581. dd = dd.length < 2 ? "0" + dd : dd;
  1582. var currdd = opt_year.text + opt_month.text + dd;
  1583. // 과거일이면 흐릿하게 표시
  1584. if (currdd < utlf_getCurrentDate()) {
  1585. return "darkgray";
  1586. }
  1587. for (var i = 0; i < ds_hidden_duty.rowcount; i++) {
  1588. if (ds_hidden_duty.getColumn(i, "basedd") == currdd) {
  1589. var dutflag = ds_hidden_duty.getColumn(i, "dutflag");
  1590. if (dutflag == "8") { // 휴일
  1591. color = "#ff0000";
  1592. } else if (dutflag == "4") { // 토요일
  1593. color = "#0000ff";
  1594. } else { // 평일
  1595. color = "#000000";
  1596. }
  1597. break;
  1598. }
  1599. }
  1600. return color;
  1601. }
  1602. function fSetCalendarBGColor(row, col) {
  1603. var color = "#ffffff";
  1604. if (ds_hidden_calendar.rowcount < 1 || utlf_isNull(ds_hidden_calendar.getColumn(row, col))) {
  1605. return color;
  1606. }
  1607. var day = ds_hidden_calendar.getColumn(row, col).split(/\n/)[0];
  1608. day = day.length < 2 ? "0" + day : day;
  1609. var currdd = opt_year.text + opt_month.text + day;
  1610. // 과거일이면 아무 표시하지 않음
  1611. if (currdd < utlf_getCurrentDate()) {
  1612. return color;
  1613. }
  1614. for (var i = 0; i < ds_main_ddrv.rowcount; i++) {
  1615. var rsrvdd = ds_main_ddrv.getColumn(i, "rsrvdd");
  1616. var flagcnt = ds_send_data.getColumn(0, "statflag") == "C" ? ds_main_ddrv.getColumn(i, "capacnt") : ds_main_ddrv.getColumn(i, "idlecnt");
  1617. // 예약가능일자 녹색주기
  1618. if (rsrvdd == currdd && Number(flagcnt) > 0) {
  1619. color = "#c4e693";
  1620. break;
  1621. }
  1622. }
  1623. // 오늘 표시
  1624. // 오늘 표시 일단 막아놓음 (오늘 날짜 가용 현황이 안 보이므로)
  1625. if (currdd == utlf_getCurrentDate()) {
  1626. color = "#95d4fb";
  1627. }
  1628. // 선택일 표시
  1629. if (currdd == ds_send_data.getColumn(0, "rsrvdd")) {
  1630. color = "#daa7d9";
  1631. }
  1632. return color;
  1633. }
  1634. function fSetMonth(pMonth) {
  1635. var sDate = opt_year.text + opt_month.text + "01";
  1636. var dtDate = sDate.toDate().getAddDate(Number(pMonth) - Number(opt_month.text), "M");
  1637. fSetCalendar(dtDate);
  1638. }
  1639. function fGetExcuList(srchdd){
  1640. fClearExcuInfo(srchdd);
  1641. ds_hidden.setColumn(0, "allchk", 0);
  1642. var oParam = {};
  1643. oParam.id = "TRPEA00101";
  1644. oParam.service = "pamexcuapp.PamExcu";
  1645. oParam.method = "reqGetStsExcuList";
  1646. oParam.inds = "req=ds_send_data";
  1647. oParam.outds = "ds_main_pt=pt "
  1648. + "ds_main_ord=ord "
  1649. + "ds_main_tdrv=tdrv "
  1650. + "ds_main_ptcmt=cmt "
  1651. + "ds_main_anex=anex "
  1652. + "ds_main_rcptprcp=rcpt";
  1653. oParam.async = false;
  1654. oParam.callback = "cf_TRPEA00101";
  1655. tranf_submit(oParam);
  1656. if (arErrorCode.pop("TRPEA00101") < 0) {
  1657. return;
  1658. }
  1659. //20200113 고영민 excu가 retVOs에 세팅되는순간 위의 outds를 모두 뭉게버려 분기처리
  1660. var oParam = {};
  1661. oParam.id = "TRPEA00107";
  1662. oParam.service = "pamexcuapp.PamExcu";
  1663. oParam.method = "reqGetStsExcuList2";
  1664. oParam.inds = "req=ds_send_data";
  1665. oParam.outds = "ds_main_excu=excu";
  1666. oParam.async = false;
  1667. oParam.callback = "cf_TRPEA00107";
  1668. tranf_submit(oParam);
  1669. if (arErrorCode.pop("TRPEA00107") < 0) {
  1670. return;
  1671. }
  1672. // 제어 내역 초기화
  1673. fInitRsrvCtrl();
  1674. btn_savecmt.enable = false;
  1675. if (ds_main_ptcmt.rowcount > 0) {
  1676. // bf_patcmt 항목 추가
  1677. ds_main_ptcmt.addColumn("bf_patcmt", "STRING");
  1678. for (var i = 0; i < ds_main_ptcmt.rowcount; i++) {
  1679. ds_main_ptcmt.setColumn(0, "bf_patcmt", ds_main_ptcmt.getColumn(i, "patcmt"));
  1680. }
  1681. btn_delcmt.enable = true;
  1682. } else {
  1683. btn_delcmt.enable = false;
  1684. }
  1685. ds_temp.setColumn(0, "ptcmt", "");
  1686. // 수기 예약 설정
  1687. if (sysf_getUserInfo("dutplceinstcd") == "032" || sysf_getUserId() == "PAM") {
  1688. grd_excu.setCellProperty("Body", grd_excu.getBindCellIndex("body", "srchrsrvtm"), "edittype", "text");
  1689. }
  1690. if (ds_main_rcptprcp.getColumn(0, "cnt") != "0") {
  1691. sysf_messageBox("미수납 검사 처방이 있습니다.\n처방을 확인해 주십시오.", "E999");
  1692. }
  1693. // 환자 정보에 따른 알림
  1694. if (!utlf_isNull(ds_main_pt.getColumn(0, "hngnm"))) {
  1695. // Creatine 수치에 따른 설정
  1696. if (Number(ds_main_pt.getColumn(0, "creatine")) >= 1.3) {
  1697. div_creatine.visible = true;
  1698. } else {
  1699. div_creatine.visible = false;
  1700. }
  1701. // 사생활 보호 칼럼 설정
  1702. if (ds_main_pt.getColumn(0, "privacy") == "Y") {
  1703. fShowPrivacyMsg();
  1704. }
  1705. // 환자 조회시 중증이나 산정특례 만료일부터 6개월이내 환자 알림 기능
  1706. var serdiagtodd = utlf_transNullToEmpty(ds_main_pt.getColumn(0, "serdiagtodd"));
  1707. if (serdiagtodd != "" ) {
  1708. if (serdiagtodd.length == 8) {
  1709. serdiagtodd = serdiagtodd.substr(0, 4) + "년 " + serdiagtodd.substr(4, 2) + "월 " + serdiagtodd.substr(6, 2) + "일";
  1710. }
  1711. sysf_messageBox("중증 등록이 " + serdiagtodd + "에 종료 예정입니다", "E999");
  1712. }
  1713. var rareobsttodd = utlf_transNullToEmpty(ds_main_pt.getColumn(0, "rareobsttodd"));
  1714. if (rareobsttodd != "" ) {
  1715. if (rareobsttodd.length == 8) {
  1716. rareobsttodd = rareobsttodd.substr(0, 4) + "년 " + rareobsttodd.substr(4, 2) + "월 " + rareobsttodd.substr(6, 2) + "일";
  1717. }
  1718. sysf_messageBox("희귀 난치 등록이 " + rareobsttodd + "에 종료 예정입니다","E999");
  1719. }
  1720. // HIV 알림
  1721. if (ds_main_pt.getColumn(0, "hivflag") == "Y") {
  1722. sysf_messageBox("HIV 주의 대상 환자입니다.", "I999");
  1723. }
  1724. }
  1725. if (ds_main_excu.rowcount > 0) {
  1726. ds_main_excu.rowposition = 0;
  1727. fSetExcuInfo();
  1728. }
  1729. }
  1730. function cf_TRPEA00101(sSvcId, nErrorCode, sErrorMsg) {
  1731. arErrorCode.push(sSvcId, nErrorCode);
  1732. }
  1733. function cf_TRPEA00107(sSvcId, nErrorCode, sErrorMsg) {
  1734. arErrorCode.push(sSvcId, nErrorCode);
  1735. }
  1736. function fSetOrdGridBGColor(row, col) {
  1737. if (ds_main_ord.getColumn(row, "rcptflag") == "V") { // 후불
  1738. return "#ffffa0";
  1739. } else if (ds_main_ord.getColumn(row, "rcptflag") == "Y") { // 미수납
  1740. return "#ffb450";
  1741. } else {
  1742. return "#ffffff";
  1743. }
  1744. }
  1745. function fSetPtGridBGColor(row, col) {
  1746. // VIP
  1747. if (col == 10 && ds_main_pt.getColumn(0, "vip") != "N") {
  1748. return "#ffff00";
  1749. }
  1750. // 사생활
  1751. if (col == 11 && ds_main_pt.getColumn(0, "privacy") == "Y") {
  1752. return "#ff0000";
  1753. }
  1754. // HIV
  1755. if (col == 12 && ds_main_pt.getColumn(0, "hivflag") == "Y") {
  1756. return "#ff0000";
  1757. }
  1758. return "#ffffff";
  1759. }
  1760. function fSetExcuGridBGColor(row, col) {
  1761. // 수납
  1762. if (col == 2) {
  1763. // 이지패스
  1764. if (ds_main_excu.getColumn(row, "prcpgenrflag") != "I" && ds_main_excu.getColumn(row, "aftrcptinfo") == "V") {
  1765. return "#ff5050";
  1766. }
  1767. }
  1768. // 검사실
  1769. if (col == 11) {
  1770. if (ds_main_excu.getColumn(row, "excuroomcd") != ds_main_excu.getColumn(row, "bf_excuroomcd")) {
  1771. return "#ffff00";
  1772. }
  1773. }
  1774. // 예약 일시
  1775. if (col == 12) {
  1776. if (ds_main_excu.getColumn(row, "srchrsrvtm") != ds_main_excu.getColumn(row, "bf_srchrsrvtm")) {
  1777. return "#ffff00";
  1778. }
  1779. }
  1780. // 선택행
  1781. if (row == EXCU_SEL_ROW) {
  1782. return "#b7ffb7";
  1783. }
  1784. // 체크행
  1785. if (ds_main_excu.getColumn(row, "chk") == 1) {
  1786. return "#f0f0f0";
  1787. }
  1788. return "#ffffff";
  1789. }
  1790. function fSetExcuGridColor(row, col) {
  1791. // 예약
  1792. if (col == 1) {
  1793. if (ds_main_excu.getColumn(row, "rsrvflagyn") == "예약") {
  1794. return "#000000";
  1795. } else if (ds_main_excu.getColumn(row, "rsrvflagyn") == "예약취소") {
  1796. return "#0000ff";
  1797. } else {
  1798. return "#ff0000";
  1799. }
  1800. }
  1801. // 수납
  1802. if (col == 2) {
  1803. if (ds_main_excu.getColumn(row, "prcpgenrflag") == "I") {
  1804. if (ds_main_excu.getColumn(row, "rcptyn") == "수납") {
  1805. return "#000000";
  1806. } else {
  1807. return "#ff0000";
  1808. }
  1809. } else {
  1810. var aftr = ds_main_excu.getColumn(row, "aftrcptinfo");
  1811. // 이지패스
  1812. if (aftr == "V") {
  1813. return "#ffff00";
  1814. }
  1815. // 처방 당일 후수납
  1816. if (aftr == "P") {
  1817. return "#ff9a00";
  1818. }
  1819. // 미수납
  1820. if (aftr == "A") {
  1821. return "#ff0000";
  1822. }
  1823. }
  1824. }
  1825. // 처방명
  1826. if (col == 10) {
  1827. if (!utlf_isNull(ds_main_excu.getColumn(row, "tmpldata"))) {
  1828. return "#0000ff";
  1829. }
  1830. }
  1831. // 검사실
  1832. if (col == 11) {
  1833. if (ds_main_excu.getColumn(row, "excuroomcd") != ds_main_excu.getColumn(row, "bf_excuroomcd")) {
  1834. return "#0000ff";
  1835. }
  1836. }
  1837. // 예약 일시
  1838. if (col == 12) {
  1839. if (ds_main_excu.getColumn(row, "srchrsrvtm") != ds_main_excu.getColumn(row, "bf_srchrsrvtm")) {
  1840. return "#0000ff";
  1841. } else {
  1842. return "#ff0000";
  1843. }
  1844. }
  1845. return "#000000";
  1846. }
  1847. function fClearExcuInfo(srchdd) {
  1848. // 설정 행 초기화
  1849. EXCU_SEL_ROW = -1;
  1850. ds_send_data.setColumn(0, "suppdeptcd", "");
  1851. ds_send_data.setColumn(0, "excuroomcd", "");
  1852. // 검사실 목록 초기화
  1853. ds_main_room.clearData();
  1854. fSetCalendar(srchdd.toDate());
  1855. // 검사실 예약 현황 초기화
  1856. ds_main_rmrv.clearData();
  1857. tar_prcpcmt.value = "";
  1858. // 중복 예약 확인 내역 초기화
  1859. ds_temp_exst.clearData();
  1860. // 제어 내역 초기화
  1861. fInitRsrvCtrl();
  1862. // 총 소요 시간 및 예상 완료 시각 표시 초기화
  1863. ds_temp.setColumn(0, "tmsum", "");
  1864. ds_temp.setColumn(0, "endtm", "");
  1865. }
  1866. // 검사 현황 선택에 따른 값 설정
  1867. function fSetExcuInfo() {
  1868. var row = ds_main_excu.rowposition;
  1869. EXCU_SEL_ROW = row;
  1870. // 총 소요 시간 및 예상 완료 시각 표시
  1871. fSetExcuEndTime();
  1872. // 검사실별 예약 현황 확장 초기화
  1873. fSetRmrvExt(true);
  1874. if (!frmf_checkOpener()) {
  1875. fTopInfo();
  1876. }
  1877. // 예약 제어 적용
  1878. fGetRsrvCtrlList(row);
  1879. // 발생 구분 설정
  1880. ds_send_data.setColumn(0, "genrflag", ds_main_excu.getColumn(row, "genrflag"));
  1881. // 수행부서 설정
  1882. ds_send_data.setColumn(0, "suppdeptcd", ds_main_excu.getColumn(row, "suppdeptcd"));
  1883. // 예약일 설정
  1884. if (!utlf_isNull(ds_main_excu.getColumn(row, "srchrsrvtm"))) {
  1885. ds_send_data.setColumn(0, "rsrvdd", ds_main_excu.getColumn(row, "srchrsrvtm").substr(0, 8));
  1886. } else {
  1887. ds_send_data.setColumn(0, "rsrvdd", "");
  1888. }
  1889. // 검사실 목록 설정
  1890. ds_main_room.clearData();
  1891. var roomNmArr = ds_main_excu.getColumn(row, "rsrvexcuroompossnm").split("^");
  1892. var roomCdArr = "";
  1893. for (var i = 0; i < roomNmArr.length; i++) {
  1894. var cd = roomNmArr[i].split("|")[0];
  1895. ds_main_room.addRow();
  1896. ds_main_room.setColumn(i, "excuroomcd", cd);
  1897. ds_main_room.setColumn(i, "excuroomnm", roomNmArr[i].split("|")[1]);
  1898. roomCdArr += ( i > 0 ? ",'" : "'" ) + cd + "'";
  1899. }
  1900. ds_main_room.rowposition = -1;
  1901. ds_send_data.setColumn(0, "excuroomcd", "");
  1902. ds_send_data.setColumn(0, "excuroomcdarr", roomCdArr);
  1903. // 처방 전달 사항 설정
  1904. var prcpcmt = utlf_transNullToEmpty(ds_main_excu.getColumn(row, "prcpdelivefact")).trim();
  1905. ds_hidden.setColumn(0, "prcpcmt", prcpcmt);
  1906. if (utlf_isNull(prcpcmt) || prcpcmt == "-") {
  1907. tar_prcpcmt.style.backgroundColor = "#ffffff";
  1908. } else {
  1909. tar_prcpcmt.style.backgroundColor = "#ffffc0";
  1910. }
  1911. // 응급(긴급) 여부 설정
  1912. ds_send_data.setColumn(0, "ftflag", ds_main_excu.getColumn(row, "ftflag"));
  1913. // 일자별 검사 현황 초기화
  1914. var srchdd = ds_send_data.getColumn(0, "srchdd");
  1915. fSetCalendar(srchdd.toDate());
  1916. // 검사실 예약 현황 초기화
  1917. ds_main_rmrv.clearData();
  1918. }
  1919. function fSetExcuRoom(pTimeFlag) {
  1920. if (EXCU_SEL_ROW < 0) {
  1921. return;
  1922. }
  1923. fSetExcuExt(true);
  1924. ds_main_excu.rowposition = EXCU_SEL_ROW;
  1925. var excuroomcd = ds_main_room.getColumn(ds_main_room.rowposition, "excuroomcd");
  1926. ds_send_data.setColumn(0, "excuroomcd", excuroomcd);
  1927. // 검사실별 일별 현황 조회 기준 설정 적용
  1928. if (pTimeFlag) {
  1929. if (ds_init_code.getCaseCount("cdgrupid == 'P0130' && cdid == '" + excuroomcd + "'") > 0) {
  1930. ds_send_data.setColumn(0, "statflag", "T");
  1931. } else {
  1932. ds_send_data.setColumn(0, "statflag", "C");
  1933. }
  1934. }
  1935. // 일자별 가용 현황
  1936. fGetDayRsrvList();
  1937. // 검사실 예약 내역 초기화
  1938. ds_main_rmrv.clearData();
  1939. // 예약 제어 호출
  1940. fGetRsrvCtrlList(EXCU_SEL_ROW, ( ds_main_room.rowposition < 0 ? "T" : excuroomcd ));
  1941. }
  1942. // 예약일에 따른 가용 인원 표시
  1943. function fGetDayRsrvList() {
  1944. for (var i = 0; i < ds_hidden_calendar.rowcount; i++) {
  1945. for (var j = 0; j < ds_hidden_calendar.colcount; j++) {
  1946. if (utlf_transNullToEmpty(ds_hidden_calendar.getColumn(i, j)) == "") {
  1947. continue;
  1948. }
  1949. ds_hidden_calendar.setColumn(i, j, ds_hidden_calendar.getColumn(i, j).split(/\n/)[0] + "\n");
  1950. }
  1951. }
  1952. var oParam = {};
  1953. oParam.id = "TRPEA00102";
  1954. oParam.service = "pamexcuapp.PamExcu";
  1955. oParam.method = "reqGetDayRsrvInfo";
  1956. oParam.inds = "req=ds_send_data";
  1957. oParam.outds = "ds_main_ddrv=ddrv";
  1958. oParam.async = false;
  1959. oParam.callback = "cf_TRPEA00102";
  1960. tranf_submit(oParam);
  1961. if (arErrorCode.pop("TRPEA00102") < 0) {
  1962. return;
  1963. }
  1964. var currdd = opt_year.text + opt_month.text + "01";
  1965. var startDay = currdd.toDate().getDay();
  1966. var statflag = ds_send_data.getColumn(0, "statflag");
  1967. for (var i = 0; i < ds_main_ddrv.rowcount; i++) {
  1968. var rsrvdd = ds_main_ddrv.getColumn(i, "rsrvdd");
  1969. var capacnt = ds_main_ddrv.getColumn(i, "capacnt");
  1970. var idlecnt = ds_main_ddrv.getColumn(i, "idlecnt");
  1971. var col = rsrvdd.toDate().getDay();
  1972. var row = Math.ceil( ( startDay + Number(rsrvdd.substr(6, 2)) ) / 7 ) - 1;
  1973. if (ds_send_data.getColumn(0, "statflag") == "T") {
  1974. ds_hidden_calendar.setColumn(row, col, ds_hidden_calendar.getColumn(row, col).split(/\n/)[0] + "\n" + "(" + idlecnt + ")");
  1975. } else {
  1976. ds_hidden_calendar.setColumn(row, col, ds_hidden_calendar.getColumn(row, col).split(/\n/)[0] + "\n" + "(" + capacnt + ")");
  1977. }
  1978. }
  1979. }
  1980. function cf_TRPEA00102(sSvcId, nErrorCode, sErrorMsg) {
  1981. arErrorCode.push(sSvcId, nErrorCode);
  1982. }
  1983. function fGetRoomRsrvList() {
  1984. if (ds_main_excu.rowcount < 1 || ds_main_excu.rowposition < 0) {
  1985. return;
  1986. }
  1987. ds_send_data.setColumn(0, "suppdeptcd", ds_main_excu.getColumn(ds_main_excu.rowposition, "suppdeptcd"));
  1988. ds_send_data.setColumn(0, "excuroomcd", ds_main_room.getColumn(ds_main_room.rowposition, "excuroomcd"));
  1989. var totflag = ds_send_data.getColumn(0, "totflag");
  1990. if (totflag != "Y" && utlf_isNull(ds_send_data.getColumn(0, "excuroomcd"))) {
  1991. return;
  1992. }
  1993. var oParam = {};
  1994. oParam.id = "TRPEA00103";
  1995. oParam.service = "pamexcuapp.PamExcu";
  1996. oParam.method = "reqGetRoomRsrvInfo";
  1997. oParam.inds = "req=ds_send_data";
  1998. oParam.outds = "ds_main_rmrv=rmrv";
  1999. oParam.async = false;
  2000. oParam.callback = "cf_TRPEA00103";
  2001. tranf_submit(oParam);
  2002. if (arErrorCode.pop("TRPEA00103") < 0) {
  2003. return;
  2004. }
  2005. if (totflag == "Y") {
  2006. grd_rmrv.setFormatColProperty(2, "size", 100);
  2007. } else {
  2008. grd_rmrv.setFormatColProperty(2, "size", 0);
  2009. }
  2010. var rsrvdd = ds_send_data.getColumn(0, "rsrvdd");
  2011. var currdd = utlf_getCurrentDate();
  2012. var currtm = Number(utlf_getCurrentTime().substr(0, 4));
  2013. var setflag = false;
  2014. for (var i = 0; i < ds_main_rmrv.rowcount; i++) {
  2015. var rsrvtm = ds_main_rmrv.getColumn(i, "rsrvtm");
  2016. var stat = Number(ds_main_rmrv.getColumn(i, "stat"));
  2017. var capa = Number(ds_main_rmrv.getColumn(i, "capa"));
  2018. var excutm = ds_main_rmrv.getColumn(i, "excutm");
  2019. // 검사 소요 시간 확인
  2020. if (!utlf_isNull(excutm) && i < ds_main_rmrv.rowcount - 1) {
  2021. var rsrvdt = rsrvdd + rsrvtm;
  2022. var addtm = rsrvdt.toDate("YYYYMMDDhhmm").getAddDate(Number(excutm), "m").getDateFormat("hhmm");
  2023. for (var j = i + 1; j < ds_main_rmrv.rowcount; j++) {
  2024. var rsrvtm2 = ds_main_rmrv.getColumn(j, "rsrvtm");
  2025. if (rsrvtm2 != rsrvtm && rsrvtm2 < addtm) {
  2026. ds_main_rmrv.setColumn(j, "tmflag", "Y");
  2027. }
  2028. }
  2029. }
  2030. // 현재 시각에 맞춰 TopRow 설정
  2031. if (rsrvdd == currdd && Number(rsrvtm) >= currtm && !setflag) {
  2032. grd_rmrv.vscrollbar.pos = i;
  2033. setflag = true;
  2034. }
  2035. if (i == ds_main_rmrv.rowcount - 1 && rsrvdd == currdd && !setflag) {
  2036. grd_rmrv.vscrollbar.pos = i;
  2037. setflag = true;
  2038. }
  2039. }
  2040. if (rsrvdd >= currdd) {
  2041. for (var i = 0; i < ds_main_rmrv.rowcount ; i++ ) {
  2042. if (ds_main_pt.getColumn(0, "hngnm") == ds_main_rmrv.getColumn(i, "hngnm") &&
  2043. ds_send_data.getColumn(0, "pid") != ds_main_rmrv.getColumn(i, "pid")) {
  2044. sysf_messageBox("동명이인 예약이 있습니다.", "E999");
  2045. break;
  2046. }
  2047. }
  2048. }
  2049. }
  2050. function cf_TRPEA00103(sSvcId, nErrorCode, sErrorMsg) {
  2051. arErrorCode.push(sSvcId, nErrorCode);
  2052. }
  2053. function fSetRoomBGColor(row, col) {
  2054. //내분비대사내과의 경우 타과 예약건은 색깔 표시 20190812 고영민
  2055. if(ds_main_excu.getColumn(grd_excu.currentrow, "orddeptcd") != "2010500000" &&
  2056. (ds_main_excu.getColumn(grd_excu.currentrow, "excucd") == "EB414" || ds_main_excu.getColumn(grd_excu.currentrow, "excucd") == "EB562") &&
  2057. ds_main_rmrv.getColumn(row, "orddeptcd") != "2010500000"){
  2058. return "#d2fdff";
  2059. }
  2060. //특정검사실 특정시간대 별도색표시
  2061. if (ds_main_rmrv.getColumn(row, "timeline") == "Y" && col == 1) {
  2062. return "#BCE55C";
  2063. }
  2064. // 응급 시각 표시
  2065. if (ds_main_rmrv.getColumn(row, "ertmflag") == "Y") {
  2066. if (row == grd_rmrv.currentrow && col > 0 && col < 7 && grd_rmrv.currentcol > 0 && grd_rmrv.currentcol < 7) {
  2067. return "#990000";
  2068. } else {
  2069. return "#ff0000";
  2070. }
  2071. }
  2072. // 가용 인원 초과
  2073. var stat = Number(ds_main_rmrv.getColumn(row, "stat"));
  2074. var capa = Number(ds_main_rmrv.getColumn(row, "capa"));
  2075. if (stat > capa) {
  2076. if (row == grd_rmrv.currentrow && col > 0 && col < 5 && grd_rmrv.currentcol > 0 && grd_rmrv.currentcol < 5) {
  2077. return "#ffa0a0";
  2078. } else if (row == grd_rmrv.currentrow && ( col == 5 || col == 6 ) && ( grd_rmrv.currentcol == 5 || grd_rmrv.currentcol == 6 )) {
  2079. return "#ffa0a0";
  2080. } else if (row == grd_rmrv.currentrow && col > 6 && grd_rmrv.currentcol > 6) {
  2081. return "#ffc0c0";
  2082. } else {
  2083. return "#ffd2d2";
  2084. }
  2085. }
  2086. // 시각, 현황, 가용
  2087. if (col > 0 && col < 5) {
  2088. if (row == grd_rmrv.currentrow && grd_rmrv.currentcol > 0 && grd_rmrv.currentcol < 5) {
  2089. return "#f0f000";
  2090. } else {
  2091. return "#ffffc0";
  2092. }
  2093. }
  2094. // 등록번호, 이름
  2095. if (col == 5 || col == 6) {
  2096. if (row == grd_rmrv.currentrow && ( grd_rmrv.currentcol == 5 || grd_rmrv.currentcol == 6 )) {
  2097. return "#c0c0ff";
  2098. } else {
  2099. return "#f0f0ff";
  2100. }
  2101. }
  2102. if (row == grd_rmrv.currentrow && col > 6 && grd_rmrv.currentcol > 6) {
  2103. return "#f0f0f0";
  2104. } else {
  2105. return "#ffffff";
  2106. }
  2107. }
  2108. function fSetRoomColor(row, col) {
  2109. // 응급 시각 표시
  2110. if (ds_main_rmrv.getColumn(row, "ertmflag") == "Y") {
  2111. return "#ffff00";
  2112. }
  2113. // 검사 시간 초과
  2114. if (ds_main_rmrv.getColumn(row, "tmflag") == "Y") {
  2115. return "#ff0000";
  2116. }
  2117. // 소요시간
  2118. if (col == 9) {
  2119. return "#b400b4";
  2120. }
  2121. return "#000000";
  2122. }
  2123. function fChkRoomTimeStat(suppdeptcd, excuroomcd, rsrvdd, rsrvtm, stat) {
  2124. ds_send_stat.setColumn(0, "suppdeptcd", suppdeptcd);
  2125. ds_send_stat.setColumn(0, "excuroomcd", excuroomcd);
  2126. ds_send_stat.setColumn(0, "rsrvdd", rsrvdd);
  2127. ds_send_stat.setColumn(0, "rsrvtm", rsrvtm);
  2128. var oParam = {};
  2129. oParam.id = "TRPEA00105";
  2130. oParam.service = "pamexcuapp.PamExcu";
  2131. oParam.method = "reqGetRoomTimeStat";
  2132. oParam.inds = "req=ds_send_stat";
  2133. oParam.outds = "ds_hidden_stat=rtst";
  2134. oParam.async = false;
  2135. oParam.callback = "cf_TRPEA00105";
  2136. tranf_submit(oParam);
  2137. if (arErrorCode.pop("TRPEA00105") < 0) {
  2138. return;
  2139. }
  2140. var currstat = ds_hidden_stat.getColumn(0, "stat");
  2141. if (stat == currstat) {
  2142. return true;
  2143. } else {
  2144. var str = "[ " + rsrvtm.substr(0, 2) + ":" + rsrvtm.substr(2, 2) + " ] " + stat + " 건 ▶ " + currstat + " 건";
  2145. sysf_messageBox("해당 시각의 검사 현황이 변경되었습니다.\n\n" + str + "\n\n검사실 예약 현황이 다시 조회됩니다.", "E999");
  2146. fGetRoomRsrvList();
  2147. return false;
  2148. }
  2149. }
  2150. function cf_TRPEA00105(sSvcId, nErrorCode, sErrorMsg) {
  2151. arErrorCode.push(sSvcId, nErrorCode);
  2152. }
  2153. function fChkRoomTimeStatAll() {
  2154. var flag = true;
  2155. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  2156. if (!flag) {
  2157. break;
  2158. }
  2159. if (ds_main_excu.getColumn(i, "chk") != 1) {
  2160. continue;
  2161. }
  2162. for (var j = 0; j < ds_temp_exst.rowcount; j++) {
  2163. if (ds_temp_exst.getColumn(j, "rowidx") != i) {
  2164. continue;
  2165. }
  2166. ds_send_stat.setColumn(0, "suppdeptcd", ds_main_excu.getColumn(i, "suppdeptcd"));
  2167. ds_send_stat.setColumn(0, "excuroomcd", ds_main_excu.getColumn(i, "excuroomcd"));
  2168. var rsrvdt = ds_main_excu.getColumn(i, "srchrsrvtm");
  2169. ds_send_stat.setColumn(0, "rsrvdd", rsrvdt.substr(0, 8));
  2170. ds_send_stat.setColumn(0, "rsrvtm", rsrvdt.substr(8, 4));
  2171. var oParam = {};
  2172. oParam.id = "TRPEA00105";
  2173. oParam.service = "pamexcuapp.PamExcu";
  2174. oParam.method = "reqGetRoomTimeStat";
  2175. oParam.inds = "req=ds_send_stat";
  2176. oParam.outds = "ds_hidden_stat=rtst";
  2177. oParam.async = false;
  2178. oParam.callback = "cf_TRPEA00105";
  2179. tranf_submit(oParam);
  2180. if (arErrorCode.pop("TRPEA00105") < 0) {
  2181. flag = false;
  2182. break;
  2183. } else {
  2184. var currstat = ds_hidden_stat.getColumn(0, "stat");
  2185. var stat = ds_temp_exst.getColumn(j, "stat");
  2186. var rsrvtm = ds_temp_exst.getColumn(j, "rsrvtm");
  2187. if (rsrvdt.substr(8, 4) == rsrvtm && currstat != stat) {
  2188. var str = "[ " + ( Number(ds_temp_exst.getColumn(j, "rowidx")) + 1 ) + " ] 번째 행의 예약 현황이 변경되었습니다.\n\n"
  2189. + "[ " + rsrvtm.substr(0, 2) + ":" + rsrvtm.substr(2, 2) + " ] " + stat + " 건 ▶ " + currstat + " 건\n\n"
  2190. + "해당 검사에 대한 예약 일시를 다시 설정한 후 예약해 주십시오.";
  2191. sysf_messageBox(str, "E999");
  2192. flag = false;
  2193. break;
  2194. }
  2195. }
  2196. }
  2197. }
  2198. return flag;
  2199. }
  2200. function fCheckRstrDay(rsrvdd) {
  2201. var msg = "";
  2202. var todd = ds_main_pt.getColumn(0, "serdiagtodd");
  2203. if (utlf_isValidDateTime(todd, "YYYYMMDD")) {
  2204. if (rsrvdd > todd) {
  2205. msg = "중증 종료 예정일 : " + todd.substr(0, 4) + "/" + todd.substr(4, 2) + "/" + todd.substr(6, 2);
  2206. }
  2207. }
  2208. todd = ds_main_pt.getColumn(0, "rareobsttodd");
  2209. if (utlf_isValidDateTime(todd, "YYYYMMDD")) {
  2210. if (rsrvdd > todd) {
  2211. msg = msg == "" ? msg : msg + "\r\n";
  2212. msg += "희귀 난치 종료 예정일 : " + todd.substr(0, 4) + "/" + todd.substr(4, 2) + "/" + todd.substr(6, 2);
  2213. }
  2214. }
  2215. if (msg != "") {
  2216. msg = "중증 혹은 희귀 난치 자격 종료예정자입니다" + "\r\n\r\n"
  2217. + msg + "\r\n\r\n"
  2218. + "진료 당일의 자격이 변경될 가능성이 있음에 유의하시기 바랍니다.";
  2219. sysf_messageBox(msg, "E999");
  2220. }
  2221. }
  2222. function fCheckRsrv() {
  2223. if (ds_main_excu.rowcount < 1) {
  2224. sysf_messageBox("조회된 검사 내역이 없습니다.", "E999");
  2225. return;
  2226. }
  2227. var chkcnt = 0;
  2228. var prtflag = false;
  2229. var infoflag = false;
  2230. var modStr = "";
  2231. var msgCnt = 0;
  2232. var ovrCnt = 0;
  2233. ds_main_excu.rowposition = EXCU_SEL_ROW;
  2234. for (var i = 0; i <= ds_main_excu.rowcount; i++) {
  2235. if (ds_main_excu.getColumn(i, "chk") != 1) {
  2236. continue;
  2237. }
  2238. chkcnt++;
  2239. if (utlf_isNull(ds_main_excu.getColumn(i, "excuroomcd"))) {
  2240. sysf_messageBox("[ " + ( i + 1 ) + " ] 번째 행의 검사실이 지정되지 않았습니다.", "E999");
  2241. return;
  2242. }
  2243. if (utlf_isNull(ds_main_excu.getColumn(i, "srchrsrvtm"))) {
  2244. sysf_messageBox("[ " + ( i + 1 ) + " ] 번째 행의 검사 시각이 설정되지 않았습니다.", "E999");
  2245. return;
  2246. }
  2247. // 중복 예약 확인
  2248. if (!fChkRoomTimeStatAll()) {
  2249. return;
  2250. }
  2251. // 변경 시간 확인
  2252. var bfdt = ds_main_excu.getColumn(i, "bf_srchrsrvtm");
  2253. var rvdt = ds_main_excu.getColumn(i, "srchrsrvtm");
  2254. if (ds_main_excu.getColumn(i, "rsrvflagyn") == "예약") {
  2255. if (rvdt != bfdt) {
  2256. msgCnt++;
  2257. if (msgCnt > 7) {
  2258. ovrCnt++;
  2259. } else {
  2260. modStr += "[ " + ( i + 1 ) + " ] 번째 행의 예약 시간이 변경되었습니다.\r\n\r\n[ " + ds_main_excu.getColumn(i, "prcpnm") + " ]\r\n\r\n"
  2261. + bfdt.substr(0, 4) + "-" + bfdt.substr(4, 2) + "-" + bfdt.substr(6, 2) + " " + bfdt.substr(8, 2) + ":" + bfdt.substr(10, 2)
  2262. + " → "
  2263. + rvdt.substr(0, 4) + "-" + rvdt.substr(4, 2) + "-" + rvdt.substr(6, 2) + " " + rvdt.substr(8, 2) + ":" + rvdt.substr(10, 2)
  2264. + "\r\n\r\n\r\n";
  2265. }
  2266. prtflag = true;
  2267. }
  2268. } else {
  2269. prtflag = true;
  2270. }
  2271. if (!utlf_isNull(ds_main_excu.getColumn(i, "tmpldata"))) {
  2272. infoflag = true;
  2273. }
  2274. }
  2275. if (chkcnt < 1) {
  2276. sysf_messageBox("선택된 검사 내역이 없습니다.", "E999");
  2277. return;
  2278. }
  2279. if (ovrCnt > 0) {
  2280. modStr += "외 [ " + ovrCnt + " ] 건\r\n\r\n\r\n";
  2281. }
  2282. if (RSRV_PLCE == "S") { // 건진은 검사 안내문 및 예약 일정표 출력하지 않음
  2283. infoflag = false;
  2284. prtflag = false;
  2285. }
  2286. if (infoflag) {
  2287. var rslt = sysf_messageBox(modStr + "선택된 [ " + chkcnt + " ] 건 중 검사 안내문이 있는 검사가 있습니다.\n예약 후 검사 안내문을 출력하시겠습니까?", "S999", "\r\n예약을 취소하시려면 취소를 누르십시오.");
  2288. if (rslt == 6) { // 예
  2289. infoflag = true;
  2290. } else if (rslt == 7) { // 아니오
  2291. infoflag = false;
  2292. } else { // 취소
  2293. return;
  2294. }
  2295. } else if (sysf_messageBox(modStr + "선택된 [ " + chkcnt + " ] 건의 검사를 예약 하시겠습니까?", "Q999") != 6) {
  2296. return;
  2297. }
  2298. // 칠곡은 예약일정표 자동 출력 기능 사용하지 않음
  2299. if (sysf_getUserInfo("dutplceinstcd") == "032") {
  2300. prtflag = false;
  2301. }
  2302. if (fExecRsrv("rsrv")) {
  2303. if (infoflag) {
  2304. fInfoPrt();
  2305. }
  2306. if (prtflag) {
  2307. fRsrvPrt(ds_send_data.getColumn(0, "pid"));
  2308. }
  2309. fGetExcuList(ds_send_data.getColumn(0, "srchdd"));
  2310. ipt_pid.setFocus();
  2311. }
  2312. lf_delOccupyid();
  2313. }
  2314. function fExecRsrv(flag, row) {
  2315. var rsrvdeptcd = utlf_isNull(frmf_getPrestDeptCd()) ? sysf_getUserInfo("dutplcecd") : frmf_getPrestDeptCd();
  2316. ds_send_rsrv.clearData();
  2317. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  2318. if (!utlf_isNull(row) && i != row) {
  2319. continue;
  2320. }
  2321. if (ds_main_excu.getColumn(i, "chk") != 1) {
  2322. continue;
  2323. }
  2324. var prercptyn = "N";
  2325. if (ds_main_excu.getColumn(i, "aftrcptinfo") == "V" || // 후불 수납환자
  2326. ds_main_excu.getColumn(i, "rcptyn") == "수납" || // 기수납자
  2327. ds_main_excu.getColumn(i, "genrflag") == "S" || // 건진환자
  2328. ds_main_excu.getColumn(i, "genrflag") == "I" || // 입원환자
  2329. ds_main_excu.getColumn(i, "genrflag") == "E") { // 응급환자
  2330. prercptyn = "Y";
  2331. }
  2332. var idx = ds_send_rsrv.addRow();
  2333. ds_send_rsrv.setColumn(idx, "pid", ds_main_excu.getColumn(i, "pid"));
  2334. ds_send_rsrv.setColumn(idx, "excuroomcd", ds_main_excu.getColumn(i, "excuroomcd"));
  2335. ds_send_rsrv.setColumn(idx, "prcpdd", ds_main_excu.getColumn(i, "prcpdd"));
  2336. ds_send_rsrv.setColumn(idx, "execprcpuniqno", ds_main_excu.getColumn(i, "execprcpuniqno"));
  2337. ds_send_rsrv.setColumn(idx, "rsrvflag", ds_main_excu.getColumn(i, "rsrvflag"));
  2338. ds_send_rsrv.setColumn(idx, "rsrvdt", ds_main_excu.getColumn(i, "rsrvdt"));
  2339. ds_send_rsrv.setColumn(idx, "srchrsrvtm", ds_main_excu.getColumn(i, "srchrsrvtm"));
  2340. ds_send_rsrv.setColumn(idx, "prcpkindcd", ds_main_excu.getColumn(i, "prcpkindcd"));
  2341. ds_send_rsrv.setColumn(idx, "excupartcd", ds_main_excu.getColumn(i, "excupartcd"));
  2342. ds_send_rsrv.setColumn(idx, "indd", ds_main_excu.getColumn(i, "indd"));
  2343. ds_send_rsrv.setColumn(idx, "actorddd", ds_main_excu.getColumn(i, "actorddd"));
  2344. ds_send_rsrv.setColumn(idx, "orddeptcd", ds_main_excu.getColumn(i, "orddeptcd"));
  2345. ds_send_rsrv.setColumn(idx, "orddrid", ds_main_excu.getColumn(i, "orddrid"));
  2346. ds_send_rsrv.setColumn(idx, "calcscorcd", ds_main_excu.getColumn(i, "calcscorcd"));
  2347. ds_send_rsrv.setColumn(idx, "execrid", ds_main_excu.getColumn(i, "execrid"));
  2348. ds_send_rsrv.setColumn(idx, "rsrvrem", ds_main_excu.getColumn(i, "rsrvrem"));
  2349. ds_send_rsrv.setColumn(idx, "basesuppdeptcd", ds_main_excu.getColumn(i, "suppdeptcd"));
  2350. ds_send_rsrv.setColumn(idx, "cnclresncd", "");
  2351. ds_send_rsrv.setColumn(idx, "pacsnocretyn", ds_main_excu.getColumn(i, "pacsnocretyn"));
  2352. ds_send_rsrv.setColumn(idx, "rgsttm", ds_main_excu.getColumn(i, "rgsttm"));
  2353. ds_send_rsrv.setColumn(idx, "rgstrid", ds_main_excu.getColumn(i, "rgstrid"));
  2354. ds_send_rsrv.setColumn(idx, "prcpdelivefact", ds_main_excu.getColumn(i, "prcpdelivefact"));
  2355. ds_send_rsrv.setColumn(idx, "orddepthngnm", ds_main_excu.getColumn(i, "orddepthngnm"));
  2356. ds_send_rsrv.setColumn(idx, "prcpnm", ds_main_excu.getColumn(i, "prcpnm"));
  2357. ds_send_rsrv.setColumn(idx, "orddd", ds_main_excu.getColumn(i, "orddd"));
  2358. ds_send_rsrv.setColumn(idx, "rgstdepthngnm", ds_main_excu.getColumn(i, "rgstdepthngnm"));
  2359. ds_send_rsrv.setColumn(idx, "examroomnm", ds_main_excu.getColumn(i, "examroomnm"));
  2360. ds_send_rsrv.setColumn(idx, "bf_srchrsrvtm", ds_main_excu.getColumn(i, "bf_srchrsrvtm"));
  2361. ds_send_rsrv.setColumn(idx, "rsrvflagyn", ds_main_excu.getColumn(i, "rsrvflagyn"));
  2362. ds_send_rsrv.setColumn(idx, "prcpexecdeptcd", ds_main_excu.getColumn(i, "prcpexecdeptcd"));
  2363. ds_send_rsrv.setColumn(idx, "rsrvtmcntlyn", ds_main_excu.getColumn(i, "rsrvtmcntlyn"));
  2364. ds_send_rsrv.setColumn(idx, "rsrvpsnnocntlyn", ds_main_excu.getColumn(i, "rsrvpsnnocntlyn"));
  2365. ds_send_rsrv.setColumn(idx, "excuroom", ds_main_excu.getColumn(i, "excuroom"));
  2366. ds_send_rsrv.setColumn(idx, "telrsrvyn", ds_main_excu.getColumn(i, "telrsrvyn"));
  2367. ds_send_rsrv.setColumn(idx, "eqmtifyn", ds_main_excu.getColumn(i, "eqmtifyn"));
  2368. ds_send_rsrv.setColumn(idx, "glycosyn", ds_main_excu.getColumn(i, "glycosyn"));
  2369. ds_send_rsrv.setColumn(idx, "glycoscure", ds_main_excu.getColumn(i, "glycoscure"));
  2370. ds_send_rsrv.setColumn(idx, "reqhospcd", ds_main_excu.getColumn(i, "reqhospcd"));
  2371. ds_send_rsrv.setColumn(idx, "prcpgenrflag", ds_main_excu.getColumn(i, "prcpgenrflag"));
  2372. ds_send_rsrv.setColumn(idx, "rsrvtmplcd", ds_main_excu.getColumn(i, "rsrvtmplcd"));
  2373. ds_send_rsrv.setColumn(idx, "emryn", ds_main_excu.getColumn(i, "emryn"));
  2374. ds_send_rsrv.setColumn(idx, "timeyn", "N");
  2375. ds_send_rsrv.setColumn(idx, "rsrvsuppdeptcd", rsrvdeptcd);
  2376. ds_send_rsrv.setColumn(idx, "prercptyn", prercptyn);
  2377. ds_send_rsrv.setColumn(idx, "rcptrsrvyn", ds_main_excu.getColumn(i, "rcptrsrvyn"));
  2378. ds_send_rsrv.setColumn(idx, "prcptdayrcptyn", ds_main_excu.getColumn(i, "prcptdayrcptyn"));
  2379. ds_send_rsrv.setColumn(idx, "flag", flag);
  2380. ds_send_rsrv.setColumn(idx, "chkflag", "T");
  2381. }
  2382. var oParam = {};
  2383. oParam.id = "TXAEA02001";
  2384. oParam.service = "examcurersrvapp.SytsRsrv";
  2385. oParam.method = "reqExeSytsRsrv";
  2386. oParam.inds = "req=ds_send_rsrv";
  2387. oParam.async = false;
  2388. oParam.callback = "cf_TXAEA02001";
  2389. oParam.transaction = false;
  2390. tranf_submit(oParam);
  2391. if (arErrorCode.pop("TXAEA02001") > -1) {
  2392. return true;
  2393. } else {
  2394. return false;
  2395. }
  2396. }
  2397. function cf_TXAEA02001(sSvcId, nErrorCode, sErrorMsg) {
  2398. arErrorCode.push(sSvcId, nErrorCode);
  2399. }
  2400. function fSetPtCmt(flag) {
  2401. tar_ptcmt.visible = false;
  2402. btn_savecmt.enable = false;
  2403. btn_delcmt.enable = true;
  2404. btn_addcmt.text = "추가";
  2405. ds_send_ptcmt.setColumn(0, "pid", ds_send_data.getColumn(0, "pid"));
  2406. if (flag) { // 추가 & 수정
  2407. ds_send_ptcmt.setColumn(0, "patcmt", ds_temp.getColumn(0, "ptcmt"));
  2408. } else { // 삭제
  2409. if (sysf_messageBox("선택 항목을 삭제하시겠습니까?", "Q999") != 6) {
  2410. return;
  2411. }
  2412. ds_send_ptcmt.setColumn(0, "cmtdd", ds_main_ptcmt.getColumn(ds_main_ptcmt.rowposition, "cmtdd"));
  2413. ds_send_ptcmt.setColumn(0, "patcmt", "");
  2414. }
  2415. var oParam = {};
  2416. oParam.id = "TXPEA00101";
  2417. oParam.service = "pamexcuapp.PamExcu";
  2418. oParam.method = "reqSetPatCmt";
  2419. oParam.inds = "req=ds_send_ptcmt";
  2420. oParam.outds = "ds_main_ptcmt=cmt";
  2421. oParam.async = false;
  2422. oParam.callback = "cf_TXPEA00101";
  2423. tranf_submit(oParam);
  2424. if (arErrorCode.pop("TXPEA00101") < 0) {
  2425. return;
  2426. }
  2427. if (ds_main_ptcmt.rowcount > 0) {
  2428. ds_main_ptcmt.addColumn("bf_patcmt", "STRING");
  2429. for (var i = 0; i < ds_main_ptcmt.rowcount; i++) {
  2430. ds_main_ptcmt.setColumn(i, "bf_patcmt", ds_main_ptcmt.getColumn(i, "patcmt"));
  2431. }
  2432. btn_delcmt.enable = true;
  2433. } else {
  2434. btn_delcmt.enable = false;
  2435. }
  2436. ds_temp.setColumn(0, "ptcmt", "");
  2437. btn_savecmt.enable = false;
  2438. if (flag) {
  2439. sysf_messageBox("예약 전달 사항이 저장 되었습니다.", "I999");
  2440. }
  2441. }
  2442. function cf_TXPEA00101(sSvcId, nErrorCode, sErrorMsg) {
  2443. arErrorCode.push(sSvcId, nErrorCode);
  2444. }
  2445. function fTopInfo() {
  2446. var patinfo = "S▦"
  2447. + ds_main_excu.getColumn(ds_main_excu.rowposition, "prcpdd") + "▦"
  2448. + ds_main_excu.getColumn(ds_main_excu.rowposition, "execprcpuniqno") + "▦"
  2449. + sysf_getUserInfo("dutplcecd");
  2450. frmf_setParameter("condparam", patinfo);
  2451. frmf_modal("SPMMO08900", "SPMMO08900", null, null, null, null, null, null, null, null, null, null, "M");
  2452. //20200115 고영민 조회환자정보와 상단환자정보 일치 체크 및 팝업
  2453. if(ds_send_data.getColumn(0, "pid") != ds_main_excu.getColumn(ds_main_excu.rowposition, "pid")){
  2454. sysf_messageBox("조회하신 환자정보와 검사내역 및 상단의 환자정보가 다릅니다. 확인 후 진행해 주시기 바랍니다.", "E999");
  2455. }
  2456. //20200420 고영민 부작용 환자 팝업
  2457. if(sysf_getUserInfo("dutplceinstcd") == "032" && appf_getPatientInfo("allergy").substr(0, 1) == "Y"){
  2458. sysf_messageBox("부작용 환자입니다.", "E999");
  2459. }
  2460. }
  2461. function fSmsSend(msgcnts, pid, hngnm, mpphonno, deptcd, gubun){
  2462. ds_send_sms.clearData();
  2463. ds_send_sms.addRow();
  2464. ds_send_sms.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  2465. ds_send_sms.setColumn(0, "data", deptcd);
  2466. ds_send_sms.setColumn(0, "condflag", "4");
  2467. var oParam = {};
  2468. oParam.id = "TRZSU00803";
  2469. oParam.service = "userdeptinfoapp.UserDeptInfo";
  2470. oParam.method = "reqGetDeptPhoneNoPlce";
  2471. oParam.inds = "req=ds_send_sms";
  2472. oParam.outds = "ds_main_sms=deptinfo";
  2473. oParam.async = false;
  2474. oParam.callback = "cf_TRZSU00803";
  2475. tranf_submit(oParam);
  2476. if (arErrorCode.pop("TRZSU00803") < 0) {
  2477. return;
  2478. }
  2479. var calltelno = utlf_transNullToEmpty(ds_main_sms.getColumn(0, "cntctel"));
  2480. ds_main_sms.clearData();
  2481. ds_send_sms.clearData();
  2482. ds_send_sms.addRow();
  2483. ds_send_sms.setColumn(0, "calltype", "msgcall");
  2484. ds_send_sms.setColumn(0, "insuflag", "3");
  2485. ds_send_sms.setColumn(0, "msgcnts", msgcnts);
  2486. ds_send_sms.setColumn(0, "calltelno", calltelno);
  2487. ds_send_rcv.clearData();
  2488. ds_send_rcv.addRow();
  2489. ds_send_rcv.setColumn(0, "usernm", hngnm);
  2490. ds_send_rcv.setColumn(0, "userid", sysf_getUserInfo("userid"));
  2491. ds_send_rcv.setColumn(0, "mpphonno", mpphonno);
  2492. ds_send_rcv.setColumn(0, "pid", pid);
  2493. ds_send_rcv.setColumn(0, "deptcd", deptcd);
  2494. var oParam = {};
  2495. oParam.id = "TXZMI00202";
  2496. oParam.service = "instantmsgapp.InstantMsg";
  2497. oParam.method = "reqExeSendUserMessage";
  2498. oParam.inds = "req=ds_send_sms "
  2499. + "recvr=ds_send_rcv";
  2500. oParam.outds = "ds_main_sms=succnt";
  2501. oParam.async = false;
  2502. oParam.callback = "cf_TXZMI00202";
  2503. tranf_submit(oParam);
  2504. if (arErrorCode.pop("TXZMI00202") < 0) {
  2505. return;
  2506. }
  2507. }
  2508. function cf_TRZSU00803(sSvcId, nErrorCode, sErrorMsg) {
  2509. arErrorCode.push(sSvcId, nErrorCode);
  2510. }
  2511. function cf_TXZMI00202(sSvcId, nErrorCode, sErrorMsg) {
  2512. arErrorCode.push(sSvcId, nErrorCode);
  2513. }
  2514. function fRsrvPrt(pid) {
  2515. var oParam = {};
  2516. oParam.id = "TRPEA00104";
  2517. oParam.service = "pamexcuapp.PamExcu";
  2518. oParam.method = "reqGetRsrvPrtInfo";
  2519. oParam.inds = "req=ds_send_data";
  2520. oParam.outds = "ds_prnt=prt";
  2521. oParam.async = false;
  2522. oParam.callback = "cf_TRPEA00104";
  2523. tranf_submit(oParam);
  2524. if (arErrorCode.pop("TRPEA00104") < 0) {
  2525. return;
  2526. }
  2527. ds_prnt.addColumn("dutplcecd", "STRING");
  2528. var instcd = sysf_getUserInfo("dutplceinstcd");
  2529. for (var i = 0; i < ds_prnt.rowcount; i++) {
  2530. ds_prnt.setColumn(i, "dutplcecd", sysf_getUserInfo("dutplcecd"));
  2531. if (instcd == "031" && !utlf_isNull(ds_prnt.getColumn(0, "rsrvtelno")) && i > 0) {
  2532. ds_prnt.setColumn(i, "rsrvtelno", ds_prnt.getColumn(0, "rsrvtelno"));
  2533. }
  2534. dsf_makeValue(ds_prnt, "daykr", "string", utlf_getDayKor(ds_prnt.getColumn(i, "rsrvdt").substr(0,8)), i);
  2535. }
  2536. var objDOM = rptf_createDOM();
  2537. // 데이터셋
  2538. rptf_setNodeListToDOM(objDOM, "root/hidden/prtlist/prtinfo", ds_prnt);
  2539. var objParam = new Object();
  2540. // 최상의노드 XML 스트링 추출
  2541. objParam.xml_data_XML1 = objDOM.documentElement.source;
  2542. // 칠곡은 버튼 클릭시 바로 출력
  2543. if (instcd == "032") {
  2544. rptf_exeReportPreview30(["RPPEA00102"],[objParam], "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;");
  2545. } else {
  2546. rptf_exeReportPreview30(["RPPEA00101"],[objParam], "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0;");
  2547. }
  2548. }
  2549. function cf_TRPEA00104(sSvcId, nErrorCode, sErrorMsg) {
  2550. arErrorCode.push(sSvcId, nErrorCode);
  2551. }
  2552. function fInfoPrt() {
  2553. var tmplArr = new Array();
  2554. var prtcnt = 0;
  2555. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  2556. // 예약시 자동으로 검사 안내문을 출력하는 경우
  2557. if (i != EXCU_SEL_ROW && ds_main_excu.getColumn(i, "chk") != 1) {
  2558. continue;
  2559. }
  2560. var tmpldata = utlf_transNullToEmpty(ds_main_excu.getColumn(i, "tmpldata"));
  2561. if (tmpldata == "") {
  2562. continue;
  2563. }
  2564. var flag = true;
  2565. for (var j = 0; j < tmplArr.length; j++) {
  2566. if (tmpldata == tmplArr[j]) {
  2567. flag = false;
  2568. break;
  2569. }
  2570. }
  2571. if (!flag) {
  2572. continue;
  2573. }
  2574. tmplArr[tmplArr.length] = tmpldata;
  2575. // rtfviewer.OpenProgressBar(1);
  2576. var rsrvdt = utlf_transNullToEmpty(ds_main_excu.getColumn(i, "srchrsrvtm"));
  2577. if (rsrvdt == "") {
  2578. continue;
  2579. }
  2580. var prcpnm = ds_main_excu.getColumn(i, "prcpnm");
  2581. var roomnm = utlf_transNullToEmpty(ds_main_excu.getColumn(i, "examroomnm"));
  2582. var rcptyn = ds_main_excu.getColumn(i, "rcptyn");
  2583. var vacntno = "";
  2584. var yyyy = rsrvdt.substr(0, 4);
  2585. var month = rsrvdt.substr(4, 2);
  2586. var dd = rsrvdt.substr(6, 2);
  2587. var hh = rsrvdt.substr(8, 2);
  2588. var mm = rsrvdt.substr(10, 2);
  2589. var week = rsrvdt.substr(0, 8).toDate().getDayOfWeek("K");
  2590. if (Number(hh) > 12) {
  2591. hh = "오후 " + String(Number(hh) - 12);
  2592. } else {
  2593. hh = "오전 " + hh;
  2594. }
  2595. var nextdd = ((rsrvdt.substr(0, 8)).toDate()).getAddDate(1).getDateFormat();
  2596. var yyyy2 = nextdd.substr(0, 4);
  2597. var month2 = nextdd.substr(4, 2);
  2598. var dd2 = nextdd.substr(6, 2);
  2599. tmpldata = tmpldata.replace(/\r\n/g, "\n");
  2600. rtfviewer.TextRtf = tmpldata;
  2601. rtfviewer.ReplaceRtfCode("pid", ds_send_data.getColumn(0, "pid"));
  2602. rtfviewer.ReplaceRtfCode("patnm", ds_main_pt.getColumn(0, "hngnm"));
  2603. rtfviewer.ReplaceRtfCode("roomcd", roomnm + ( ds_main_excu.getColumn(i, "slepyn") == "Y" ? " (수면)" : "" ));
  2604. rtfviewer.ReplaceRtfCode("year", yyyy);
  2605. rtfviewer.ReplaceRtfCode("month", month);
  2606. rtfviewer.ReplaceRtfCode("day", dd);
  2607. rtfviewer.ReplaceRtfCode("week", week);
  2608. rtfviewer.ReplaceRtfCode("hh", hh);
  2609. rtfviewer.ReplaceRtfCode("mm", mm);
  2610. rtfviewer.ReplaceRtfCode("age", ds_main_pt.getColumn(0, "age"));
  2611. rtfviewer.ReplaceRtfCode("sex", ds_main_pt.getColumn(0, "sex"));
  2612. rtfviewer.ReplaceRtfCode("orddeptcd", ds_main_excu.getColumn(i, "orddepthngnm"));
  2613. rtfviewer.ReplaceRtfCode("orddrid", ds_main_excu.getColumn(i, "orddrnm"));
  2614. rtfviewer.ReplaceRtfCode("excucdnm", ds_main_excu.getColumn(i, "excucdnm"));
  2615. rtfviewer.ReplaceRtfCode("yr1", yyyy);
  2616. rtfviewer.ReplaceRtfCode("mn1", month);
  2617. rtfviewer.ReplaceRtfCode("dy1", dd);
  2618. rtfviewer.ReplaceRtfCode("yr2", yyyy2);
  2619. rtfviewer.ReplaceRtfCode("mn2", month2);
  2620. rtfviewer.ReplaceRtfCode("dy2", dd2);
  2621. rtfviewer.ReplaceRtfCode("hh2", "");
  2622. rtfviewer.ReplaceRtfCode("mm2", "");
  2623. rtfviewer.Print();
  2624. // rtfviewer.CloseProgressBar();
  2625. prtcnt++;
  2626. }
  2627. if (prtcnt < 1) {
  2628. sysf_messageBox("출력할 내역이 없습니다.", "E999");
  2629. }
  2630. }
  2631. function fShowPrivacyMsg() {
  2632. var msg = "요청자 : " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "request")) + " " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "requestetc")) + "\n"
  2633. + "요청대상 : " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "target")) + " " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "targetetc")) + "\n"
  2634. + "요청내용 : " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "type")) + " " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "typeetc")) + "\n"
  2635. + "비고 : " + utlf_transNullToEmpty(ds_main_pt.getColumn(0, "rmk")) + "\n\n"
  2636. + "위 내용의 취급에 주의하십시오.";
  2637. sysf_messageBox(msg, "I999");
  2638. }
  2639. function fPseuRsrvInfo() {
  2640. if (ds_init_pseu.getCaseCount("cdid == '" + ds_main_excu.getColumn(EXCU_SEL_ROW, "calcscorcd") + "'") < 1) {
  2641. sysf_messageBox("해당 검사는 추가 검사 가능 항목이 아닙니다.", "E999");
  2642. return;
  2643. }
  2644. if (ds_main_excu.getColumn(EXCU_SEL_ROW, "rsrvflagyn") != "예약") {
  2645. sysf_messageBox("추가 검사 예약은 해당 검사 예약 후 가능합니다.", "E999");
  2646. return;
  2647. }
  2648. frmf_setParameter("menuparam", "");
  2649. frmf_setParameter("suppdeptcd", ""); // 임시 예약은 핵의학과로 고정
  2650. frmf_setParameter("excuroomgrp", ds_main_excu.getColumn(EXCU_SEL_ROW, "basecdcnts"));
  2651. ds_hidden_pseu.setColumn(0, "seq", "");
  2652. ds_hidden_pseu.setColumn(0, "menuparam", "R");
  2653. ds_hidden_pseu.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  2654. ds_hidden_pseu.setColumn(0, "suppdeptcd", ds_main_excu.getColumn(EXCU_SEL_ROW, "suppdeptcd"));
  2655. ds_hidden_pseu.setColumn(0, "excuroomcd", ds_main_excu.getColumn(EXCU_SEL_ROW, "excuroomcd"));
  2656. ds_hidden_pseu.setColumn(0, "calcscorcd", ds_main_excu.getColumn(EXCU_SEL_ROW, "calcscorcd"));
  2657. ds_hidden_pseu.setColumn(0, "rsrvdt", ds_main_excu.getColumn(EXCU_SEL_ROW, "rsrvdt"));
  2658. ds_hidden_pseu.setColumn(0, "pid", ds_main_excu.getColumn(EXCU_SEL_ROW, "pid"));
  2659. ds_hidden_pseu.setColumn(0, "hngnm", ds_main_pt.getColumn(0, "hngnm"));
  2660. ds_hidden_pseu.setColumn(0, "age", ds_main_pt.getColumn(0, "age"));
  2661. ds_hidden_pseu.setColumn(0, "sex", ds_main_pt.getColumn(0, "sex"));
  2662. ds_hidden_pseu.setColumn(0, "rrgstno1", ds_main_pt.getColumn(0, "rrgstno").substr(0, 6));
  2663. ds_hidden_pseu.setColumn(0, "rrgstno2", ds_main_pt.getColumn(0, "rrgstno").substr(6, 1));
  2664. var objArg = new Object();
  2665. objArg.arg_ds_pseu = ds_hidden_pseu;
  2666. frmf_modal("SPAEA02201", "SPAEA02201", objArg, "", "1", "", "", "", "", "", "", "", "M");
  2667. }
  2668. function fSetPtCmtExt(collapse) {
  2669. if (collapse || btn_ptcmtex.style.background.image == "URL('theme://images\\icon_shuttleTop_N.png')") {
  2670. grd_ptcmt.position.width = 330;
  2671. grd_ptcmt.position.height = 105;
  2672. grd_ptcmt.setFormatColProperty(1, "size", 0);
  2673. grd_ptcmt.setFormatColProperty(2, "size", 260);
  2674. if (grd_ptcmt.getRealRowFullSize() < grd_ptcmt.position.height) {
  2675. grd_ptcmt.setFormatColProperty(2, "size", 260);
  2676. } else {
  2677. grd_ptcmt.setFormatColProperty(2, "size", 244);
  2678. }
  2679. tar_ptcmt.position.width = 310;
  2680. tar_ptcmt.position.height = 85;
  2681. btn_ptcmtex.style.background.image = "URL('theme://images\\icon_shuttleBottom_N.png')";
  2682. } else {
  2683. grd_ptcmt.position.width = 730;
  2684. grd_ptcmt.position.height = 325;
  2685. grd_ptcmt.setFormatColProperty(1, "size", 60);
  2686. if (grd_ptcmt.getRealRowFullSize() < grd_ptcmt.position.height) {
  2687. grd_ptcmt.setFormatColProperty(2, "size", 610);
  2688. } else {
  2689. grd_ptcmt.setFormatColProperty(2, "size", 594);
  2690. }
  2691. tar_ptcmt.position.width = 710;
  2692. tar_ptcmt.position.height = 305;
  2693. btn_ptcmtex.style.background.image = "URL('theme://images\\icon_shuttleTop_N.png')";
  2694. }
  2695. }
  2696. function fSetRmrvExt(collapse) {
  2697. if (collapse || btn_rmrvex.style.background.image == "URL('theme://images\\icon_shuttleRight_N.png')") {
  2698. grd_rmrv.position.left = caption15.position.x = grd_calendar.position.right + 5;
  2699. caption11.visible = true;
  2700. caption1.visible = true;
  2701. cmb_roomgrp.visible = true;
  2702. btn_temprsrv.visible = true;
  2703. cap_statdesc.visible = true;
  2704. cmb_statflag.visible = true;
  2705. btn_rmrvex.style.background.image = "URL('theme://images\\icon_shuttleLeft_N.png')";
  2706. } else {
  2707. grd_rmrv.position.left = 0;
  2708. caption15.position.x = 0;
  2709. caption11.visible = false;
  2710. caption1.visible = false;
  2711. cmb_roomgrp.visible = false;
  2712. btn_temprsrv.visible = false;
  2713. cap_statdesc.visible = false;
  2714. cmb_statflag.visible = false;
  2715. btn_rmrvex.style.background.image = "URL('theme://images\\icon_shuttleRight_N.png')";
  2716. }
  2717. }
  2718. function fSetExcuExt(collapse) {
  2719. if (collapse || btn_excuex.style.background.image == "URL('theme://images\\icon_shuttleTop_N.png')") {
  2720. grd_excu.position.bottom = chk_totflag.position.bottom;
  2721. btn_excuex.style.background.image = "URL('theme://images\\icon_shuttleBottom_N.png')";
  2722. } else {
  2723. grd_excu.position.bottom = grd_calendar.position.bottom;
  2724. btn_excuex.style.background.image = "URL('theme://images\\icon_shuttleTop_N.png')";
  2725. }
  2726. }
  2727. function fInitRsrvCtrl() {
  2728. btn_rsrv.enable = true;
  2729. btn_cncl.enable = true;
  2730. ds_ctrl_main.clearData();
  2731. ds_ctrl_temp.clearData();
  2732. ds_temp_pmsg.clearData();
  2733. ds_ctrl_send.clear();
  2734. ds_ctrl_send.addColumn("srchdd", "STRING"); // 조회 기준일
  2735. ds_ctrl_send.addColumn("instcd", "STRING"); // 기관코드
  2736. ds_ctrl_send.addColumn("userid", "STRING"); // 사용자 ID
  2737. ds_ctrl_send.addColumn("userdept", "STRING"); // 사용자 부서
  2738. ds_ctrl_send.addColumn("rsrvplce", "STRING"); // 예약처
  2739. ds_ctrl_send.addColumn("age", "STRING"); // 나이
  2740. ds_ctrl_send.addColumn("creatine", "STRING"); // Creatine 수치
  2741. ds_ctrl_send.addColumn("rsrvdd", "STRING"); // 예약일
  2742. ds_ctrl_send.addColumn("rsrvtm", "STRING"); // 예약 시각
  2743. ds_ctrl_send.addColumn("stat", "STRING"); // 예약 현황
  2744. ds_ctrl_send.addColumn("capastat", "STRING"); // 가용 현황
  2745. ds_ctrl_send.addColumn("tmflag", "STRING"); // 이전 검사 종료 여부
  2746. ds_ctrl_send.addColumn("excapastat", "STRING"); // 본인 제외 가용 현황
  2747. ds_ctrl_send.addColumn("nextavtm", "STRING"); // 가용 시간
  2748. ds_ctrl_send.addColumn("ertmflag", "STRING"); // 긴급 시각 여부
  2749. ds_ctrl_send.addColumn("excucd", "STRING"); // 검사 코드
  2750. ds_ctrl_send.addColumn("ordtype", "STRING"); // 진료 형태
  2751. // 환자 정보 그리드의 항목 전부 추가
  2752. for (var i = 0; i < ds_main_pt.colcount; i++) {
  2753. var ref = ds_main_excu.getColID(i);
  2754. if (utlf_isNull(ds_ctrl_send.getColumnInfo(ref))) {
  2755. ds_ctrl_send.addColumn(ref, "STRING");
  2756. }
  2757. }
  2758. // 검사 내역 그리드의 항목 전부 추가
  2759. for (var i = 0; i < ds_main_excu.colcount; i++) {
  2760. var ref = ds_main_excu.getColID(i);
  2761. if (utlf_isNull(ds_ctrl_send.getColumnInfo(ref))) {
  2762. ds_ctrl_send.addColumn(ref, "STRING");
  2763. }
  2764. }
  2765. }
  2766. // 예약 제어 정보 조회
  2767. function fGetRsrvCtrlList(pRow, pExcuRoomCd, pRsrvDd, pRsrvTm) {
  2768. // 호출 시점
  2769. // 1. 검사 선택
  2770. // 2. 검사실 선택
  2771. // 3. 예약일 선택
  2772. // 4. 예약 시각 선택 (연속 예약 포함)
  2773. // 5. 예약 시각 직접 변경 후
  2774. // 6. 멀티 예약 창이 닫힌 후
  2775. // 7. 체크 변경 (검사실과 예약일시가 모두 입력된 경우)
  2776. if (ds_main_excu.rowcount < 1) {
  2777. return;
  2778. }
  2779. ds_ctrl_send.clearData();
  2780. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  2781. if (i != pRow && ds_main_excu.getColumn(i, "chk") != 1) {
  2782. continue;
  2783. }
  2784. var idx = ds_ctrl_send.addRow();
  2785. ds_ctrl_send.setColumn(idx, "srchdd", utlf_getCurrentDate()); // 조회 기준일
  2786. ds_ctrl_send.setColumn(idx, "instcd", sysf_getUserInfo("dutplceinstcd")); // 기관코드
  2787. ds_ctrl_send.setColumn(idx, "userid", sysf_getUserId()); // 사용자 ID
  2788. ds_ctrl_send.setColumn(idx, "userdept", sysf_getUserInfo("dutplcecd")); // 사용자 부서
  2789. ds_ctrl_send.setColumn(idx, "rsrvplce", RSRV_PLCE); // 예약처
  2790. ds_ctrl_send.setColumn(idx, "age", ds_main_pt.getColumn(0, "age")); // 나이
  2791. ds_ctrl_send.setColumn(idx, "creatine", ds_main_pt.getColumn(0, "creatine")); // Creatine 수치
  2792. // 검사 내역 항목
  2793. for (var j = 0; j < ds_main_pt.colcount; j++) {
  2794. var ref = ds_main_pt.getColID(j);
  2795. if (!utlf_isNull(ds_ctrl_send.getColumnInfo(ref))) {
  2796. ds_ctrl_send.setColumn(idx, ref, ds_main_pt.getColumn(i, ref));
  2797. }
  2798. }
  2799. // 검사 내역 항목
  2800. for (var j = 0; j < ds_main_excu.colcount; j++) {
  2801. var ref = ds_main_excu.getColID(j);
  2802. if (!utlf_isNull(ds_ctrl_send.getColumnInfo(ref))) {
  2803. ds_ctrl_send.setColumn(idx, ref, ds_main_excu.getColumn(i, ref));
  2804. }
  2805. }
  2806. ds_ctrl_send.setColumn(idx, "excucd", ds_main_excu.getColumn(i, "calcscorcd")); // 칼럼 보정 (검사 코드)
  2807. ds_ctrl_send.setColumn(idx, "ordtype", ds_main_excu.getColumn(i, "genrflag")); // 칼럼 보정 (진료 형태)
  2808. // 가셔야할 곳 조회를 막기 위한 값 설정
  2809. ds_ctrl_send.setColumn(idx, "rsrvplceflag", "");
  2810. // 예약 가능 검사실 처리
  2811. if (utlf_isNull(ds_ctrl_send.getColumn(idx, "rsrvexcuroomposscd"))) {
  2812. ds_ctrl_send.setColumn(idx, "rsrvexcuroomposscd", ds_ctrl_send.getColumn(idx, "excuroomnm"));
  2813. }
  2814. // 검사실 설정
  2815. if (!utlf_isNull(pExcuRoomCd)) {
  2816. ds_ctrl_send.setColumn(idx, "excuroomcd", pExcuRoomCd);
  2817. }
  2818. // 예약일, 예약 시각 설정
  2819. var rsrvdd = "";
  2820. var rsrvtm = "";
  2821. var srchrsrvtm = utlf_transNullToEmpty(ds_main_excu.getColumn(i, "srchrsrvtm"));
  2822. var excutm = utlf_transNullToEmpty(ds_main_excu.getColumn(i, "excutm"));
  2823. if (!utlf_isNull(pRsrvDd)) {
  2824. rsrvdd = pRsrvDd;
  2825. } else if (srchrsrvtm.length == 12) {
  2826. rsrvdd = srchrsrvtm.substr(0, 8);
  2827. }
  2828. if (!utlf_isNull(pRsrvTm)) {
  2829. rsrvtm = pRsrvTm;
  2830. } else if (srchrsrvtm.length == 12) {
  2831. rsrvtm = srchrsrvtm.substr(8, 4);
  2832. }
  2833. ds_ctrl_send.setColumn(idx, "rsrvdd", rsrvdd); // 예약일
  2834. ds_ctrl_send.setColumn(idx, "rsrvtm", rsrvtm); // 예약시각
  2835. ds_ctrl_send.setColumn(idx, "stat", "0"); // 예약 현황
  2836. ds_ctrl_send.setColumn(idx, "capastat", "9"); // 가용 현황
  2837. ds_ctrl_send.setColumn(idx, "tmflag", ""); // 이전 검사 종료 여부
  2838. ds_ctrl_send.setColumn(idx, "excapastat", "9"); // 본인 제외 가용 현황
  2839. ds_ctrl_send.setColumn(idx, "nextavtm", "0"); // 가용 시간
  2840. ds_ctrl_send.setColumn(idx, "ertmflag", "N"); // 긴급 시각 여부
  2841. for (var j = 0; j < ds_main_rmrv.rowcount; j++) {
  2842. if (ds_main_rmrv.getColumn(j, "rsrvtm") != rsrvtm) {
  2843. continue;
  2844. }
  2845. // 예약 현황
  2846. var stat = Number(ds_main_rmrv.getColumn(j, "stat"));
  2847. ds_ctrl_send.setColumn(idx, "stat", stat);
  2848. // 가용 현황
  2849. var capa = Number(ds_main_rmrv.getColumn(j, "capa"));
  2850. ds_ctrl_send.setColumn(idx, "capastat", capa - stat);
  2851. // 이전 검사 종료 여부
  2852. var tmflag = ds_main_rmrv.getColumn(j, "tmflag");
  2853. ds_ctrl_send.setColumn(idx, "tmflag", tmflag);
  2854. if (!utlf_isNull(rsrvtm)) {
  2855. // 본인 제외 가용 현황
  2856. var excnt = ds_main_rmrv.getCaseCount("rsrvtm == '" + rsrvtm + "' && pid == '" + ds_main_excu.getColumn(i, "pid") + "'");
  2857. ds_ctrl_send.setColumn(idx, "excapastat", capa - stat + excnt);
  2858. // 가용 시간
  2859. for (var k = 0; k < ds_main_rmrv.rowcount; k++) {
  2860. var nexttm = ds_main_rmrv.getColumn(k, "rsrvtm");
  2861. if (nexttm > Number(rsrvtm) && ds_main_rmrv.getColumn(k, "stat") != "0") {
  2862. ds_ctrl_send.setColumn(idx, "nextavtm", fGetMinInterval(nexttm, rsrvtm));
  2863. break;
  2864. }
  2865. if (k == ds_main_rmrv.rowcount - 1) {
  2866. ds_ctrl_send.setColumn(idx, "nextavtm", fGetMinInterval(nexttm, rsrvtm));
  2867. }
  2868. }
  2869. }
  2870. // 긴급 시각 여부
  2871. ds_ctrl_send.setColumn(idx, "ertmflag", ds_main_rmrv.getColumn(j, "ertmflag"));
  2872. }
  2873. // 검사종료예상시간
  2874. dsf_makeValue(ds_ctrl_send, "excuendtm", "string", fCalcTime(rsrvtm, excutm), idx);
  2875. dsf_makeValue(ds_ctrl_send, "etc", "string", "");
  2876. }
  2877. if (ds_ctrl_send.rowcount < 1) {
  2878. return;
  2879. }
  2880. var oParam = {};
  2881. oParam.id = "TRPEA00210";
  2882. oParam.service = "pamexcuapp.RsrvCtrl";
  2883. oParam.method = "reqGetRsrvControlList";
  2884. oParam.inds = "req=ds_ctrl_send";
  2885. oParam.outds = "ds_ctrl_temp=ctrl "
  2886. + "ds_ctrl_term=term";
  2887. oParam.async = false;
  2888. oParam.callback = "cf_TRPEA00210";
  2889. tranf_submit(oParam);
  2890. if (arErrorCode.pop("TRPEA00210") < 0) {
  2891. return;
  2892. }
  2893. var cnt = 0;
  2894. for (var i = 0; i < ds_ctrl_temp.rowcount; i++) {
  2895. if (!utlf_isNull(ds_ctrl_temp.getColumn(i, "ctrldesc"))) {
  2896. cnt++;
  2897. }
  2898. }
  2899. //검사 제어 팝업 메세지 호출 되도록 그리드 비교 구문 주석 처리 20200225 임승주
  2900. /*
  2901. var flag = false;
  2902. // 데이터 확인 후 기존 데이터와 달라졌을 경우만 그리드에 새로 표시
  2903. if (cnt == ds_ctrl_main.rowcount) {
  2904. for (var i = 0; i < ds_ctrl_temp.rowcount; i++) {
  2905. if (utlf_isNull(ds_ctrl_temp.getColumn(i, "ctrldesc")))
  2906. {
  2907. continue;
  2908. }
  2909. if (ds_ctrl_main.getCaseCount("rsrvplce == '" + ds_ctrl_temp.getColumn(i, "rsrvplce") + "' && "
  2910. + "suppdeptcd == '" + ds_ctrl_temp.getColumn(i, "suppdeptcd") + "' && "
  2911. + "excuroomcd == '" + ds_ctrl_temp.getColumn(i, "excuroomcd") + "' && "
  2912. + "excucd == '" + ds_ctrl_temp.getColumn(i, "excucd") + "' && "
  2913. + "ctrlseq == '" + ds_ctrl_temp.getColumn(i, "ctrlseq") + "' && "
  2914. + "ctrlflag == '" + ds_ctrl_temp.getColumn(i, "ctrlflag") + "' && "
  2915. + "appflag == '" + ds_ctrl_temp.getColumn(i, "appflag") + "'") < 1) {
  2916. flag = true;
  2917. break;
  2918. }
  2919. }
  2920. } else {
  2921. flag = true;
  2922. }
  2923. if (!flag) {
  2924. return;
  2925. }*/
  2926. ds_ctrl_main.clearData();
  2927. for (var i = 0; i < ds_ctrl_temp.rowcount; i++) {
  2928. // 제어 내역 설명이 없는 행은 표시하지 않음
  2929. if (utlf_isNull(ds_ctrl_temp.getColumn(i, "ctrldesc"))) {
  2930. continue;
  2931. }
  2932. var idx = ds_ctrl_main.addRow();
  2933. ds_ctrl_main.setColumn(idx, "rsrvplce", ds_ctrl_temp.getColumn(i, "rsrvplce"));
  2934. ds_ctrl_main.setColumn(idx, "suppdeptcd", ds_ctrl_temp.getColumn(i, "suppdeptcd"));
  2935. ds_ctrl_main.setColumn(idx, "excuroomcd", ds_ctrl_temp.getColumn(i, "excuroomcd"));
  2936. ds_ctrl_main.setColumn(idx, "excucd", ds_ctrl_temp.getColumn(i, "excucd"));
  2937. ds_ctrl_main.setColumn(idx, "ctrlseq", ds_ctrl_temp.getColumn(i, "ctrlseq"));
  2938. ds_ctrl_main.setColumn(idx, "ctrldesc", ds_ctrl_temp.getColumn(i, "ctrldesc"));
  2939. ds_ctrl_main.setColumn(idx, "ctrlflag", ds_ctrl_temp.getColumn(i, "ctrlflag"));
  2940. ds_ctrl_main.setColumn(idx, "appflag", ds_ctrl_temp.getColumn(i, "appflag"));
  2941. }
  2942. // 제어 적용 예외 여부
  2943. var excpflag = ds_init_code.getCaseCount("cdgrupid == 'PK087' && cdid == '" + sysf_getUserId() + "'") > 0 ? true : false;
  2944. trace("excpflag" + excpflag);
  2945. var rsrvCtrlFlag = true;
  2946. // 제어 적용
  2947. for (var i = 0; i < ds_ctrl_main.rowcount; i++) {
  2948. var appflag = ds_ctrl_main.getColumn(i, "appflag") == "Y" ? true : false;
  2949. var ctrlflag = ds_ctrl_main.getColumn(i, "ctrlflag");
  2950. trace("appflag : " + appflag);
  2951. trace("ctrlflag : " + ctrlflag);
  2952. trace(ctrlflag.indexOf("R"));
  2953. if (ctrlflag.indexOf("R") >= 0) { // 예약 제한
  2954. if (!excpflag && appflag) {
  2955. rsrvCtrlFlag = false;
  2956. }
  2957. }
  2958. if (ctrlflag.indexOf("C") >= 0) { // 취소 제한
  2959. if (!excpflag && appflag) {
  2960. btn_cncl.enable = false;
  2961. }
  2962. }
  2963. //trace("1. 통합예약담당자 관련 ctrlflag : "+ctrlflag + " / rsrvCtrlFlag : "+rsrvCtrlFlag );
  2964. if (ctrlflag.indexOf("T") >= 0) { // 통합 예약
  2965. //trace("1-1. 통합예약담당자 관련 ds_init_code : "+ds_init_code.saveXML()+ " / "+sysf_getUserId());
  2966. // 통합 예약 담당 적용
  2967. if (ds_init_code.getCaseCount("cdgrupid == 'P0127' && cdid == '" + sysf_getUserId() + "'") > 0) {
  2968. appflag = false;
  2969. }
  2970. if (!excpflag && appflag) {
  2971. rsrvCtrlFlag = false;
  2972. }
  2973. }
  2974. //trace("2. 통합예약담당자 관련 rsrvCtrlFlag : "+rsrvCtrlFlag );
  2975. if (ctrlflag.indexOf("P") >= 0) { // 팝업 메시지
  2976. if (appflag) {
  2977. for (var j = 0; j < ds_ctrl_term.rowcount; j++) {
  2978. // 제어항 확인
  2979. if (ds_ctrl_term.getColumn(j, "rsrvplce") == ds_ctrl_main.getColumn(i, "rsrvplce") &&
  2980. ds_ctrl_term.getColumn(j, "suppdeptcd") == ds_ctrl_main.getColumn(i, "suppdeptcd") &&
  2981. ds_ctrl_term.getColumn(j, "excuroomcd") == ds_ctrl_main.getColumn(i, "excuroomcd") &&
  2982. ds_ctrl_term.getColumn(j, "excucd") == ds_ctrl_main.getColumn(i, "excucd") &&
  2983. ds_ctrl_term.getColumn(j, "itemtype") == "C" &&
  2984. ds_ctrl_term.getColumn(j, "itemid") == "POPUP") {
  2985. var msg = ds_ctrl_term.getColumn(j, "valnm");
  2986. //검사 제어 팝업 메세지 호출 되도록 주석 처리 20200225 임승주
  2987. /*
  2988. if (ds_temp_pmsg.findRow("msg", msg) > -1) {
  2989. continue;
  2990. }*/
  2991. if(ds_ctrl_term.getColumn(j, "itemid") == "POPUP" && ds_temp_pmsg.findRow("ctrlseq", ds_ctrl_term.getColumn(j, "ctrlseq")) == -1){
  2992. ds_temp_pmsg.addRow();
  2993. ds_temp_pmsg.setColumn(ds_temp_pmsg.rowcount - 1, "msg", msg);
  2994. ds_temp_pmsg.setColumn(ds_temp_pmsg.rowcount - 1, "ctrlseq", ds_ctrl_term.getColumn(j, "ctrlseq"));
  2995. }
  2996. }
  2997. }
  2998. //20200514 고영민 팝업갯수 2개 이상 모두 팝업되도록
  2999. var popupmsg = "";
  3000. for(var m = 0; m < ds_temp_pmsg.rowcount; m++){
  3001. if(popupmsg == "") popupmsg += ds_temp_pmsg.getColumn(m, "msg");
  3002. else{
  3003. popupmsg += "\n---------------------------------------------------------------------\n" + ds_temp_pmsg.getColumn(m, "msg");
  3004. }
  3005. }
  3006. if (sysf_getUserInfo("dutplceinstcd") == "031") {
  3007. div_msg.tar_alertmsg.value = popupmsg.trim();
  3008. div_msg.visible = true;
  3009. } else {
  3010. sysf_messageBox(popupmsg.trim(), "E999");
  3011. }
  3012. }
  3013. }
  3014. }
  3015. ds_ctrl_main.rowposition = 0;
  3016. //trace("rsrvCtrlFlag : "+rsrvCtrlFlag) ;
  3017. // 예약 버튼에 제어 적용
  3018. btn_rsrv.enable = rsrvCtrlFlag;
  3019. }
  3020. function cf_TRPEA00210(sSvcId, nErrorCode, sErrorMsg) {
  3021. arErrorCode.push(sSvcId, nErrorCode);
  3022. }
  3023. function fSetCtrlBGColor(row) {
  3024. var color = "#ffffff";
  3025. var ctrlflag = ds_ctrl_main.getColumn(row, "ctrlflag");
  3026. if (ctrlflag.indexOf("R") >= 0 || ctrlflag.indexOf("C") >= 0) { // 예약 제한 && 취소 제한
  3027. color = "#ffffa0";
  3028. } else if (ctrlflag.indexOf("T") >= 0) { // 통합 예약
  3029. color = "#ffdcdc";
  3030. } else if (ctrlflag.indexOf("P") >= 0) { // 팝업 메시지
  3031. color = "#ebebff";
  3032. }
  3033. return color;
  3034. }
  3035. function fSetCtrlFont(row) {
  3036. var str = "돋움,9";
  3037. var appflag = ds_ctrl_main.getColumn(row, "appflag") == "Y" ? true : false;
  3038. var ctrlflag = ds_ctrl_main.getColumn(row, "ctrlflag");
  3039. if (ctrlflag.indexOf("R") >= 0 || ctrlflag.indexOf("C") >= 0 || ctrlflag.indexOf("T") >= 0) {
  3040. if (appflag) {
  3041. str = "돋움,9,bold";
  3042. }
  3043. }
  3044. return str;
  3045. }
  3046. function fGetMinInterval(pVal1, pVal2) {
  3047. var str1Front = pVal1.substr(0, 2);
  3048. var str1Rear = pVal1.substr(2, 2);
  3049. var val1 = Number(str1Front) * 60 + Number(str1Rear);
  3050. var str2Front = pVal2.substr(0, 2);
  3051. var str2Rear = pVal2.substr(2, 2);
  3052. var val2 = Number(str2Front) * 60 + Number(str2Rear);
  3053. return val1 - val2;
  3054. }
  3055. function fSetExcuEndTime() {
  3056. var startTm = "";
  3057. var tmSum = 0;
  3058. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3059. if (i == EXCU_SEL_ROW || ds_main_excu.getColumn(i, "chk") == 1) {
  3060. var excutm = ds_main_excu.getColumn(i, "excutm");
  3061. if (!utlf_isNull(excutm) && String(excutm).isNumber()) {
  3062. tmSum += Number(excutm);
  3063. }
  3064. if (startTm == "" && !utlf_isNull(ds_main_excu.getColumn(i, "srchrsrvtm"))) {
  3065. startTm = ds_main_excu.getColumn(i, "srchrsrvtm").substr(8, 4);
  3066. }
  3067. }
  3068. }
  3069. var endTm = "";
  3070. if (startTm.isNumber()) {
  3071. endTm = ( parseInt(startTm / 100) + parseInt(tmSum / 60) + parseInt( ( startTm % 100 + tmSum % 60 ) / 60) ) * 100
  3072. + ( startTm % 100 + tmSum % 60 ) % 60;
  3073. }
  3074. endTm = endTm < 1000 ? "0" + endTm : String(endTm);
  3075. if (tmSum > 0) {
  3076. ds_temp.setColumn(0, "tmsum", parseInt(tmSum / 60) + ":" + ( tmSum % 60 ));
  3077. ds_temp.setColumn(0, "endtm", endTm.substr(0, 2) + ":" + endTm.substr(2, 2));
  3078. } else {
  3079. ds_temp.setColumn(0, "tmsum", "");
  3080. ds_temp.setColumn(0, "endtm", "");
  3081. }
  3082. }
  3083. function SMPEA00100_onload(obj:Form, e:LoadEventInfo) {
  3084. frmf_initForm(obj);
  3085. grdf_setToolTipBind(grd_excu);
  3086. fSetSubCtrl();
  3087. // 기준 자료 조회
  3088. // P6588 : 문자 발송 여부
  3089. // PK087 : 제어 예외 대상
  3090. // P0127 : 통합 예약 담당
  3091. // P0130 : 현황 조회 기준
  3092. var oParam = {};
  3093. oParam.id = "TRPEA00114";
  3094. oParam.service = "pamexcuapp.PamExcu";
  3095. oParam.method = "reqGetPamCodeList";
  3096. oParam.outds = "ds_init_code=code";
  3097. oParam.async = false;
  3098. tranf_submit(oParam);
  3099. RSRV_PLCE = frmf_getMenuParam();
  3100. if (utlf_isNull(RSRV_PLCE)) {
  3101. RSRV_PLCE = "T";
  3102. }
  3103. if (frmf_checkOpener()) {
  3104. var param = opener.frmf_getParameter("opener_parameter_id");
  3105. if (!utlf_isNull(param)) {
  3106. condarray = param.split("▦");
  3107. if (condarray.length > 1) {
  3108. ds_send_data.setColumn(0, "pid", condarray[0]);
  3109. RSRV_PLCE = condarray[1];
  3110. } else {
  3111. ds_send_data.setColumn(0, "pid", param);
  3112. }
  3113. } else {
  3114. var paminfo = sysf_getGlobalVariable("paminfo"); // 상단
  3115. if (!utlf_isNull(paminfo)) {
  3116. dsf_setCSVToDs("ds_paminfo", paminfo);
  3117. var pid = ds_paminfo.getColumn(0, "pid");
  3118. ds_send_data.setColumn(0, "pid", pid);
  3119. }
  3120. }
  3121. }
  3122. fSetRsrvPlce();
  3123. cmb_rsrvplce.value = RSRV_PLCE;
  3124. // 캘린더 그리드 설정
  3125. fSetCalendar(utlf_getCurrentDate().toDate());
  3126. if (sysf_getUserId() == "PAM") {
  3127. cmb_rsrvplce.visible = true;
  3128. btn_rsrvstaff.visible = true;
  3129. }
  3130. ds_send_data.setColumn(0, "fromdd", utlf_getCurrentDate().toDate().getAddDate(-1, "Y").getDateFormat("YYYYMMDD"));
  3131. ds_send_data.setColumn(0, "todd", utlf_getCurrentDate());
  3132. // 통합 예약 담당 관리 버튼 보이기
  3133. if (ds_init_code.getCaseCount("cdgrupid == 'PK087' && cdid == '" + sysf_getUserId() + "'") > 0) {
  3134. btn_rsrvstaff.visible = true;
  3135. }
  3136. // 추가 검사 가능 코드 및 임시 예약 부서 조회
  3137. var oParam = {};
  3138. oParam.id = "TRPEA00106";
  3139. oParam.service = "pamexcuapp.PamExcu";
  3140. oParam.method = "reqGetPseuRsrvCd";
  3141. oParam.outds = "ds_init_pseu=pseu "
  3142. + "ds_init_rmgp=rmgp";
  3143. oParam.async = false;
  3144. oParam.callback = "cf_TRPEA00106";
  3145. tranf_submit(oParam);
  3146. ipt_pid.setFocus();
  3147. if (!utlf_isNull(ds_send_data.getColumn(0, "pid"))) {
  3148. btn_search.click();
  3149. }
  3150. //핵의학과관련 기본코드 조회
  3151. fGetAstCodeList();
  3152. //기준자료 세팅
  3153. var arrParam = [
  3154. {dsNm: "ds_paminit_P0032list", cdGrpId: "P0032"}
  3155. ];
  3156. //appf_getCodeList(arrParam);
  3157. pamfGetCodeList(arrParam, false);
  3158. }
  3159. function cf_TRPEA00106(sSvcId, nErrorCode, sErrorMsg) {
  3160. arErrorCode.push(sSvcId, nErrorCode);
  3161. }
  3162. function btnCalendar_onclick(obj:Button, e:ClickEventInfo) {
  3163. var mm = obj.text;
  3164. if (mm.length < 2) {
  3165. mm = "0" + mm;
  3166. }
  3167. if (opt_month.text != mm) {
  3168. fSetMonth(mm);
  3169. }
  3170. }
  3171. function btn_prevyear_onclick(obj:Button, e:ClickEventInfo) {
  3172. var date = opt_year.text + opt_month.text + "01";
  3173. var dDate = date.toDate().getAddDate(-1, "Y");
  3174. fSetCalendar(dDate);
  3175. }
  3176. function btn_nextyear_onclick(obj:Button, e:ClickEventInfo) {
  3177. var date = opt_year.text + opt_month.text + "01";
  3178. var dDate = date.toDate().getAddDate(1, "Y");
  3179. fSetCalendar(dDate);
  3180. }
  3181. function btn_search_onclick(obj:Button, e:ClickEventInfo) {
  3182. //20200420 고영민 (칠곡)예약시간 미확정인데 환자조회 시 체크
  3183. if(sysf_getUserInfo("dutplceinstcd") == "032" && ds_main_excu.rowcount > 0){
  3184. var grdupdatedata = grdf_getGridUpdateData(grd_excu, "all");
  3185. ds_temp_grdexcu.copyData(grdupdatedata);
  3186. if(ds_temp_grdexcu.rowcount > 0){
  3187. var rtn = sysf_messageBox("예약확정이 되지 않았습니다. 새로운 환자로 조회하시겠습니까?", "Q000");
  3188. if(rtn != 6) return;
  3189. }
  3190. }
  3191. if (!frmf_checkOpener()) {
  3192. appf_delPatientInfos();
  3193. }
  3194. lf_delOccupyid();
  3195. // 검사실 전체 체크 항목 해제
  3196. ds_send_data.setColumn(0, "totflag", "");
  3197. fSetPtCmtExt(true);
  3198. fSetExcuExt(true);
  3199. if (utlf_isNull(ipt_pid.text)) {
  3200. sysf_messageBox("환자번호를 ", "C001");
  3201. return;
  3202. }
  3203. //2020/02/10 DUR 특정질환 검색 로직 추가(이정택)
  3204. //2020/02/10 DUR 로직 기준자료 추가(ON/OFF)
  3205. fDur_Check(ds_paminit_P0032list.getColumn(ds_paminit_P0032list.findRow("cdid", '6610'), "cdnm"), ipt_pid.text);
  3206. ds_send_data.setColumn(0, "pid", ipt_pid.text);
  3207. fGetExcuList(utlf_getCurrentDate());
  3208. if (!utlf_isNull(ds_send_data.getColumn(0, "pid"))) {
  3209. var child_1 = frmf_findPopup("SMMMO02500");
  3210. if (!utlf_isNull(child_1)) {
  3211. child_1.ds_patinfolist.setColumn(0, "pid", ds_send_data.getColumn(0, "pid"));
  3212. child_1.getPIDEnter();
  3213. }
  3214. var child_2 = frmf_findPopup("SMAEA00300");
  3215. if (!utlf_isNull(child_2)) {
  3216. child_2.ds_send.setColumn(0, "srchpid", ds_send_data.getColumn(0, "pid"));
  3217. child_2.fSearch();
  3218. }
  3219. var child_3 = frmf_findPopup("SMAEA04400");
  3220. if (!utlf_isNull(child_3)) {
  3221. child_3.ds_send.setColumn(0, "pid", ds_send_data.getColumn(0, "pid"));
  3222. child_3.readfunc();
  3223. }
  3224. }
  3225. }
  3226. function ipt_pid_onkeyup(obj:Edit, e:KeyEventInfo) {
  3227. if (e.keycode == 13) {
  3228. obj.updateToDataset();
  3229. btn_search.click();
  3230. }
  3231. }
  3232. function grd_excu_oncellclick(obj:Grid, e:GridClickEventInfo) {
  3233. EXCU_SEL_ROW = e.row;
  3234. if (e.col == obj.getBindCellIndex("body", "chk")) {
  3235. // 총 소요 시간 및 예상 완료 시각 표시
  3236. fSetExcuEndTime();
  3237. // // 체크된 항목에 대한 제어 내역 확인
  3238. // fGetRsrvCtrlList(EXCU_SEL_ROW);
  3239. return;
  3240. }
  3241. if (e.col == obj.getBindCellIndex("body", "rsrvrem")) {
  3242. return;
  3243. }
  3244. fSetExcuInfo();
  3245. //영상의학과 요청 검사내역 선택시 검사실 선택 까지 자동으로 되도록
  3246. if(ds_main_room.rowcount > 0) {
  3247. ds_main_room.selectRow(0);
  3248. grd_room.oncellclick.fireEvent(grd_room, new GridClickEventInfo);
  3249. }
  3250. }
  3251. function grd_room_oncellclick(obj:Grid, e:GridClickEventInfo) {
  3252. if (ds_main_room.rowcount < 1) {
  3253. return;
  3254. }
  3255. fSetExcuRoom(true);
  3256. }
  3257. function grd_calendar_oncellclick(obj:Grid, e:GridClickEventInfo) {
  3258. var dd = ds_hidden_calendar.getColumn(e.row, e.col).split(/\n/)[0];
  3259. dd = dd.length < 2 ? "0" + dd : dd;
  3260. var rsrvdd = opt_year.text + opt_month.text + dd
  3261. ds_send_data.setColumn(0, "rsrvdd", rsrvdd);
  3262. ds_main_excu.rowposition = EXCU_SEL_ROW;
  3263. fGetRsrvCtrlList(ds_main_excu.rowposition, ( ds_main_room.rowposition < 0 ? "T" : ds_main_room.getColumn(ds_main_room.rowposition, "excuroomcd") ), rsrvdd);
  3264. fGetRoomRsrvList();
  3265. lf_rmrvColor(grdf_getBindCellName(obj,e.col));
  3266. ds_main_rmrv.rowposition = -1; //전체 미선택
  3267. }
  3268. function grd_rmrv_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  3269. if (e.col == 0 || ds_main_rmrv.rowcount < 1) {
  3270. return;
  3271. }
  3272. // 등록번호 더블 클릭시 해당 환자 조회
  3273. if (e.col == grd_rmrv.getBindCellIndex("body", "pid") || grd_rmrv.getBindCellIndex("body", "hngnm") == e.col) {
  3274. var pid = utlf_transNullToEmpty(ds_main_rmrv.getColumn(e.row, "pid"));
  3275. if (pid != "") {
  3276. ds_send_data.setColumn(0, "pid", pid);
  3277. btn_search.click();
  3278. }
  3279. return;
  3280. }
  3281. // 시각, 현황, 가용, 소요 칼럼 더블 클릭시만 예약 시각 설정
  3282. if (e.col > grd_rmrv.getBindCellIndex("body", "hngnm")) {
  3283. return;
  3284. }
  3285. var row = ds_main_excu.rowposition = EXCU_SEL_ROW;
  3286. if (ds_main_excu.getColumn(row, "rsrvtmcntlyn") == "Y") {
  3287. sysf_messageBox("예약시간을 변경할 수 없는 검사/치료실입니다.", "E999");
  3288. return;
  3289. }
  3290. var rmrvPath = "/root/main3/rmrvlist/rmrvinfo[" + grd_rmrv.row + "]/";
  3291. // 가용 인원 확인
  3292. var stat = Number(ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "stat"));
  3293. var capa = Number(ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "capa"));
  3294. if (stat >= capa && sysf_messageBox("가용 인원을 초과하였습니다.\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3295. return;
  3296. }
  3297. // 이전 검사 종료 시각 확인
  3298. var tmflag = ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "tmflag");
  3299. if (tmflag == "Y" && sysf_messageBox("이전 검사가 아직 끝나지 않은 시각입니다!\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3300. return;
  3301. }
  3302. var rsrvdd = ds_send_data.getColumn(0, "rsrvdd");
  3303. var rsrvtm = ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "rsrvtm");
  3304. // 과거 일자 여부 확인
  3305. var currdd = utlf_getCurrentDate();
  3306. if (rsrvdd < currdd) {
  3307. sysf_messageBox("과거 일자는 예약할 수 없습니다", "E999");
  3308. return;
  3309. } else if (currdd == rsrvdd && Number(rsrvtm) < Number(utlf_getCurrentTime().substr(0, 4))) {
  3310. sysf_messageBox("과거 시각은 예약할 수 없습니다.", "E999");
  3311. return;
  3312. }
  3313. var rsrvdt = rsrvdd + rsrvtm;
  3314. var excutm = Number(ds_main_excu.getColumn(row, "excutm"));
  3315. var addtm = Number(rsrvdt.toDate("YYYYMMDDhhmm").getAddDate(excutm, "m").getDateFormat("hhmm"));
  3316. var flag = false;
  3317. for (var i = ds_main_rmrv.rowposition + 1; i < ds_main_rmrv.rowcount; i++) {
  3318. var currtm = Number(ds_main_rmrv.getColumn(i, "rsrvtm"));
  3319. // 다른 검사 시각 확인
  3320. if (!flag && addtm > currtm && Number(ds_main_rmrv.getColumn(i, "stat")) >= Number(ds_main_rmrv.getColumn(i, "capa"))) {
  3321. if (sysf_messageBox("소요 시간 내에 다른 검사가 있습니다.\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3322. return;
  3323. } else {
  3324. flag = true;
  3325. break;
  3326. }
  3327. }
  3328. }
  3329. var nfsttm = 0; // 오후 첫번째 시각
  3330. for (var i = 0; i < ds_main_rmrv.rowcount; i++) {
  3331. var currtm = Number(ds_main_rmrv.getColumn(i, "rsrvtm"));
  3332. // 오후 첫번째 시각 확인
  3333. if (currtm > 1200 && nfsttm == 0) {
  3334. nfsttm = currtm;
  3335. break;
  3336. }
  3337. }
  3338. // 점심 시간 여부 확인
  3339. if (rsrvtm < nfsttm && addtm > 1200) {
  3340. if (sysf_messageBox("소요 시간 내에 점심 시간이 있습니다.\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3341. return;
  3342. }
  3343. }
  3344. // 연속 예약 확인 및 설정
  3345. var prcpdd = ds_main_excu.getColumn(row, "prcpdd");
  3346. var bf_excuroomcd = ds_main_excu.getColumn(row, "bf_excuroomcd");
  3347. flag = false;
  3348. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3349. if (i != row) {
  3350. if (ds_main_excu.getColumn(i, "prcpdd") == prcpdd && ds_main_excu.getColumn(i, "bf_excuroomcd") == bf_excuroomcd) {
  3351. if (sysf_messageBox("동일한 검사실의 검사 내역이 확인되었습니다.\n예약 시각을 연속으로 설정하시겠습니까?", "Q999") == 6) {
  3352. flag = true;
  3353. break;
  3354. } else {
  3355. break;
  3356. }
  3357. }
  3358. }
  3359. }
  3360. var excuroomcd = ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "excuroomcd");
  3361. var examroomnm = ds_main_rmrv.getColumn(ds_main_rmrv.rowposition, "excuroomnm");
  3362. // 중복 예약 확인
  3363. if (!fChkRoomTimeStat(ds_main_excu.getColumn(row, "suppdeptcd"), excuroomcd, rsrvdd, rsrvtm, stat)) {
  3364. return;
  3365. }
  3366. // 예약 현황 담아두기 (다른 사용자와 중복 예약 방지를 위함)
  3367. // 예약 현황 그리드를 더블 클릭할 때는 선택된 검사에 대한 중복 예약 여부만 확인하고
  3368. // 이때 담아둔 현황들에 대해 예약 버튼 클릭시 전체 중복 예약 여부를 확인한다.
  3369. var setidx = -1;
  3370. for (var i = 0; i < ds_temp_exst.rowcount; i++) {
  3371. if (ds_temp_exst.getColumn(i, "rowidx") == row) {
  3372. setidx = i;
  3373. break;
  3374. }
  3375. }
  3376. if (setidx < 0) {
  3377. setidx = ds_temp_exst.addRow();
  3378. }
  3379. ds_temp_exst.setColumn(setidx, "rowidx", row);
  3380. ds_temp_exst.setColumn(setidx, "prcpdt", prcpdd + ds_main_excu.getColumn(row, "rgsttm"));
  3381. ds_temp_exst.setColumn(setidx, "orddept", ds_main_excu.getColumn(row, "orddepthngnm"));
  3382. ds_temp_exst.setColumn(setidx, "prcpnm", ds_main_excu.getColumn(row, "prcpnm"));
  3383. ds_temp_exst.setColumn(setidx, "suppdeptcd", ds_main_excu.getColumn(row, "suppdeptcd"));
  3384. ds_temp_exst.setColumn(setidx, "suppdeptnm", ds_main_excu.getColumn(row, "suppdeptnm"));
  3385. ds_temp_exst.setColumn(setidx, "excuroomcd", excuroomcd);
  3386. ds_temp_exst.setColumn(setidx, "excuroomnm", examroomnm);
  3387. ds_temp_exst.setColumn(setidx, "rsrvdd", rsrvdd);
  3388. ds_temp_exst.setColumn(setidx, "rsrvtm", rsrvtm);
  3389. ds_temp_exst.setColumn(setidx, "stat", stat);
  3390. if (flag) {
  3391. // 연속 예약일 경우, 다른 검사 시각 및 점심 시간 여부 재 확인
  3392. excutm = 0;
  3393. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3394. if (ds_main_excu.getColumn(i, "prcpdd") == prcpdd && ds_main_excu.getColumn(i, "bf_excuroomcd") == bf_excuroomcd) {
  3395. excutm += Number(ds_main_excu.getColumn(i, "excutm"));
  3396. }
  3397. }
  3398. addtm = rsrvdt.toDate("YYYYMMDDhhmm").getAddDate(excutm, "m").getDateFormat("hhmm");
  3399. flag = false;
  3400. for (var i = ds_main_rmrv.rowposition; i < ds_main_rmrv.rowcount; i++) {
  3401. var currtm = Number(ds_main_rmrv.getColumn(i, "rsrvtm"));
  3402. // 핵의학과관련 특별제어
  3403. //nmStat = fGetRsrvNuclExamTotal(i);
  3404. //if(!nmStat) return;
  3405. // 다른 검사 시각 확인
  3406. if (!flag && addtm > currtm && Number(ds_main_rmrv.getColumn(i, "stat")) >= Number(ds_main_rmrv.getColumn(i, "capa"))) {
  3407. if (sysf_messageBox("소요 시간 내에 다른 검사가 있습니다.\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3408. return;
  3409. } else {
  3410. flag = true;
  3411. }
  3412. }
  3413. }
  3414. // 점심 시간 여부 확인
  3415. if (rsrvtm < nfsttm && addtm > 1200) {
  3416. if (sysf_messageBox("소요 시간 내에 점심 시간이 있습니다.\r\n예약을 진행하시겠습니까?", "Q999") != 6) {
  3417. return;
  3418. }
  3419. }
  3420. // 연속 예약 시각 설정
  3421. var excutmTemp = 0;
  3422. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3423. if (ds_main_excu.getColumn(i, "prcpdd") == prcpdd && ds_main_excu.getColumn(i, "bf_excuroomcd") == bf_excuroomcd) {
  3424. excutm = Number(ds_main_excu.getColumn(i, "excutm"));
  3425. if(i > 0 && excutm == 0 && ds_main_excu.getColumn(i-1, "bf_excuroomcd") == bf_excuroomcd) {
  3426. rsrvdt = ds_main_excu.getColumn(i-1, "srchrsrvtm");
  3427. excutmTemp = excutmTemp + Number(ds_main_excu.getColumn(i-1, "excutm"));
  3428. } else {
  3429. rsrvdt = rsrvdt.toDate("YYYYMMDDhhmm").getAddDate(excutmTemp, "m").getDateFormat("YYYYMMDDhhmm");
  3430. excutmTemp = 0;
  3431. }
  3432. // 예약 일시 및 예약 선택 여부 값 입력
  3433. ds_main_excu.setColumn(i, "excuroomcd", excuroomcd);
  3434. ds_main_excu.setColumn(i, "examroomnm", examroomnm);
  3435. ds_main_excu.setColumn(i, "rsrvdt", rsrvdt);
  3436. ds_main_excu.setColumn(i, "srchrsrvtm", rsrvdt);
  3437. ds_main_excu.setColumn(i, "chk", 1);
  3438. //idx += ( idx != "" ? "," : "") + i;
  3439. rsrvdt = rsrvdt.toDate("YYYYMMDDhhmm").getAddDate(excutm, "m").getDateFormat("YYYYMMDDhhmm");
  3440. //trace("rsrvdt : "+rsrvdt);
  3441. }
  3442. }
  3443. } else {
  3444. // 예약 일시 및 예약 선택 여부 값 입력
  3445. ds_main_excu.setColumn(row, "excuroomcd", excuroomcd);
  3446. ds_main_excu.setColumn(row, "examroomnm", examroomnm);
  3447. ds_main_excu.setColumn(row, "rsrvdt", rsrvdt);
  3448. ds_main_excu.setColumn(row, "srchrsrvtm", rsrvdt);
  3449. ds_main_excu.setColumn(row, "chk", 1);
  3450. }
  3451. // 총 소요 시간 및 예상 완료 시각 표시
  3452. fSetExcuEndTime();
  3453. // 중증 / 산정특례 종료일자 체크
  3454. fCheckRstrDay(rsrvdd);
  3455. // 제어 내역 확인
  3456. //if(nmStat) fGetRsrvCtrlList(row, excuroomcd);
  3457. fGetRsrvCtrlList(row, excuroomcd);
  3458. }
  3459. function btn_rsrv_onclick(obj:Button, e:ClickEventInfo) {
  3460. fCheckRsrv();
  3461. }
  3462. function btn_cncl_onclick(obj:Button, e:ClickEventInfo) {
  3463. if (ds_main_excu.rowcount < 1) {
  3464. sysf_messageBox("조회된 검사 내역이 없습니다.", "E999");
  3465. return;
  3466. }
  3467. var chkcnt = 0;
  3468. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3469. if (ds_main_excu.getColumn(i, "chk") != 1) {
  3470. continue;
  3471. }
  3472. chkcnt++;
  3473. }
  3474. if (chkcnt < 1) {
  3475. sysf_messageBox("선택된 검사 내역이 없습니다.", "E999");
  3476. return;
  3477. }
  3478. if (sysf_messageBox("선택된 [ " + chkcnt + " ] 건의 예약을", "Q007") == 6) {
  3479. fExecRsrv("cncl");
  3480. // 검사예약 취소시 문자 전송
  3481. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3482. if (ds_main_excu.getColumn(i, "chk") != 1) {
  3483. continue;
  3484. }
  3485. var pid = ds_send_data.getColumn(0, "pid");
  3486. var hngnm = ds_main_pt.getColumn(0, "hngnm");
  3487. var rsrvdt = ds_main_excu.getColumn(i, "rsrvdt");
  3488. var rsrvdd = rsrvdt.substr(0, 8);
  3489. var rsrvtm = rsrvdt.substr(8, 4);
  3490. var mpphontel = ds_main_pt.getColumn(0, "mpphontel");
  3491. var orddeptcd = ds_main_excu.getColumn(i, "orddeptcd");
  3492. var orddepthngnm = ds_main_excu.getColumn(i, "orddepthngnm");
  3493. var hosnm = "";
  3494. if (sysf_getUserInfo("dutplceinstcd") == "031") {
  3495. hosnm = "경북대병원";
  3496. } else if (sysf_getUserInfo("dutplceinstcd") == "032") {
  3497. hosnm = "칠곡경북대병원";
  3498. } else if (sysf_getUserInfo("dutplceinstcd") == "033") {
  3499. hosnm = "경북대치과병원";
  3500. }
  3501. var msgcnts = hosnm + " "
  3502. + hngnm + "(" + pid + ")" + "님 "
  3503. + rsrvdd.substr(4, 2) + "/"
  3504. + rsrvdd.substr(6, 2) + " "
  3505. + rsrvtm.substr(0, 2) + ":"
  3506. + rsrvtm.substr(2, 2) + " "
  3507. + "검사예약이 취소되었습니다.";
  3508. // 01 : 외래예약취소시 문자발송여부
  3509. // 02 : 외래예약 변경시 취소시 문자발송여부
  3510. // 03 : 통합예약검사 예약 취소시 문자발송여부
  3511. // 04 : 통합예약검사 예약 변경시 문자발송여부
  3512. var sms_send_yn = ds_init_code.lookupExpr("cdgrupid == 'P6588' && cdid == '03'", "cdnm");
  3513. if (sms_send_yn == "Y") {
  3514. fSmsSend(msgcnts, pid, hngnm, mpphontel, orddeptcd, "03");
  3515. }
  3516. }
  3517. fGetExcuList(ds_send_data.getColumn(0, "srchdd"));
  3518. ipt_pid.setFocus();
  3519. }
  3520. lf_delOccupyid();
  3521. }
  3522. function cmb_rsrvplce_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  3523. RSRV_PLCE = e.postvalue;
  3524. fSetRsrvPlce();
  3525. }
  3526. function btn_infoprt_onclick(obj:Button, e:ClickEventInfo) {
  3527. fInfoPrt();
  3528. }
  3529. function btn_rsrvprt_onclick(obj:Button, e:ClickEventInfo) {
  3530. var pid = utlf_transNullToEmpty(ds_send_data.getColumn(0, "pid"));
  3531. if (pid == "") {
  3532. sysf_messageBox("조회된 환자가 없습니다.", "E999");
  3533. return;
  3534. }
  3535. fRsrvPrt(pid);
  3536. }
  3537. function btn_ptcmtex_onclick(obj:Button, e:ClickEventInfo) {
  3538. fSetPtCmtExt(false);
  3539. }
  3540. function btn_rmrvex_onclick(obj:Button, e:ClickEventInfo) {
  3541. fSetRmrvExt(false);
  3542. }
  3543. function btn_excuex_onclick(obj:Button, e:ClickEventInfo) {
  3544. fSetExcuExt(false);
  3545. }
  3546. function btn_multirsrv_onclick(obj:Button, e:ClickEventInfo) {
  3547. ds_hidden_mult.clearData();
  3548. var idx = -1;
  3549. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3550. if (ds_main_excu.getColumn(i, "chk") != 1) {
  3551. continue;
  3552. }
  3553. idx = ds_hidden_mult.addRow();
  3554. ds_hidden_mult.setColumn(idx, "rowcnt", i);
  3555. ds_hidden_mult.setColumn(idx, "prcpnm", ds_main_excu.getColumn(i, "prcpnm"));
  3556. ds_hidden_mult.setColumn(idx, "suppdeptcd", ds_main_excu.getColumn(i, "suppdeptcd"));
  3557. ds_hidden_mult.setColumn(idx, "genrflag", ds_main_excu.getColumn(i, "genrflag"));
  3558. if (ds_main_excu.getColumn(i, "rsrvflagyn") == "예약") {
  3559. ds_hidden_mult.setColumn(idx, "excuroomcd", ds_main_excu.getColumn(i, "excuroomcd"));
  3560. ds_hidden_mult.setColumn(idx, "examroomnm", ds_main_excu.getColumn(i, "examroomnm"));
  3561. } else {
  3562. var roomArr = ds_main_excu.getColumn(i, "rsrvexcuroompossnm").split("^");
  3563. ds_hidden_mult.setColumn(idx, "excuroomcd", roomArr[0].split("|")[0]);
  3564. ds_hidden_mult.setColumn(idx, "examroomnm", roomArr[0].split("|")[1]);
  3565. }
  3566. }
  3567. if (idx > 4){
  3568. sysf_messageBox("5개를 초과해서 처리할 수 없습니다.", "E999");
  3569. return;
  3570. }
  3571. if (idx < 0) {
  3572. sysf_messageBox("선택된 검사가 없습니다.", "E999");
  3573. } else {
  3574. var objArg = new Object();
  3575. objArg.arg_ds_excu = ds_hidden_mult;
  3576. frmf_modal("SPPEA00101", "SPPEA00101", objArg, "", "1", "", "", "", "", "", "", "", "M");
  3577. }
  3578. }
  3579. function SMPEA00100_onsize(obj:Form, e:SizeEventInfo) {
  3580. fSetSubCtrl();
  3581. }
  3582. function btn_directsms_onclick(obj:Button, e:ClickEventInfo) {
  3583. ds_hidden_sms.clearData();
  3584. var pid = ds_send_data.getColumn(0, "pid");
  3585. var hngnm = ds_main_pt.getColumn(0,"hngnm");
  3586. var hosp = "";
  3587. var bfdt ="";
  3588. var rvdt ="";
  3589. var rslt ="";
  3590. if (sysf_getUserInfo("dutplceinstcd") == "031") {
  3591. hosp = "경북대병원";
  3592. } else if (sysf_getUserInfo("dutplceinstcd") == "032") {
  3593. hosp = "칠곡경북대병원";
  3594. } else if (sysf_getUserInfo("dutplceinstcd") == "033") {
  3595. hosp = "경북대치과병원";
  3596. }
  3597. var idx = 0;
  3598. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3599. //예약일자 변경됬을 때 문자 보낼 때 한 번더 체크하는 로직 추가 191017 임승주
  3600. var bfdt = ds_main_excu.getColumn(i, "bf_srchrsrvtm");
  3601. var rvdt = ds_main_excu.getColumn(i, "srchrsrvtm");
  3602. if (bfdt != rvdt && sysf_messageBox("예약일자가 변경 되었습니다.\r\n문자전송을을 진행하시겠습니까?", "Q999") != 6)
  3603. {
  3604. return;
  3605. }
  3606. if (ds_main_excu.getColumn(i, "chk") != 1) {
  3607. continue;
  3608. }
  3609. idx++;
  3610. var idx = ds_hidden_sms.addRow();
  3611. ds_hidden_sms.setColumn(idx, "orddeptcd", ds_main_excu.getColumn(i, "orddeptcd"));
  3612. var rsrvdt = ds_main_excu.getColumn(i, "srchrsrvtm");
  3613. var postyn = ds_main_excu.getColumn(i, "aftrcptinfo");
  3614. var statcd = ds_main_excu.getColumn(i, "execprcpstatcd");
  3615. var roomnm = ds_main_excu.getColumn(i, "examroomnm").trim();
  3616. var deptcd = ds_main_excu.getColumn(i, "orddeptcd");
  3617. var deptnm = ds_main_excu.getColumn(i, "orddepthngnm");
  3618. var msg = hosp + " "
  3619. + hngnm
  3620. + "(" + pid + ")님 "
  3621. + rsrvdt.substr(4, 2) + "/" + rsrvdt.substr(6, 2)
  3622. + ( postyn != "V" && parseInt(statcd) < 230 ? " 수납후 방문 " : " 방문 " )
  3623. + rsrvdt.substr(8, 2) + ":" + rsrvdt.substr(10, 2) + " "
  3624. + roomnm;
  3625. ds_hidden_sms.setColumn(idx, "msgcnts", msg);
  3626. }
  3627. if (ds_hidden_sms.rowcount < 1) {
  3628. sysf_messageBox("선택된 내역이 없습니다.", "E999");
  3629. return;
  3630. }
  3631. div_directsms.visible = true;
  3632. }
  3633. function btn_legend_rmrv_onclick(obj:Button, e:ClickEventInfo) {
  3634. div_legend_rmrv.visible = !div_legend_rmrv.visible;
  3635. }
  3636. function btn_legend_excu_onclick(obj:Button, e:ClickEventInfo) {
  3637. div_legend_excu.visible = !div_legend_excu.visible;
  3638. }
  3639. function btn_legend_ctrl_onclick(obj:Button, e:ClickEventInfo) {
  3640. div_legend_ctrl.visible = !div_legend_ctrl.visible;
  3641. }
  3642. function ds_send_data_onvaluechanged(obj:Dataset, e:DSColChangeEventInfo) {
  3643. if (e.columnid == "totflag") {
  3644. fSetExcuRoom(false);
  3645. }
  3646. }
  3647. function grd_excu_onheadclick(obj:Grid, e:GridClickEventInfo) {
  3648. if (ds_main_excu.rowcount < 1) {
  3649. return;
  3650. }
  3651. var flag = ds_hidden.getColumn(0, "allchk") == 0 ? 1 : 0;
  3652. ds_hidden.setColumn(0, "allchk", flag);
  3653. for (var i = 0; i < ds_main_excu.rowcount; i++) {
  3654. ds_main_excu.setColumn(i, "chk", flag);
  3655. }
  3656. // 모든 체크가 풀렸을 경우
  3657. if (flag == 0) {
  3658. ds_main_excu.rowposition = EXCU_SEL_ROW < 0 ? 0 : EXCU_SEL_ROW;
  3659. }
  3660. // 총 소요 시간 및 예상 완료 시각 표시
  3661. fSetExcuEndTime();
  3662. // 모든 행에 대한 제어 내역 확인
  3663. fGetRsrvCtrlList();
  3664. }
  3665. function ds_main_excu_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo) {
  3666. if (e.columnid == "rsrvrem" && e.newvalue != ds_main_excu.getColumn(e.row, "bf_rsrvrem")) {
  3667. ds_main_excu.setColumn(e.row, "chk", 1);
  3668. }
  3669. if(e.columnid == "srchrsrvtm" && sysf_getUserInfo("dutplceinstcd") == "032") { //타임테이블 선점 기능 칠곡에만 적용
  3670. ds_send_occupyid.setColumn(0, "occupyid", sysf_getUserId());
  3671. ds_send_occupyid.setColumn(0, "occupydd", utlf_getCurrentDate());
  3672. ds_send_occupyid.setColumn(0, "rsrvtm", e.newvalue.substr(8,4));
  3673. ds_send_occupyid.setColumn(0, "rsrvdd", e.newvalue.substr(0,8));
  3674. ds_send_occupyid.setColumn(0, "suppdeptcd", obj.getColumn(e.row, "suppdeptcd"));
  3675. ds_send_occupyid.setColumn(0, "excuroomcd", obj.getColumn(e.row, "excuroomcd"));
  3676. ds_send_occupyid.setColumn(0, "old_rsrvtm", dsf_getColumnNullToEmpty(ds_temp_occupymy, e.row, "rsrvtm"));
  3677. ds_send_occupyid.setColumn(0, "old_rsrvdd", dsf_getColumnNullToEmpty(ds_temp_occupymy, e.row, "rsrvdd"));
  3678. ds_send_occupyid.setColumn(0, "old_excuroomcd", dsf_getColumnNullToEmpty(ds_temp_occupymy, e.row, "excuroomcd"));
  3679. ds_send_occupyid.setColumn(0, "old_suppdeptcd", dsf_getColumnNullToEmpty(ds_temp_occupymy, e.row, "suppdeptcd"));
  3680. //ds_temp_occupymy.clearData();
  3681. ds_temp_occupyid.clearData();
  3682. var oParam = {};
  3683. oParam.id = "TXPEA00106";
  3684. oParam.service = "pamexcuapp.PamExcu";
  3685. oParam.method = "reqSetOccupyId";
  3686. oParam.inds = "req=ds_send_occupyid";
  3687. oParam.outds = "ds_temp_occupyid=occupyid";
  3688. oParam.async = false;
  3689. oParam.callback = "cf_TXPEA00106";
  3690. tranf_submit(oParam);
  3691. if(arErrorCode.pop("TXPEA00106") > -1) {
  3692. if(!utlf_isNull(ds_temp_occupyid.getColumn(0, "occupynm"))) {
  3693. sysf_messageBox("해당시간은 "+ds_temp_occupyid.getColumn(0, "occupynm")+"선생님이 현재 예약 진행중입니다.", "I");
  3694. obj.setColumn(e.row, e.col, e.oldvalue);
  3695. } else {
  3696. var fRow = ds_temp_occupymy.findRow("rown", e.row);
  3697. if(fRow > -1) {
  3698. dsf_createDsRow("ds_req", [{col:"old_rsrvtm", val:dsf_getColumnNullToEmpty(ds_temp_occupymy, fRow, "rsrvtm")}
  3699. ,{col:"old_excuroomcd", val:dsf_getColumnNullToEmpty(ds_temp_occupymy, fRow, "excuroomcd")}
  3700. ,{col:"old_suppdeptcd", val:dsf_getColumnNullToEmpty(ds_temp_occupymy, fRow, "suppdeptcd")}
  3701. ,{col:"old_rsrvdd", val:dsf_getColumnNullToEmpty(ds_temp_occupymy, fRow, "rsrvdd")}
  3702. ]);
  3703. var oParam = {};
  3704. oParam.id = "TXPEA00107";
  3705. oParam.service = "pamexcuapp.PamExcu";
  3706. oParam.method = "reqDelOccupyId";
  3707. oParam.inds = "req=ds_req";
  3708. oParam.async = false;
  3709. //oParam.callback = "cf_TRPEA00102";
  3710. tranf_submit(oParam);
  3711. ds_temp_occupymy.setColumn(fRow, "rsrvtm", ds_send_occupyid.getColumn(0, "rsrvtm"));
  3712. ds_temp_occupymy.setColumn(fRow, "rsrvdd", ds_send_occupyid.getColumn(0, "rsrvdd"));
  3713. ds_temp_occupymy.setColumn(fRow, "suppdeptcd", ds_send_occupyid.getColumn(0, "suppdeptcd"));
  3714. ds_temp_occupymy.setColumn(fRow, "excuroomcd", ds_send_occupyid.getColumn(0, "excuroomcd"));
  3715. } else {
  3716. var nRow = ds_temp_occupymy.addRow();
  3717. ds_temp_occupymy.setColumn(nRow, "rsrvtm", ds_send_occupyid.getColumn(0, "rsrvtm"));
  3718. ds_temp_occupymy.setColumn(nRow, "rsrvdd", ds_send_occupyid.getColumn(0, "rsrvdd"));
  3719. ds_temp_occupymy.setColumn(nRow, "suppdeptcd", ds_send_occupyid.getColumn(0, "suppdeptcd"));
  3720. ds_temp_occupymy.setColumn(nRow, "excuroomcd", ds_send_occupyid.getColumn(0, "excuroomcd"));
  3721. ds_temp_occupymy.setColumn(nRow, "rown", e.row);
  3722. }
  3723. }
  3724. }
  3725. }
  3726. }
  3727. function cf_TXPEA00106(sSvcId, nErrorCode, sErrorMsg) {
  3728. arErrorCode.push(sSvcId, nErrorCode);
  3729. }
  3730. function btn_addcmt_onclick(obj:Button, e:ClickEventInfo) {
  3731. if (obj.text == "추가") {
  3732. var idx = ds_main_ptcmt.findRow("cmtdd", utlf_getCurrentDate());
  3733. if (idx > -1) {
  3734. ds_temp.setColumn(0, "ptcmt", ds_main_ptcmt.getColumn(idx, "patcmt"));
  3735. } else if (ds_send_ptcmt.getColumn(0, "cmtdd") != utlf_getCurrentDate()) {
  3736. ds_temp.setColumn(0, "ptcmt", "");
  3737. }
  3738. ds_send_ptcmt.setColumn(0, "cmtdd", utlf_getCurrentDate());
  3739. obj.text = "닫기";
  3740. tar_ptcmt.visible = true;
  3741. btn_savecmt.enable = true;
  3742. btn_delcmt.enable = false;
  3743. tar_ptcmt.setFocus();
  3744. } else {
  3745. obj.text = "추가";
  3746. tar_ptcmt.visible = false;
  3747. btn_savecmt.enable = false;
  3748. btn_delcmt.enable = true;
  3749. }
  3750. }
  3751. function btn_savecmt_onclick(obj:Button, e:ClickEventInfo) {
  3752. if (utlf_isNull(ds_send_data.getColumn(0, "pid"))) {
  3753. sysf_messageBox("조회된 환자가 없습니다.", "E999");
  3754. return;
  3755. }
  3756. fSetPtCmt(true);
  3757. }
  3758. function btn_delcmt_onclick(obj:Button, e:ClickEventInfo) {
  3759. if (utlf_isNull(ds_send_data.getColumn(0, "pid"))) {
  3760. sysf_messageBox("조회된 환자가 없습니다.", "E999");
  3761. return;
  3762. }
  3763. if (ds_main_ptcmt.rowposition < 0) {
  3764. sysf_messageBox("삭제할 내역이 선택되지 않았습니다.", "E999");
  3765. return;
  3766. }
  3767. fSetPtCmt(false);
  3768. }
  3769. function btn_ptinfo_onclick(obj:Button, e:ClickEventInfo) {
  3770. ds_send_pt.setColumn(0, "pid", ds_send_data.getColumn(0, "pid"));
  3771. ds_send_pt.setColumn(0, "srchcond", "1");
  3772. var objArg = new Object();
  3773. objArg.arg_ds_source = ds_send_pt;
  3774. frmf_modal("SMPMC01400", "SMPMC01400", objArg, "", "", "", "", "", "", "", "", "", "M");
  3775. }
  3776. function div_msg_tar_alertmsg_onlbuttondown(obj:TextArea, e:MouseEventInfo) {
  3777. div_msg.visible = false;
  3778. }
  3779. function div_msg_onlbuttondown(obj:Div, e:MouseEventInfo) {
  3780. div_msg.visible = false;
  3781. }
  3782. function div_msg_cap_close_onlbuttondown(obj:Static, e:MouseEventInfo) {
  3783. div_msg.visible = false;
  3784. }
  3785. function btn_sms_onclick(obj:Button, e:ClickEventInfo) {
  3786. frmf_open("SPCNS00500", "SPCNS00500", "", "", "", "", "", "", "", "", "", "", "M");
  3787. }
  3788. function btn_prcphist_onclick(obj:Button, e:ClickEventInfo) {
  3789. // 기본 핵의학과로 설정
  3790. var suppdeptcd = "2180000000";
  3791. frmf_setParameter("SMPEA00100_suppdeptcd", suppdeptcd);
  3792. frmf_setParameter("SMPEA00100_pid", ds_send_data.getColumn(0, "pid"));
  3793. frmf_open("SMAEA00400", "SMAEA00400", "", "", "", "", "", "", "", "", "", "", "M");
  3794. }
  3795. function btn_rsrvstat_onclick(obj:Button, e:ClickEventInfo) {
  3796. frmf_setParameter("SMPEA00100_pid", ds_send_data.getColumn(0, "pid"));
  3797. frmf_open("SMAEA00300", "SMAEA00300", "", "", "", "", "", "", "", "", "", "", "M");
  3798. }
  3799. function btn_rsrvchng_onclick(obj:Button, e:ClickEventInfo) {
  3800. frmf_setParameter("SMPEA00100_pid", ds_send_data.getColumn(0, "pid"));
  3801. frmf_open("SMAEA00800", "SMAEA00800", "", "", "", "", "", "", "", "", "", "", "M");
  3802. }
  3803. function btn_weekrsrv_onclick(obj:Button, e:ClickEventInfo) {
  3804. frmf_open("SMAEA00910", "SMAEA00910", "", "", "", "", "", "", "", "", "", "", "M");
  3805. }
  3806. function div_directsms_btn_sendsms_onclick(obj:Button, e:ClickEventInfo) {
  3807. if (sysf_messageBox("문자를 전송하시겠습니까?", "Q999") != 6) {
  3808. return;
  3809. }
  3810. var pid = ds_send_data.getColumn(0, "pid");
  3811. var hngnm = ds_main_pt.getColumn(0, "hngnm");
  3812. var tel = ds_main_pt.getColumn(0, "mpphontel");
  3813. for (var i = 0; i < ds_hidden_sms.rowcount; i++) {
  3814. var msg = ds_hidden_sms.getColumn(i, "msgcnts");
  3815. var deptcd = ds_hidden_sms.getColumn(i, "orddeptcd");
  3816. fSmsSend(msg, pid, hngnm, tel, deptcd, "03");
  3817. }
  3818. sysf_messageBox("문자를 전송하였습니다.", "I999");
  3819. }
  3820. function div_directsms_btn_closesms_onclick(obj:Button, e:ClickEventInfo) {
  3821. div_directsms.visible = false;
  3822. }
  3823. function btn_srchprcp_onclick(obj:Button, e:ClickEventInfo) {
  3824. if (utlf_isNull(ds_send_data.getColumn(0, "pid"))) {
  3825. sysf_messageBox("조회된 환자 정보가 없습니다.", "E999");
  3826. return;
  3827. }
  3828. var child = frmf_findPopup("SMMMO02500");
  3829. if (!utlf_isNull(child)) {
  3830. child.ds_patinfolist.setColumn(0, "pid", ds_send_data.getColumn(0, "pid"));
  3831. child.getPIDEnter();
  3832. } else {
  3833. frmf_setParameter("SMMMO02500_cond", ds_send_data.getColumn(0, "pid"));
  3834. frmf_open("SMMMO02500", "SMMMO02500", "", "", "", "", "", "", "", "", "", "", "M");
  3835. }
  3836. }
  3837. function btn_addrsrv_onclick(obj:Button, e:ClickEventInfo) {
  3838. if (ds_main_excu.rowcount < 1) {
  3839. sysf_messageBox("조회된 검사 내역이 없습니다.", "E999");
  3840. return;
  3841. }
  3842. if (EXCU_SEL_ROW < 0) {
  3843. sysf_messageBox("선택된 검사 내역이 없습니다.", "E999");
  3844. return;
  3845. }
  3846. fPseuRsrvInfo();
  3847. }
  3848. function btn_restroom_onclick(obj:Button, e:ClickEventInfo) {
  3849. var suppdeptcd = "";
  3850. var excuroomcd = "";
  3851. if (ds_main_excu.rowcount > 0) {
  3852. suppdeptcd = ds_main_excu.getColumn(ds_main_excu.rowposition, "suppdeptcd");
  3853. excuroomcd = ds_main_excu.getColumn(ds_main_excu.rowposition, "excuroomcd");
  3854. }
  3855. if (ds_main_room.rowcount > 0) {
  3856. excuroomcd = ds_main_room.getColumn(ds_main_room.rowposition, "excuroomcd");
  3857. }
  3858. ds_hidden_rest.setColumn(0, "suppdeptcd", suppdeptcd);
  3859. ds_hidden_rest.setColumn(0, "excuroomcd", excuroomcd);
  3860. ds_hidden_rest.setColumn(0, "instance1", suppdeptcd);
  3861. var objArg = new Object();
  3862. objArg.arg_ds_send1 = ds_hidden_rest;
  3863. frmf_modal("SMAEA00700", "SMAEA00700", objArg, "", "", "", "", "", "", "", "", "", "M");
  3864. }
  3865. function btn_rsrvstaff_onclick(obj:Button, e:ClickEventInfo) {
  3866. frmf_open("SPPEA00102", "SPPEA00102", "", "", "", "", "", "", "", "", "", "", "M");
  3867. }
  3868. function btn_temprsrv_onclick(obj:Button, e:ClickEventInfo) {
  3869. frmf_setParameter("menuparam", "R");
  3870. frmf_setParameter("suppdeptcd", "2180000000"); // 임시 예약은 핵의학과로 고정
  3871. var idx = ds_init_rmgp.findRow("basecd", ds_hidden.getColumn(0, "roomgrp"));
  3872. frmf_setParameter("excuroomgrp", ( idx > -1 ? ds_init_rmgp.getColumn(idx, "basecdcnts") : "" ));
  3873. frmf_modal("SPAEA02201", "SPAEA02201", "", "", "", "", "", "", "", "", "", "", "M");
  3874. }
  3875. function cmb_statflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  3876. if (ds_main_room.rowcount < 1 || ds_main_room.rowposition < 0) {
  3877. return;
  3878. }
  3879. fSetExcuRoom(false);
  3880. }
  3881. function btn_pid_onclick(obj:Button, e:ClickEventInfo) {
  3882. frmf_modal("SPPMC02500", "SPPMC02500", "", "", "", "", "", "", "", "", "", "", "M");
  3883. if (ds_main.getColumn(0, "popupendflag") != "cancel") {
  3884. ds_send_data.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  3885. btn_search.click();
  3886. } else {
  3887. ds_patinfolist.clear();
  3888. }
  3889. }
  3890. function btn_ondblclick(obj:Button, e:MouseEventInfo)
  3891. {
  3892. frmf_open("SPPEA00200", "SPPEA00200", "", "", "", "", "", "", "", "", "", "", "M");
  3893. }
  3894. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  3895. {
  3896. if (sysf_messageBox("화면을 초기화 하시겠습니까?", "Q999") == 6) {
  3897. fInit();
  3898. }
  3899. }
  3900. function fInit() {
  3901. if (!frmf_checkOpener()) {
  3902. appf_delPatientInfos();
  3903. }
  3904. lf_delOccupyid();
  3905. fSetPtCmtExt(true);
  3906. // 검사실 전체 체크 항목 해제
  3907. ds_send_data.setColumn( 0, "totflag", "");
  3908. fClearExcuInfo(utlf_getCurrentDate());
  3909. grd_excu.setCellProperty("head", 0, "text", "");
  3910. ds_main_pt.clearData();
  3911. ds_main_ord.clearData();
  3912. ds_main_tdrv.clearData();
  3913. ds_main_ptcmt.clearData();
  3914. ds_main_excu.clearData();
  3915. // ds_main_fcexlist_fcexinfo.clearData(); ds_main_fcexlist_fcexinfo.addRow();
  3916. ds_main_anex.clearData();
  3917. ds_main_rcptprcp.clearData();
  3918. ds_main_ddrv.clearData();
  3919. ds_temp.clearData(); ds_temp.addRow();
  3920. btn_savecmt.enable = false;
  3921. btn_delcmt.enable = false;
  3922. div_creatine.visible = false;
  3923. ds_send_data.setColumn( 0, "pid", "");
  3924. ipt_pid.setFocus();
  3925. }
  3926. // 핵의학과 복수검사 목록
  3927. function fGetAstCodeList(){
  3928. ds_init_G98list.clear();
  3929. ds_init_G99list.clear();
  3930. dsf_createDsRow("ds_req", [
  3931. {col:"clscd", type:"STRING", size:256, val:"G"}
  3932. , {col:"etccd", type:"STRING", size:256, val:"G99"}
  3933. , {col:"etcitemcnts", type:"STRING", size:256, val:""}
  3934. ]);
  3935. var oParam = {};
  3936. oParam.id = "TRAHB00602";
  3937. oParam.service = "healexambaseapp.EtcCode";
  3938. oParam.method = "reqGetDetlCodeList";
  3939. oParam.inds = "req=ds_req";
  3940. oParam.outds = "ds_init_G99list=item";
  3941. oParam.async = false;
  3942. tranf_submit(oParam);
  3943. dsf_createDsRow("ds_req", [
  3944. {col:"clscd", type:"STRING", size:256, val:"G"}
  3945. , {col:"etccd", type:"STRING", size:256, val:"G98"}
  3946. , {col:"etcitemcnts", type:"STRING", size:256, val:""}
  3947. ]);
  3948. var oParam = {};
  3949. oParam.id = "TRAHB00602";
  3950. oParam.service = "healexambaseapp.EtcCode";
  3951. oParam.method = "reqGetDetlCodeList";
  3952. oParam.inds = "req=ds_req";
  3953. oParam.outds = "ds_init_G98list=item";
  3954. oParam.async = false;
  3955. tranf_submit(oParam);
  3956. }
  3957. // 핵의학과 특정검사 제어
  3958. function fGetRsrvNuclCtrlList(row) {
  3959. var bool = true;
  3960. var testCnt = ds_init_G99list.rowcount;
  3961. var rsrvCnt = ds_main_rmrv.rowcount;
  3962. var selTestCd = ds_main_excu.getColumn(ds_main_excu.rowposition, "calcscorcd");
  3963. //var selTestNm = ds_main_excu.getColumn(ds_main_excu.rowposition, "excucdnm");
  3964. var testcd = "";
  3965. var testnm = "";
  3966. var term = "";
  3967. var testtime = "";
  3968. var termtime = "";
  3969. var testcd2 = "";
  3970. var testnm2 = "";
  3971. var term2 = "";
  3972. var testtime2 = "";
  3973. var termtime2 = "";
  3974. var fsttime = "";//trace("testCnt : "+testCnt);
  3975. for(var i = 0 ; i < testCnt ; i++) {
  3976. testcd = ds_init_G99list.getColumn(i, "etcdetlcd");
  3977. testnm = ds_init_G99list.getColumn(i, "etcdetlnm");//trace("rsrvCnt : "+rsrvCnt);
  3978. for(var j = 0 ; j < rsrvCnt ; j++) {//trace("testcd : "+testcd + " / "+ds_main_rmrv.getColumn(j, "calcscorcd"));
  3979. if(ds_main_rmrv.getColumn(j, "calcscorcd") == testcd) {
  3980. term = parseInt(ds_init_G99list.getColumn(i, "etcitemcnts"));
  3981. testtime = parseInt(ds_init_G99list.getColumn(i, "etcitemcnts2"));
  3982. termtime = parseInt(ds_init_G99list.getColumn(i, "etcitemcnts3"));
  3983. fsttime = ds_main_rmrv.getColumn(j, "rsrvtm");//trace("term : "+term);
  3984. var nRow = ds_init_G99list.findRow("etcdetlcd", selTestCd);
  3985. if(ds_init_G99list.findRow("etcdetlcd", selTestCd) > -1) {
  3986. term2 = parseInt(ds_init_G99list.getColumn(nRow, "etcitemcnts"));
  3987. testtime2 = parseInt(ds_init_G99list.getColumn(nRow, "etcitemcnts2"));
  3988. termtime2 = parseInt(ds_init_G99list.getColumn(nRow, "etcitemcnts3"));
  3989. }
  3990. for(var k = 0 ; k <= term ; k++) {
  3991. if(utlf_isNull(term2) || term2 < 2) {
  3992. var fromtm = fCalcTime(fsttime, (termtime*k));
  3993. var totm = fCalcTime(fsttime, (termtime*k) + testtime);
  3994. // trace("111 / fromtm : "+fromtm+" / totm : "+totm);
  3995. if(ds_main_rmrv.getColumn(row, "rsrvtm") >= fromtm && ds_main_rmrv.getColumn(row, "rsrvtm") < totm) {
  3996. sysf_messageBox("[" + testnm + "] 검사의 " + (k+1) + "번째 검사가 예정된 시간입니다.", "E999");
  3997. bool = false;
  3998. break;
  3999. } else bool = true;
  4000. } else {
  4001. var fromtm = fCalcTime(fsttime, (termtime*k));
  4002. var totm = fCalcTime(fsttime, (termtime*k) + testtime);
  4003. if(fromtm > "1200") break; //오후시간대 겹치는건 조정 가능
  4004. for(var l = 0 ; l <= term2 ; l++) {
  4005. var rsrvtmT = fCalcTime(ds_main_rmrv.getColumn(row, "rsrvtm"), (termtime2*l));
  4006. if(rsrvtmT > "1200") break; //오후시간대 겹치는건 조정 가능
  4007. // trace("222 / fromtm : "+fromtm+" / totm : "+totm+" / rsrvtmT : "+rsrvtmT);
  4008. if(rsrvtmT >= fromtm && rsrvtmT < totm) {
  4009. sysf_messageBox("해당검사의 "+(l+1)+"번째 검사가 [" + testnm + "] 검사의 " + (k+1) + "번째 검사와 겹칩니다.", "E999");
  4010. bool = false;
  4011. break;
  4012. } else bool = true;
  4013. }
  4014. if(!bool) break;
  4015. }
  4016. }
  4017. if(!bool) break;
  4018. } else {
  4019. bool = true;
  4020. }
  4021. }
  4022. }
  4023. //if(bool) bool = fGetRsrvNuclExamGroup(row);
  4024. btn_rsrv.enable = bool;
  4025. return bool;
  4026. }
  4027. // 핵의학과 특정검사그룹확인 제어
  4028. function fGetRsrvNuclExamGroup(row) {
  4029. var bool = true;
  4030. dsf_createDs("ds_temp_rmrv");
  4031. ds_temp_rmrv.copyData(ds_main_rmrv);
  4032. dsf_setDefaultVal(ds_temp_rmrv, "all");
  4033. ds_temp_rmrv.filter("calcscorcd != ''");
  4034. var rsrvCnt = ds_temp_rmrv.rowcount;
  4035. var curCalcCd = ds_main_rmrv.getColumn(row, "calcscorcd");
  4036. var testGroupCd = ds_init_G98list.lookup("etcdetlcd", curCalcCd, "etcitemcnts");
  4037. var testGroupNm = ds_init_G98list.lookup("etcdetlcd", curCalcCd, "etcitemcnts2");
  4038. ds_init_G98list.filter("etcitemcnts == "+testGroupCd);
  4039. for(var i = 0; i < rsrvCnt; i++) {
  4040. var calcscorcd = ds_temp_rmrv.getColumn(i, "calcscorcd");
  4041. var cRow = ds_init_G98list.findRow("etcdetlcd", calcscorcd);
  4042. if(cRow < 0) {
  4043. sysf_messageBox("[" + testGroupNm + "] 그룹이 아닌 검사가 이미 예약되어 있습니다.", "E999");
  4044. bool = false;
  4045. break;
  4046. }
  4047. }
  4048. ds_temp_rmrv.clear();
  4049. return bool;
  4050. }
  4051. // 핵의학과 예약검사총량제어
  4052. function fGetRsrvNuclExamTotal(row) {
  4053. var bool = btn_rsrv.enable;
  4054. var point = 0;
  4055. var total = 7;
  4056. dsf_createDs("ds_temp_rmrv");
  4057. ds_temp_rmrv.copyData(ds_main_rmrv);
  4058. dsf_setDefaultVal(ds_temp_rmrv, "all");
  4059. ds_temp_rmrv.filter("calcscorcd != ''");
  4060. var rsrvCnt = ds_temp_rmrv.rowcount;
  4061. for(var i = 0; i < rsrvCnt; i++) {
  4062. var calcscorcd = ds_temp_rmrv.getColumn(i, "calcscorcd");
  4063. var addpoint = ds_init_G98list.lookup("etcdetlcd",calcscorcd,"etcitemcnts");
  4064. addpoint = utlf_isNull(addpoint) ? 0 : addpoint;
  4065. var point = point + addpoint;
  4066. }
  4067. if(point > total) {
  4068. sysf_messageBox("검사실 검사수용 총량을 넘어섰습니다.", "E999");
  4069. bool = false;
  4070. }
  4071. if(bool) bool = fGetRsrvNuclCtrlList(row);
  4072. btn_rsrv.enable = bool;
  4073. return bool;
  4074. }
  4075. // 핵의학과 특정검사 제어 시간체크
  4076. function fCalcTime(fsttime, calctime) {
  4077. var termH = Math.floor(calctime/60);
  4078. var termM = calctime - (60*termH);
  4079. var fromH = parseInt(fsttime.substr(0,2)) + termH;
  4080. var fromM = parseInt(fsttime.substr(2,2)) + termM;
  4081. if(fromM >= 60) {
  4082. fromH = fromH + 1;
  4083. fromM = fromM - 60;
  4084. }
  4085. if(fromH < 10) fromH = "0" + fromH;
  4086. if(fromM == 0) fromM = "00";
  4087. else if(fromM < 10) fromM = "0" + fromM;
  4088. return String(fromH) + String(fromM);
  4089. }
  4090. function btn_nhic_onclick(obj:Button, e:ClickEventInfo)
  4091. {
  4092. if (utlf_isNull(ds_main_pt.getColumn(0, "hngnm"))) {
  4093. sysf_messageBox("조회된 환자가 없습니다.", "E999");
  4094. return;
  4095. }
  4096. var rrgstno = ds_main_pt.getColumn(0, "rrgstno");
  4097. var hngnm = ds_main_pt.getColumn(0, "hngnm");
  4098. var orddd = utlf_getCurrentDate();
  4099. // 예약일이 있으면 예약일로 설정
  4100. if (ds_main_excu.rowcount > 0 && ds_main_excu.rowposition > -1
  4101. && !utlf_isNull(ds_main_excu.getColumn(ds_main_excu.rowposition, "srchrsrvtm"))) {
  4102. orddd = ds_main_excu.getColumn(ds_main_excu.rowposition, "srchrsrvtm").substr(0, 8);
  4103. }
  4104. var cretno = "";
  4105. var ordtype = "O";
  4106. var dschdd = "";
  4107. var payownbamt = "";
  4108. var payinsubamt = "";
  4109. var pid = ds_send_data.getColumn(0, "pid");
  4110. var orddeptcd = "";
  4111. var ownbflag = "";
  4112. var nopyamt = "";
  4113. var pregdmndamt = "";
  4114. var suppkind = "";
  4115. var parm = rrgstno.substr(0, 6)
  4116. + rrgstno.substr(7, 7) + "▦"
  4117. + hngnm + "▦"
  4118. + orddd + "▦"
  4119. + cretno + "▦"
  4120. + ordtype + "▦"
  4121. + dschdd + "▦"
  4122. + payownbamt + "▦"
  4123. + payinsubamt + "▦"
  4124. + pid + "▦"
  4125. + orddeptcd + "▦"
  4126. + ownbflag + "▦"
  4127. + nopyamt + "▦"
  4128. + pregdmndamt + "▦"
  4129. + suppkind + "▦";
  4130. frmf_setParameter("SPPMC03900_PARM", parm);
  4131. frmf_setParameter("SPPMC03900_RTN", "");
  4132. frmf_modal("SPPMC03900", "SPPMC03900", "", false, 1, '', '', 1195, 760, "", "", "", "M");
  4133. }
  4134. function grd_rmrv_oncellclick(obj:Grid, e:GridClickEventInfo)
  4135. {
  4136. // 핵의학과관련 특별제어
  4137. //nmStat = fGetRsrvNuclExamTotal(e.row);
  4138. }
  4139. //타임테이블 선점 아이디 삭제
  4140. function lf_delOccupyid() {
  4141. if(sysf_getUserInfo("dutplceinstcd")!="032") return; // 칠곡에만 적용
  4142. if(ds_temp_occupymy.rowcount == 0) return;
  4143. dsf_createDs("ds_req");
  4144. for(var i = 0 ; i < ds_temp_occupymy.rowcount ; i++) {
  4145. dsf_makeValue(ds_req, "old_rsrvtm", "string", dsf_getColumnNullToEmpty(ds_temp_occupymy, i, "rsrvtm"), i);
  4146. dsf_makeValue(ds_req, "old_excuroomcd", "string", dsf_getColumnNullToEmpty(ds_temp_occupymy, i, "excuroomcd"), i);
  4147. dsf_makeValue(ds_req, "old_suppdeptcd", "string", dsf_getColumnNullToEmpty(ds_temp_occupymy, i, "suppdeptcd"), i);
  4148. dsf_makeValue(ds_req, "old_rsrvdd", "string", dsf_getColumnNullToEmpty(ds_temp_occupymy, i, "rsrvdd"), i);
  4149. }
  4150. var oParam = {};
  4151. oParam.id = "TXPEA00107";
  4152. oParam.service = "pamexcuapp.PamExcu";
  4153. oParam.method = "reqDelOccupyId";
  4154. oParam.inds = "req=ds_req";
  4155. oParam.async = false;
  4156. //oParam.callback = "cf_TRPEA00102";
  4157. tranf_submit(oParam);
  4158. ds_temp_occupymy.clearData();
  4159. ds_temp_occupyid.clearData();
  4160. }
  4161. function ds_main_excu_onload(obj:Dataset, e:DSLoadEventInfo)
  4162. {
  4163. lf_delOccupyid();
  4164. }
  4165. function SMPEA00100_onclose(obj:Form, e:CloseEventInfo)
  4166. {
  4167. lf_delOccupyid();
  4168. }
  4169. function lf_rmrvColor(colname) {
  4170. var excuroomcd = ds_main_room.getColumn(ds_main_room.rowposition, "excuroomcd");
  4171. dsf_createDsRow("ds_req", [
  4172. {col:"grupcdid", type:"STRING", size:256, val:"T0007"}
  4173. , {col:"excuroomcd", type:"STRING", size:256, val:excuroomcd}
  4174. , {col:"suppdeptcd", type:"STRING", size:256, val:"3170000000"}
  4175. ]);
  4176. dsf_createDs("ds_init_T0007");
  4177. var oParam = {};
  4178. oParam.id = "TRAHB00607";
  4179. oParam.service = "pamexcuapp.PamExcu";
  4180. oParam.method = "reqGetExcuComCode";
  4181. oParam.inds = "req=ds_req";
  4182. oParam.outds = "ds_init_T0007=item";
  4183. oParam.async = false;
  4184. oParam.callback = "cf_TRAHB00607";
  4185. tranf_submit(oParam);
  4186. if (arErrorCode.pop("TRAHB00607") > -1) {
  4187. for(var i = 0 ; i < ds_init_T0007.rowcount ; i++) {
  4188. if(colname.toUpperCase() == ds_init_T0007.getColumn(i, "day")) {
  4189. for(var j = 0 ; j < ds_main_rmrv.rowcount ; j++) {
  4190. //var cRow = ds_main_rmrv.findRow("rsrvtm", ds_init_T0007.getColumn(i, "time"));
  4191. if(ds_init_T0007.getColumn(i, "time") == ds_main_rmrv.getColumn(j, "rsrvtm")) {
  4192. dsf_makeValue(ds_main_rmrv, "timeline", "string", "Y", j);
  4193. }
  4194. }
  4195. }
  4196. }
  4197. }
  4198. }
  4199. function cf_TRAHB00607(sSvcId, nErrorCode, sErrorMsg) {
  4200. arErrorCode.push(sSvcId, nErrorCode);
  4201. }
  4202. function cap_title_onclick(obj:Static, e:ClickEventInfo)
  4203. {
  4204. frmf_modal("SPZSU00801", "SPZSU00801", null, null, null, null, null, null, null, null, null, null, "M");
  4205. }
  4206. function btn_opensms_onclick(obj:Button, e:ClickEventInfo)
  4207. {
  4208. ds_hidden_smsdata.clearData();
  4209. ds_hidden_smsdata_recvrlist.clearData();
  4210. dsf_makeValue( ds_hidden_smsdata, "bizabbr", "string", "PAM");
  4211. dsf_makeValue( ds_hidden_smsdata, "replytelno", "string", "");
  4212. dsf_makeValue( ds_hidden_smsdata, "rsrvyn", "string", "");
  4213. dsf_makeValue( ds_hidden_smsdata, "rsrvdate", "string", "");
  4214. dsf_makeValue( ds_hidden_smsdata, "rsrvtime", "string", "");
  4215. dsf_makeValue( ds_hidden_smsdata_recvrlist, "chk", "string", "");
  4216. dsf_makeValue( ds_hidden_smsdata_recvrlist, "recvrnm", "string", ds_main_pt.getColumn(0, "hngnm"));
  4217. dsf_makeValue( ds_hidden_smsdata_recvrlist, "recvrtelno", "string", ds_main_pt.getColumn(0, "mpphontel"));
  4218. zmsfOpenSMS(ds_hidden_smsdata, ds_hidden_smsdata_recvrlist);
  4219. }
  4220. ]]></Script>
  4221. </Form>
  4222. </FDL>