SMLLR00400_검사항목별결과관리.xfdl 187 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLLR00400" position="absolute 0 0 1260 809" titletext="New Form" onload="SMLLR00400_onload" scrollbars="none" oninit="SMLLR00400_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group3" taborder="1" position="absolute 0 99 1256 805" anchor="all" scrollbars="none" positiontype="position">
  8. <Layouts>
  9. <Layout>
  10. <Static id="Static01" class="sta_DA_box" position="absolute 810 580 1232 706" anchor="left bottom"/>
  11. <Static id="Static00" class="sta_DA_box" position="absolute 537 580 800 703" anchor="left bottom"/>
  12. <Static id="Static34" class="sta_DA_box" position="absolute 0 580 527 706" anchor="left bottom"/>
  13. <Grid id="grd_testlist" class="datagrid2" taborder="1" useinputpanel="false" position="absolute 0 23 1256 550" anchor="all" binddataset="ds_grid_grd_testlist" onbuttondown="grd_testlist_onbuttondown" onclick="grd_testlist_onclick" onkeydown="group3_grd_testlist_onkeydown" onrbuttondown="group3_grd_testlist_onrbuttondown" oncellclick="group3_grd_testlist_oncellclick" selecttype="multiarea" cellsizingtype="both" autoenter="none" positiontype="position" autosizingtype="none" onvscrolllastover="group3_grd_testlist_onvscrolllastover">
  14. <Formats>
  15. <Format id="default">
  16. <Columns>
  17. <Column size="30" band="left"/>
  18. <Column size="20" band="left"/>
  19. <Column size="114" band="left"/>
  20. <Column size="98" band="left"/>
  21. <Column size="80" band="left"/>
  22. <Column size="70" band="left"/>
  23. <Column size="30" band="left"/>
  24. <Column size="30" band="left"/>
  25. <Column size="70" band="left"/>
  26. <Column size="60" band="left"/>
  27. <Column size="70"/>
  28. <Column size="100"/>
  29. <Column size="60"/>
  30. <Column size="60"/>
  31. <Column size="60"/>
  32. <Column size="60"/>
  33. <Column size="60"/>
  34. <Column size="60"/>
  35. <Column size="60"/>
  36. <Column size="60"/>
  37. <Column size="60"/>
  38. <Column size="60"/>
  39. <Column size="60"/>
  40. <Column size="60"/>
  41. <Column size="60"/>
  42. <Column size="60"/>
  43. <Column size="60"/>
  44. <Column size="60"/>
  45. <Column size="60"/>
  46. <Column size="60"/>
  47. <Column size="60"/>
  48. <Column size="60"/>
  49. <Column size="60"/>
  50. <Column size="60"/>
  51. <Column size="60"/>
  52. <Column size="60"/>
  53. <Column size="60"/>
  54. <Column size="60"/>
  55. <Column size="60"/>
  56. <Column size="60"/>
  57. <Column size="60"/>
  58. <Column size="60"/>
  59. </Columns>
  60. <Rows>
  61. <Row size="32" band="head"/>
  62. <Row size="24"/>
  63. </Rows>
  64. <Band id="head">
  65. <Cell text="No."/>
  66. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  67. <Cell col="2" text="접수일시"/>
  68. <Cell col="3" text="바코드번호"/>
  69. <Cell col="4" text="등록번호"/>
  70. <Cell col="5" text="성명"/>
  71. <Cell col="6" text="성별"/>
  72. <Cell col="7" text="나이"/>
  73. <Cell col="8" text="진료과"/>
  74. <Cell col="9" text="병동/병실"/>
  75. <Cell col="10" text="의뢰의사"/>
  76. <Cell col="11" text="검체명"/>
  77. <Cell col="12" text="inptrslt1" wordwrap="word"/>
  78. <Cell col="13" text="inptrslt12" wordwrap="word"/>
  79. <Cell col="14" text="inptrslt3" wordwrap="word"/>
  80. <Cell col="15" text="inptrslt4" wordwrap="word"/>
  81. <Cell col="16" text="inptrslt5" wordwrap="word"/>
  82. <Cell col="17" text="inptrslt6" wordwrap="word"/>
  83. <Cell col="18" text="inptrslt7" wordwrap="word"/>
  84. <Cell col="19" text="inptrslt8" wordwrap="word"/>
  85. <Cell col="20" text="inptrslt9" wordwrap="word"/>
  86. <Cell col="21" text="inptrslt10" wordwrap="word"/>
  87. <Cell col="22" text="inptrslt11" wordwrap="word"/>
  88. <Cell col="23" text="inptrslt12" wordwrap="word"/>
  89. <Cell col="24" text="inptrslt13" wordwrap="word"/>
  90. <Cell col="25" text="inptrslt14" wordwrap="word"/>
  91. <Cell col="26" text="inptrslt15" wordwrap="word"/>
  92. <Cell col="27" text="inptrslt16" wordwrap="word"/>
  93. <Cell col="28" text="inptrslt17" wordwrap="word"/>
  94. <Cell col="29" text="inptrslt18" wordwrap="word"/>
  95. <Cell col="30" text="inptrslt19" wordwrap="word"/>
  96. <Cell col="31" text="inptrslt20" wordwrap="word"/>
  97. <Cell col="32" text="inptrslt21" wordwrap="word"/>
  98. <Cell col="33" text="inptrslt22" wordwrap="word"/>
  99. <Cell col="34" text="inptrslt23" wordwrap="word"/>
  100. <Cell col="35" text="inptrslt24" wordwrap="word"/>
  101. <Cell col="36" text="inptrslt25" wordwrap="word"/>
  102. <Cell col="37" text="inptrslt26" wordwrap="word"/>
  103. <Cell col="38" text="inptrslt27" wordwrap="word"/>
  104. <Cell col="39" text="inptrslt28" wordwrap="word"/>
  105. <Cell col="40" text="inptrslt29" wordwrap="word"/>
  106. <Cell col="41" text="inptrslt30" wordwrap="word"/>
  107. </Band>
  108. <Band id="body">
  109. <Cell celltype="head" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" expr="expr:currow+1"/>
  110. <Cell col="1" displaytype="checkbox" edittype="checkbox" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:chk"/>
  111. <Cell col="2" displaytype="normal" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:spcacptdt" mask="####-##-## ##:##" calendardisplaynulltype="nulltext"/>
  112. <Cell col="3" edittype="text" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:bcno"/>
  113. <Cell col="4" displaytype="text" edittype="text" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:pid"/>
  114. <Cell col="5" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:patnm"/>
  115. <Cell col="6" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:patsex"/>
  116. <Cell col="7" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:patage"/>
  117. <Cell col="8" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:orddeptnm"/>
  118. <Cell col="9" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:wardroom"/>
  119. <Cell col="10" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:orddrnm"/>
  120. <Cell col="11" displaytype="combo" edittype="combo" style="background:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);background2:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);selectbackground:EXPR(chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : &quot;&quot;);" text="bind:spccd" combodataset="ds_lb0105" combocodecol="cd" combodatacol="nm"/>
  121. <Cell col="12" displaytype="text" edittype="text" style="background:EXPR(keycolor1 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly1 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor1 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly1 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor1 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly1 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt1"/>
  122. <Cell col="13" displaytype="text" edittype="text" style="background:EXPR(keycolor2 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly2 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor2 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly2 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor2 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly2 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt2"/>
  123. <Cell col="14" displaytype="text" edittype="text" style="background:EXPR(keycolor3 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly3 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor3 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly3 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor3 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly3 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt3"/>
  124. <Cell col="15" displaytype="text" edittype="text" style="background:EXPR(keycolor4 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly4 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor4 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly4 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor4 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly4 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt4"/>
  125. <Cell col="16" displaytype="text" edittype="text" style="background:EXPR(keycolor5 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly5 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor5 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly5 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor5 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly5 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt5"/>
  126. <Cell col="17" displaytype="text" edittype="text" style="background:EXPR(keycolor6 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly6 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor6 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly6 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor6 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly6 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt6"/>
  127. <Cell col="18" displaytype="text" edittype="text" style="background:EXPR(keycolor7 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly7 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor7 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly7 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor7 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly7 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt7"/>
  128. <Cell col="19" displaytype="text" edittype="text" style="background:EXPR(keycolor8 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly8 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor8 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly8 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor8 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly8 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt8"/>
  129. <Cell col="20" displaytype="text" edittype="text" style="background:EXPR(keycolor9 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly9 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor9 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly9 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor9 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly9 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt9"/>
  130. <Cell col="21" displaytype="text" edittype="text" style="background:EXPR(keycolor10 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly10 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor10 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly10 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor10 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly10 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt10"/>
  131. <Cell col="22" displaytype="text" edittype="text" style="background:EXPR(keycolor11 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly11 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor11 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly11 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor11 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly11 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt11"/>
  132. <Cell col="23" displaytype="text" edittype="text" style="background:EXPR(keycolor12 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly12 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor12 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly12 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor12 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly12 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt12"/>
  133. <Cell col="24" displaytype="text" edittype="text" style="background:EXPR(keycolor13 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly13 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor13 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly13 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor13 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly13 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt13"/>
  134. <Cell col="25" displaytype="text" edittype="text" style="background:EXPR(keycolor14 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly14 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor14 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly14 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor14 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly14 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt14"/>
  135. <Cell col="26" displaytype="text" edittype="text" style="background:EXPR(keycolor15 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly15 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor15 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly15 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor15 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly15 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt15"/>
  136. <Cell col="27" displaytype="text" edittype="text" style="background:EXPR(keycolor16 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly16 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor16 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly16 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor16 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly16 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt16"/>
  137. <Cell col="28" displaytype="text" edittype="text" style="background:EXPR(keycolor17 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly17 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor17 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly17 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor17 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly17 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt17"/>
  138. <Cell col="29" displaytype="text" edittype="text" style="background:EXPR(keycolor18 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly18 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor18 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly18 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor18 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly18 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt18"/>
  139. <Cell col="30" displaytype="text" edittype="text" style="background:EXPR(keycolor19 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly19 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor19 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly19 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor19 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly19 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt19"/>
  140. <Cell col="31" displaytype="text" edittype="text" style="background:EXPR(keycolor20 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly20 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor20 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly20 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor20 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly20 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt20"/>
  141. <Cell col="32" displaytype="text" edittype="text" style="background:EXPR(keycolor21 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly21 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor21 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly21 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor21 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly21 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt21"/>
  142. <Cell col="33" displaytype="text" edittype="text" style="background:EXPR(keycolor22 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly22 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor22 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly22 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor22 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly22 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt22"/>
  143. <Cell col="34" displaytype="text" edittype="text" style="background:EXPR(keycolor23 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly23 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor23 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly23 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor23 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly23 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt23"/>
  144. <Cell col="35" displaytype="text" edittype="text" style="background:EXPR(keycolor24 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly24 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor24 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly24 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor24 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly24 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt24"/>
  145. <Cell col="36" displaytype="text" edittype="text" style="background:EXPR(keycolor25 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly25 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor25 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly25 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor25 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly25 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt25"/>
  146. <Cell col="37" displaytype="text" edittype="text" style="background:EXPR(keycolor26 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly26 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor26 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly26 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor26 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly26 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt26"/>
  147. <Cell col="38" displaytype="text" edittype="text" style="background:EXPR(keycolor27 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly27 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor27 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly27 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor27 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly27 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt27"/>
  148. <Cell col="39" displaytype="text" edittype="text" style="background:EXPR(keycolor28 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly28 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor28 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly28 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor28 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly28 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt28"/>
  149. <Cell col="40" displaytype="text" edittype="text" style="background:EXPR(keycolor29 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly29 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor29 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly29 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor29 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly29 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt29"/>
  150. <Cell col="41" displaytype="text" edittype="text" style="background:EXPR(keycolor30 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly30 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);background2:EXPR(keycolor30 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly30 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);selectbackground:EXPR(keycolor30 == 1 ? &quot;#f3e1bf&quot; : chk == 1 &amp;&amp; keycolor != 1 ? &quot;#f3e1bf&quot; : readonly30 == 1 ? &quot;#c0c0c0&quot; : &quot;&quot;);" text="bind:inptrslt30"/>
  151. <Cell col="42"/>
  152. <Cell col="43"/>
  153. <Cell col="44"/>
  154. <Cell col="45"/>
  155. <Cell col="46"/>
  156. <Cell col="47"/>
  157. <Cell col="48"/>
  158. </Band>
  159. </Format>
  160. </Formats>
  161. </Grid>
  162. <Static id="caption33" text="커서방향 :" class="tit_2" position="absolute 928 3 1025 23" anchor="top right" positiontype="position"/>
  163. <Radio id="radio1" taborder="0" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 1030 0 1130 20" anchor="top right" positiontype="position">
  164. <Dataset id="innerdataset">
  165. <ColumnInfo>
  166. <Column id="codecolumn" size="256"/>
  167. <Column id="datacolumn" size="256"/>
  168. </ColumnInfo>
  169. <Rows>
  170. <Row>
  171. <Col id="codecolumn">1</Col>
  172. <Col id="datacolumn">세로</Col>
  173. </Row>
  174. <Row>
  175. <Col id="codecolumn">2</Col>
  176. <Col id="datacolumn">가로</Col>
  177. </Row>
  178. </Rows>
  179. </Dataset>
  180. </Radio>
  181. <Edit id="ipt_bf" taborder="2" class="input_fix" position="absolute 343 608 522 628" anchor="left bottom" imemode="hangul" positiontype="position"/>
  182. <Grid id="datagrid2" taborder="15" useinputpanel="false" position="absolute 83 633 262 678" anchor="left bottom" binddataset="ds_detail_spcinfo" scrollbars="none" selecttype="cell" style="color:#444444ff;" positiontype="position">
  183. <Formats>
  184. <Format id="default">
  185. <Columns>
  186. <Column size="30"/>
  187. <Column size="30"/>
  188. <Column size="30"/>
  189. <Column size="30"/>
  190. <Column size="30"/>
  191. <Column size="27"/>
  192. </Columns>
  193. <Rows>
  194. <Row size="24" band="head"/>
  195. <Row size="24"/>
  196. </Rows>
  197. <Band id="head">
  198. <Cell text="N"/>
  199. <Cell col="1" text="P"/>
  200. <Cell col="2" text="D"/>
  201. <Cell col="3" text="C"/>
  202. <Cell col="4" text="A"/>
  203. <Cell col="5" text="R"/>
  204. </Band>
  205. <Band id="body">
  206. <Cell style="background:EXPR(judgmark == 'H' ? '#f7a08b' : (judgmark == 'L' ? '#b9e5fb' : '#ffffff'));background2:EXPR(judgmark == 'H' ? '#f7a08b' : (judgmark == 'L' ? '#b9e5fb' : '#ffffff'));" text="bind:judgmark"/>
  207. <Cell col="1" style="background:EXPR(panicmark == 'P' ? '#7BE6B7' : '#ffffff');background2:EXPR(panicmark == 'P' ? '#7BE6B7' : '#ffffff');" text="bind:panicmark"/>
  208. <Cell col="2" style="background:EXPR(deltamark == 'D' ? '#dec6a4' : '#ffffff');background2:EXPR(deltamark == 'D' ? '#dec6a4' : '#ffffff');" text="bind:deltamark"/>
  209. <Cell col="3" style="background:EXPR(criticalmark == 'C' ? '#ffe79d' : '#ffffff');background2:EXPR(criticalmark == 'C' ? '#ffe79d' : '#ffffff');" text="bind:criticalmark"/>
  210. <Cell col="4" style="background:EXPR(alertmark == 'A' ? '#fec34d' : '#ffffff');background2:EXPR(alertmark == 'A' ? '#fec34d' : '#ffffff');" text="bind:alertmark"/>
  211. <Cell col="5" text="bind:rsltmark"/>
  212. </Band>
  213. </Format>
  214. </Formats>
  215. </Grid>
  216. <Combo id="cmb_cmt" taborder="6" class="combo_default" position="absolute 970 583 1200 603" anchor="left bottom" innerdataset="@ds_lb0210" codecolumn="cd" datacolumn="nm" onitemchanged="group3_cmb_cmt_onitemchanged" positiontype="position" type="dropdown" displayrowcount="100"/>
  217. <MaskEdit id="ipt_bfdt" taborder="3" mask="yyyy-mm-dd hh:nn:ss" class="input_fix" position="absolute 343 633 522 653" anchor="left bottom" imemode="hangul" positiontype="position"/>
  218. <Edit id="output10" taborder="20" readonly="true" position="absolute 448 683 521 703" anchor="left bottom" positiontype="position"/>
  219. <Edit id="output6" taborder="18" readonly="true" position="absolute 343 658 522 678" anchor="left bottom" positiontype="position"/>
  220. <Edit id="output7" taborder="21" readonly="true" visible="false" position="absolute 700 556 800 576" anchor="left bottom" positiontype="position"/>
  221. <Edit id="output8" taborder="16" readonly="true" position="absolute 83 683 168 703" anchor="left bottom" positiontype="position"/>
  222. <Static id="caption20" text="결과입력자" class="cell_1" position="absolute 1 681 81 705" anchor="left bottom" positiontype="position"/>
  223. <Button id="btn_cmt" taborder="7" class="icon_search" position="absolute 1207 583 1228 603" anchor="left bottom" text="" onclick="group3_btn_cmt_onclick" positiontype="position"/>
  224. <Edit id="output9" taborder="19" readonly="true" position="absolute 274 683 359 703" anchor="left bottom" positiontype="position"/>
  225. <Button id="btn_saveCmt" taborder="11" text="소견저장" class="btn2" position="absolute 1164 557 1232 577" anchor="left bottom" onclick="group3_btn_saveCmt_onclick" positiontype="position"/>
  226. <Static id="caption21" text="중간보고자" class="cell_1" position="absolute 171 681 271 705" anchor="left bottom" style="color:black;" positiontype="position"/>
  227. <Static id="caption10" text="검체정보" class="tit_2" position="absolute 0 560 74 580" anchor="left bottom" positiontype="position"/>
  228. <Static id="caption11" text="검체명" class="cell_1" position="absolute 1 581 81 605" anchor="left bottom" positiontype="position"/>
  229. <Static id="caption22" text="최종보고자" class="cell_1" position="absolute 363 681 448 705" anchor="left bottom" positiontype="position"/>
  230. <Static id="caption12" text="참고치&amp;판정" class="cell_1" position="absolute 1 606 81 680" anchor="left bottom" positiontype="position"/>
  231. <Static id="caption35" text="소견" class="tit_2" position="absolute 810 560 894 580" anchor="left bottom" positiontype="position"/>
  232. <Static id="caption13" text="보이는결과" class="cell_1" position="absolute 267 581 340 605" anchor="left bottom" positiontype="position"/>
  233. <Static id="caption14" text="이전결과" class="cell_1" position="absolute 267 606 340 630" anchor="left bottom" positiontype="position"/>
  234. <Static id="caption15" text="이전결과일" class="cell_1" position="absolute 267 631 340 655" anchor="left bottom" positiontype="position"/>
  235. <Static id="caption16" text="검사장비" class="cell_1" position="absolute 267 656 340 680" anchor="left bottom" positiontype="position"/>
  236. <TextArea id="text_comment" taborder="4" position="absolute 541 583 796 703" anchor="left bottom" imemode="hangul" onkillfocus="group3_text_comment_onkillfocus" positiontype="position"/>
  237. <TextArea id="text_testdept" taborder="9" position="absolute 861 608 1228 657" anchor="left bottom" imemode="hangul" ontextchanged="group3_text_testdept_ontextchanged" wordwrap="word" positiontype="position"/>
  238. <TextArea id="text_testcmts" taborder="10" position="absolute 861 659 1228 703" anchor="left bottom" imemode="hangul" ontextchanged="group3_text_testcmts_ontextchanged" positiontype="position"/>
  239. <Static id="cap_1818" text=" 시행&#13;&#10; 부서&#13;&#10;&#13;&#10;&#13;&#10; 검사&#13;&#10; 항목" class="cell_1" position="absolute 811 606 858 705" anchor="left bottom" positiontype="position"/>
  240. <Combo id="cmb_sect" taborder="5" class="combo_default" position="absolute 814 583 967 603" anchor="left bottom" innerdataset="@ds_testconttsectcd" codecolumn="cd" datacolumn="nm" onitemchanged="group3_cmb_sect_onitemchanged" positiontype="position"/>
  241. <Static id="caption18" text="comment" class="tit_2" position="absolute 537 560 621 580" anchor="left bottom" positiontype="position"/>
  242. <Edit id="output1" taborder="13" readonly="true" position="absolute 83 583 262 603" anchor="left bottom" positiontype="position"/>
  243. <Edit id="output2" taborder="14" readonly="true" position="absolute 83 608 262 628" anchor="left bottom" positiontype="position"/>
  244. <Edit id="output3" taborder="17" readonly="true" position="absolute 343 583 522 603" anchor="left bottom" positiontype="position"/>
  245. <Radio id="rdo_cmts" taborder="8" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 811 613 826 698" anchor="left bottom" positiontype="position">
  246. <Dataset id="innerdataset">
  247. <ColumnInfo>
  248. <Column id="codecolumn" size="256"/>
  249. <Column id="datacolumn" size="256"/>
  250. </ColumnInfo>
  251. <Rows>
  252. <Row>
  253. <Col id="codecolumn">1</Col>
  254. <Col id="datacolumn"/>
  255. </Row>
  256. <Row>
  257. <Col id="codecolumn">2</Col>
  258. <Col id="datacolumn"/>
  259. </Row>
  260. </Rows>
  261. </Dataset>
  262. </Radio>
  263. <Grid id="grd_vlist" class="datagrid2" taborder="12" useinputpanel="false" visible="false" position="absolute 15 190 910 470" anchor="default" binddataset="ds_grid_grd_vlist" positiontype="position">
  264. <Formats>
  265. <Format id="default">
  266. <Columns>
  267. <Column size="40"/>
  268. <Column size="150"/>
  269. <Column size="118"/>
  270. <Column size="104"/>
  271. <Column size="60"/>
  272. <Column size="60"/>
  273. <Column size="60"/>
  274. <Column size="60"/>
  275. <Column size="60"/>
  276. <Column size="60"/>
  277. <Column size="60"/>
  278. <Column size="60"/>
  279. <Column size="60"/>
  280. <Column size="60"/>
  281. <Column size="60"/>
  282. <Column size="60"/>
  283. <Column size="60"/>
  284. <Column size="60"/>
  285. <Column size="60"/>
  286. <Column size="60"/>
  287. <Column size="60"/>
  288. <Column size="60"/>
  289. <Column size="60"/>
  290. <Column size="60"/>
  291. <Column size="60"/>
  292. <Column size="60"/>
  293. <Column size="60"/>
  294. <Column size="60"/>
  295. <Column size="60"/>
  296. <Column size="60"/>
  297. <Column size="60"/>
  298. <Column size="60"/>
  299. <Column size="60"/>
  300. <Column size="60"/>
  301. <Column size="60"/>
  302. <Column size="60"/>
  303. <Column size="60"/>
  304. <Column size="60"/>
  305. <Column size="60"/>
  306. <Column size="60"/>
  307. <Column size="60"/>
  308. <Column size="60"/>
  309. <Column size="60"/>
  310. <Column size="60"/>
  311. <Column size="60"/>
  312. <Column size="60"/>
  313. <Column size="60"/>
  314. <Column size="60"/>
  315. <Column size="60"/>
  316. <Column size="60"/>
  317. <Column size="60"/>
  318. <Column size="60"/>
  319. <Column size="60"/>
  320. <Column size="60"/>
  321. <Column size="60"/>
  322. <Column size="60"/>
  323. <Column size="60"/>
  324. <Column size="60"/>
  325. <Column size="60"/>
  326. <Column size="60"/>
  327. <Column size="60"/>
  328. <Column size="60"/>
  329. <Column size="60"/>
  330. <Column size="60"/>
  331. <Column size="60"/>
  332. <Column size="60"/>
  333. <Column size="60"/>
  334. <Column size="60"/>
  335. <Column size="60"/>
  336. <Column size="60"/>
  337. <Column size="60"/>
  338. <Column size="60"/>
  339. <Column size="60"/>
  340. <Column size="60"/>
  341. <Column size="60"/>
  342. <Column size="100"/>
  343. <Column size="100"/>
  344. <Column size="100"/>
  345. <Column size="100"/>
  346. <Column size="100"/>
  347. </Columns>
  348. <Rows>
  349. <Row size="24" band="head"/>
  350. <Row size="24"/>
  351. </Rows>
  352. <Band id="head">
  353. <Cell/>
  354. <Cell col="1" text="rkey"/>
  355. <Cell col="2" text="workno"/>
  356. <Cell col="3" text="bcno"/>
  357. <Cell col="4" text="chkstring"/>
  358. <Cell col="5" text="chktestcd"/>
  359. <Cell col="6" text="execprcpuniqno"/>
  360. <Cell col="7" text="testcd"/>
  361. <Cell col="8" text="spccd"/>
  362. <Cell col="9" text="bufinptrslt"/>
  363. <Cell col="10" text="reptrslt"/>
  364. <Cell col="11" text="rsltunit"/>
  365. <Cell col="12" text="judgmark"/>
  366. <Cell col="13" text="panicmark"/>
  367. <Cell col="14" text="deltamark"/>
  368. <Cell col="15" text="criticalmark"/>
  369. <Cell col="16" text="alertmark"/>
  370. <Cell col="17" text="rsltmark"/>
  371. <Cell col="18" text="rsltstat"/>
  372. <Cell col="19" text="bfbcno"/>
  373. <Cell col="20" text="bflastreptdt"/>
  374. <Cell col="21" text="testeqmtcd"/>
  375. <Cell col="22" text="comment"/>
  376. <Cell col="23" text="tclskind"/>
  377. <Cell col="24" text="spcacptid"/>
  378. <Cell col="25" text="spcacptdt"/>
  379. <Cell col="26" text="spcacptnm"/>
  380. <Cell col="27" text="rsltrgsgid"/>
  381. <Cell col="28" text="rsltrgstdt"/>
  382. <Cell col="29" text="rsltrgstnm"/>
  383. <Cell col="30" text="mdlreptid"/>
  384. <Cell col="31" text="mdlreptdt"/>
  385. <Cell col="32" text="mdlreptnm"/>
  386. <Cell col="33" text="lastreptid"/>
  387. <Cell col="34" text="lastreptdt"/>
  388. <Cell col="35" text="lastreptnm"/>
  389. <Cell col="36" text="tclscd"/>
  390. <Cell col="37" text="bfinptrslt"/>
  391. <Cell col="38" text="bfreptrslt"/>
  392. <Cell col="39" text="rsltseq"/>
  393. <Cell col="40" text="prcpgenrflag"/>
  394. <Cell col="41" text="rsltkind"/>
  395. <Cell col="42" text="rsltintsize"/>
  396. <Cell col="43" text="rsltdcmlsize"/>
  397. <Cell col="44" text="rundkind"/>
  398. <Cell col="45" text="rvalflag"/>
  399. <Cell col="46" text="descrval"/>
  400. <Cell col="47" text="judgkind"/>
  401. <Cell col="48" text="userjudgchar1"/>
  402. <Cell col="49" text="userjudgchar2"/>
  403. <Cell col="50" text="userjudgchar3"/>
  404. <Cell col="51" text="panicflag"/>
  405. <Cell col="52" text="panicminval"/>
  406. <Cell col="53" text="panicmaxval"/>
  407. <Cell col="54" text="deltaflag"/>
  408. <Cell col="55" text="deltaminval"/>
  409. <Cell col="56" text="deltamaxval"/>
  410. <Cell col="57" text="deltaterm"/>
  411. <Cell col="58" text="criticflag"/>
  412. <Cell col="59" text="criticminval"/>
  413. <Cell col="60" text="criticmaxval"/>
  414. <Cell col="61" text="alertflag"/>
  415. <Cell col="62" text="alertminval"/>
  416. <Cell col="63" text="allertmaxval"/>
  417. <Cell col="64" text="alimitls"/>
  418. <Cell col="65" text="alimitflag"/>
  419. <Cell col="66" text="alimitminval"/>
  420. <Cell col="67" text="alimith"/>
  421. <Cell col="68" text="alimiths"/>
  422. <Cell col="69" text="alimitls"/>
  423. <Cell col="70" text="refl"/>
  424. <Cell col="71" text="refls"/>
  425. <Cell col="72" text="refh"/>
  426. <Cell col="73" text="refhs"/>
  427. <Cell col="74" text="reflt"/>
  428. <Cell col="75" text="rstinterval"/>
  429. <Cell col="76" text="iud"/>
  430. <Cell col="77" text="spcscrnnm"/>
  431. <Cell col="78" text="inptrslt"/>
  432. <Cell col="79" text="testcmt"/>
  433. </Band>
  434. <Band id="body">
  435. <Cell/>
  436. <Cell col="1" text="bind:rkey"/>
  437. <Cell col="2" text="bind:workno"/>
  438. <Cell col="3" text="bind:bcno"/>
  439. <Cell col="4" text="bind:chkstring"/>
  440. <Cell col="5" text="bind:chktestcd"/>
  441. <Cell col="6" text="bind:execprcpuniqno"/>
  442. <Cell col="7" text="bind:testcd"/>
  443. <Cell col="8" text="bind:spccd"/>
  444. <Cell col="9" text="bind:bufinptrslt"/>
  445. <Cell col="10" displaytype="text" edittype="text" text="bind:reptrslt"/>
  446. <Cell col="11" text="bind:rsltunit"/>
  447. <Cell col="12" text="bind:judgmark"/>
  448. <Cell col="13" text="bind:panicmark"/>
  449. <Cell col="14" text="bind:deltamark"/>
  450. <Cell col="15" text="bind:criticalmark"/>
  451. <Cell col="16" text="bind:alertmark"/>
  452. <Cell col="17" text="bind:rsltmark"/>
  453. <Cell col="18" text="bind:rsltstat"/>
  454. <Cell col="19" text="bind:bfbcno"/>
  455. <Cell col="20" text="bind:bflastreptdt"/>
  456. <Cell col="21" text="bind:testeqmtcd"/>
  457. <Cell col="22" text="bind:comment"/>
  458. <Cell col="23" text="bind:tclskind"/>
  459. <Cell col="24" text="bind:spcacptid"/>
  460. <Cell col="25" text="bind:spcacptdt"/>
  461. <Cell col="26" text="bind:spcacptnm"/>
  462. <Cell col="27" text="bind:rsltrgsgid"/>
  463. <Cell col="28" text="bind:rsltrgstdt"/>
  464. <Cell col="29" text="bind:rsltrgstnm"/>
  465. <Cell col="30" text="bind:mdlreptid"/>
  466. <Cell col="31" text="bind:mdlreptdt"/>
  467. <Cell col="32" text="bind:mdlreptnm"/>
  468. <Cell col="33" text="bind:lastreptid"/>
  469. <Cell col="34" text="bind:lastreptdt"/>
  470. <Cell col="35" text="bind:lastreptnm"/>
  471. <Cell col="36" text="bind:tclscd"/>
  472. <Cell col="37" text="bind:bfinptrslt"/>
  473. <Cell col="38" text="bind:bfreptrslt"/>
  474. <Cell col="39" text="bind:rsltseq"/>
  475. <Cell col="40" text="bind:prcpgenrflag"/>
  476. <Cell col="41" text="bind:rsltkind"/>
  477. <Cell col="42" text="bind:rsltintsize"/>
  478. <Cell col="43" text="bind:rsltdcmlsize"/>
  479. <Cell col="44" text="bind:rundkind"/>
  480. <Cell col="45" text="bind:rvalflag"/>
  481. <Cell col="46" text="bind:descrval"/>
  482. <Cell col="47" text="bind:judgkind"/>
  483. <Cell col="48" text="bind:userjudgchar1"/>
  484. <Cell col="49" text="bind:userjudgchar2"/>
  485. <Cell col="50" text="bind:userjudgchar3"/>
  486. <Cell col="51" text="bind:panicflag"/>
  487. <Cell col="52" text="bind:panicminval"/>
  488. <Cell col="53" text="bind:panicmaxval"/>
  489. <Cell col="54" text="bind:deltaflag"/>
  490. <Cell col="55" text="bind:deltaminval"/>
  491. <Cell col="56" text="bind:deltamaxval"/>
  492. <Cell col="57" text="bind:deltaterm"/>
  493. <Cell col="58" text="bind:criticflag"/>
  494. <Cell col="59" text="bind:criticminval"/>
  495. <Cell col="60" text="bind:criticmaxval"/>
  496. <Cell col="61" text="bind:alertflag"/>
  497. <Cell col="62" text="bind:alertminval"/>
  498. <Cell col="63" text="bind:allertmaxval"/>
  499. <Cell col="64" text="bind:alimitls"/>
  500. <Cell col="65" text="bind:alimitflag"/>
  501. <Cell col="66" text="bind:alimitminval"/>
  502. <Cell col="67" text="bind:alimith"/>
  503. <Cell col="68" text="bind:alimiths"/>
  504. <Cell col="69" text="bind:alimitls"/>
  505. <Cell col="70" text="bind:refl"/>
  506. <Cell col="71" text="bind:refls"/>
  507. <Cell col="72" text="bind:refh"/>
  508. <Cell col="73" text="bind:refhs"/>
  509. <Cell col="74" text="bind:reflt"/>
  510. <Cell col="75" text="bind:rstinterval"/>
  511. <Cell col="76" text="bind:iud"/>
  512. <Cell col="77" text="bind:spcscrnnm"/>
  513. <Cell col="78" text="bind:inptrslt"/>
  514. <Cell col="79" text="bind:testcmt"/>
  515. </Band>
  516. </Format>
  517. </Formats>
  518. </Grid>
  519. <Static id="caption2" text="검사항목내역" class="tit_2" position="absolute 0 3 134 23" anchor="default" positiontype="position"/>
  520. </Layout>
  521. </Layouts>
  522. </Div>
  523. <Div id="group1" taborder="0" position="absolute 0 25 1256 92" class="div_SA" anchor="left top right" positiontype="position">
  524. <Layouts>
  525. <Layout width="1256" height="67">
  526. <Button id="btn_search" taborder="14" text="조회(F4)" class="btn1" position="absolute 1092 35 1172 55" anchor="top right" onclick="group1_btn_search_onclick" hotkey="F4" positiontype="position"/>
  527. <CheckBox id="chk_checkbox1" taborder="7" text="결과미입력" truevalue="1" class="checkbox_search" position="absolute 663 10 743 30" columncount="3" anchor="default" onchanged="group1_chk_checkbox1_onchanged" positiontype="position"/>
  528. <Static id="caption1" text="작업일자" class="search_name" position="absolute 8 10 83 30" anchor="default" positiontype="position" onclick="group1_caption1_onclick"/>
  529. <Combo id="cmb_workgroup" taborder="10" class="combo_search" position="absolute 81 35 186 55" anchor="default" innerdataset="@ds_lb0106" codecolumn="cd" datacolumn="nm" positiontype="position"/>
  530. <Static id="caption3" text="~" position="absolute 218 11 230 28" anchor="default" class="search_no_b" positiontype="position"/>
  531. <Static id="caption4" text="작업그룹" class="search_name" position="absolute 8 35 83 55" anchor="default" positiontype="position"/>
  532. <Static id="caption5" text="작업번호" class="search_name" position="absolute 387 10 462 30" anchor="default" positiontype="position"/>
  533. <Calendar id="ipt_startdd" taborder="1" class="input_search" position="absolute 81 10 166 30" anchor="default" positiontype="position"/>
  534. <MaskEdit id="ipt_starttm" taborder="2" mask="##:##" class="input_search" position="absolute 169 10 214 30" anchor="default" imemode="hangul" maxlength="4" type="string" positiontype="position"/>
  535. <Static id="caption7" text="~" position="absolute 508 11 520 28" anchor="default" class="search_no_b" positiontype="position"/>
  536. <Calendar id="ipt_enddd" taborder="3" class="input_search" position="absolute 230 10 315 30" anchor="default" positiontype="position"/>
  537. <MaskEdit id="ipt_endtm" taborder="4" mask="##:##" class="input_search" position="absolute 318 10 363 30" anchor="default" imemode="hangul" maxlength="4" type="string" positiontype="position"/>
  538. <Static id="caption8" text="결과구분" class="search_name" position="absolute 590 10 665 30" anchor="default" positiontype="position"/>
  539. <Edit id="ipt_sworkseq" taborder="5" class="input_search" position="absolute 460 10 505 30" anchor="default" imemode="hangul" positiontype="position"/>
  540. <Edit id="ipt_eworkseq" taborder="6" class="input_search" position="absolute 521 10 566 30" anchor="default" imemode="hangul" positiontype="position"/>
  541. <Static id="caption9" text="검사항목" class="search_name" position="absolute 392 35 467 55" anchor="default" positiontype="position"/>
  542. <Button id="btn_tclsnmlist" taborder="13" class="icon_search" position="absolute 1009 35 1030 55" anchor="default" text="" onclick="group1_btn_tclsnmlist_onclick" positiontype="position"/>
  543. <Edit id="ipt_tclscdlist" taborder="17" class="input_search" position="absolute 586 35 1006 55" anchor="default" imemode="hangul" enable="false" readonly="true" positiontype="position"/>
  544. <CheckBox id="chk_checkbox2" taborder="8" text="결과입력" truevalue="1" class="checkbox_search" position="absolute 750 10 820 30" columncount="3" anchor="default" onchanged="group1_chk_checkbox2_onchanged" positiontype="position"/>
  545. <CheckBox id="chk_checkbox3" taborder="9" text="최종보고" truevalue="1" class="checkbox_search" position="absolute 825 10 900 30" columncount="3" anchor="default" onchanged="group1_chk_checkbox3_onchanged" positiontype="position"/>
  546. <Combo id="cmb_testgrup" taborder="12" class="combo_search" position="absolute 465 35 583 55" anchor="default" innerdataset="@ds_lb0103" codecolumn="cd" datacolumn="nm" onitemchanged="group1_cmb_testgrup_onitemchanged" positiontype="position" enable="true"/>
  547. <Static id="caption6" text="결과코드" class="search_name" position="absolute 210 36 285 53" anchor="default" positiontype="position"/>
  548. <Edit id="ipt_testpsn" taborder="0" class="input_essential" position="absolute 975 10 1051 30" anchor="default" imemode="alpha" onkeydown="group1_ipt_testpsn_onkeydown" inputmode="upper" positiontype="position"/>
  549. <Edit id="opt_testpsn" taborder="16" readonly="true" position="absolute 1054 10 1136 30" anchor="default" positiontype="position"/>
  550. <Static id="caption19" text="검사자" class="search_name" position="absolute 913 10 988 30" anchor="default" positiontype="position"/>
  551. <Combo id="cmb_rslt" taborder="11" class="combo_search" position="absolute 283 35 368 55" anchor="default" innerdataset="@ds_lb0109" codecolumn="cd" datacolumn="nm" onitemchanged="group1_cmb_rslt_onitemchanged" type="filter" ontextchanged="group1_cmb_rslt_ontextchanged" onkeydown="group1_cmb_rslt_onkeydown" positiontype="position"/>
  552. <Button id="btn_cle" taborder="15" text="초기화" class="btn1" position="absolute 1175 35 1244 55" anchor="top right" onclick="group1_btn_cle_onclick" positiontype="position"/>
  553. </Layout>
  554. </Layouts>
  555. </Div>
  556. <Static id="caption17" text="검사항목별결과관리" class="tit_1" position="absolute 0 0 161 25" onkeydown="caption17_onkeydown" positiontype="position" ondbclick="caption17_ondbclick"/>
  557. <Button id="btn_excel" class="btn7" position="absolute 1202 99 1255 119" anchor="top right" positiontype="position" text="엑셀" onclick="btn_excel_onclick" taborder="2"/>
  558. <Button id="btn_save" taborder="3" text="결과저장(F8)" onclick="grp_btn_btn_save_onclick" class="btn4" position="absolute 880 0 988 20" anchor="top right" hotkey="F8"/>
  559. <Button id="btn_mdlrept" taborder="4" text="중간예비보고(F10)" onclick="grp_btn_btn_mdlrept_onclick" class="btn4" position="absolute 991 0 1135 20" anchor="top right"/>
  560. <Button id="btn_lstrept" taborder="5" text="최종보고(F11)" onclick="grp_btn_btn_lstrept_onclick" class="btn4" position="absolute 1138 0 1256 20" anchor="top right"/>
  561. <Button id="btn_barcode" taborder="6" text="바코드재출력" onclick="grp_btn_btn_barcode_onclick" class="btn3" position="absolute 769 0 877 20" anchor="top right"/>
  562. </Layout>
  563. </Layouts>
  564. <Objects>
  565. <Dataset id="ds_grid_grd_testlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  566. <ColumnInfo>
  567. <Column id="chk" type="STRING"/>
  568. <Column id="spcacptdt" type="STRING"/>
  569. <Column id="bcno" type="STRING"/>
  570. <Column id="pid" type="STRING"/>
  571. <Column id="patnm" type="STRING"/>
  572. <Column id="sex" type="STRING"/>
  573. <Column id="age" type="STRING"/>
  574. <Column id="orddeptnm" type="STRING"/>
  575. <Column id="wardroom" type="STRING"/>
  576. <Column id="orddrnm" type="STRING"/>
  577. <Column id="spccd" type="STRING"/>
  578. <Column id="inptrslt1" type="STRING"/>
  579. <Column id="inptrslt2" type="STRING"/>
  580. <Column id="inptrslt3" type="STRING"/>
  581. <Column id="inptrslt4" type="STRING"/>
  582. <Column id="inptrslt5" type="STRING"/>
  583. <Column id="inptrslt6" type="STRING"/>
  584. <Column id="inptrslt7" type="STRING"/>
  585. <Column id="inptrslt8" type="STRING"/>
  586. <Column id="inptrslt9" type="STRING"/>
  587. <Column id="inptrslt10" type="STRING"/>
  588. <Column id="inptrslt11" type="STRING"/>
  589. <Column id="inptrslt12" type="STRING"/>
  590. <Column id="inptrslt13" type="STRING"/>
  591. <Column id="inptrslt14" type="STRING"/>
  592. <Column id="inptrslt15" type="STRING"/>
  593. <Column id="inptrslt16" type="STRING"/>
  594. <Column id="inptrslt17" type="STRING"/>
  595. <Column id="inptrslt18" type="STRING"/>
  596. <Column id="inptrslt19" type="STRING"/>
  597. <Column id="inptrslt20" type="STRING"/>
  598. <Column id="inptrslt21" type="STRING"/>
  599. <Column id="inptrslt22" type="STRING"/>
  600. <Column id="inptrslt23" type="STRING"/>
  601. <Column id="inptrslt24" type="STRING"/>
  602. <Column id="inptrslt25" type="STRING"/>
  603. <Column id="inptrslt26" type="STRING"/>
  604. <Column id="inptrslt27" type="STRING"/>
  605. <Column id="inptrslt28" type="STRING"/>
  606. <Column id="inptrslt29" type="STRING"/>
  607. <Column id="inptrslt30" type="STRING"/>
  608. </ColumnInfo>
  609. </Dataset>
  610. <Dataset id="ds_grid_datagrid2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  611. <ColumnInfo>
  612. <Column id="judgmark" type="STRING"/>
  613. <Column id="panicmark" type="STRING"/>
  614. <Column id="deltamark" type="STRING"/>
  615. <Column id="criticalmark" type="STRING"/>
  616. <Column id="alertmark" type="STRING"/>
  617. <Column id="rsltmark" type="STRING"/>
  618. </ColumnInfo>
  619. </Dataset>
  620. <Dataset id="ds_grid_grd_vlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  621. <ColumnInfo>
  622. <Column id="rkey" type="STRING"/>
  623. <Column id="workno" type="STRING"/>
  624. <Column id="bcno" type="STRING"/>
  625. <Column id="chkstring" type="STRING"/>
  626. <Column id="chktestcd" type="STRING"/>
  627. <Column id="execprcpuniqno" type="STRING"/>
  628. <Column id="testcd" type="STRING"/>
  629. <Column id="spccd" type="STRING"/>
  630. <Column id="bufinptrslt" type="STRING"/>
  631. <Column id="reptrslt" type="STRING"/>
  632. <Column id="rsltunit" type="STRING"/>
  633. <Column id="judgmark" type="STRING"/>
  634. <Column id="panicmark" type="STRING"/>
  635. <Column id="deltamark" type="STRING"/>
  636. <Column id="criticalmark" type="STRING"/>
  637. <Column id="alertmark" type="STRING"/>
  638. <Column id="rsltmark" type="STRING"/>
  639. <Column id="rsltstat" type="STRING"/>
  640. <Column id="bfbcno" type="STRING"/>
  641. <Column id="bflastreptdt" type="STRING"/>
  642. <Column id="testeqmtcd" type="STRING"/>
  643. <Column id="comment" type="STRING"/>
  644. <Column id="tclskind" type="STRING"/>
  645. <Column id="spcacptid" type="STRING"/>
  646. <Column id="spcacptdt" type="STRING"/>
  647. <Column id="spcacptnm" type="STRING"/>
  648. <Column id="rsltrgsgid" type="STRING"/>
  649. <Column id="rsltrgstdt" type="STRING"/>
  650. <Column id="rsltrgstnm" type="STRING"/>
  651. <Column id="mdlreptid" type="STRING"/>
  652. <Column id="mdlreptdt" type="STRING"/>
  653. <Column id="mdlreptnm" type="STRING"/>
  654. <Column id="lastreptid" type="STRING"/>
  655. <Column id="lastreptdt" type="STRING"/>
  656. <Column id="lastreptnm" type="STRING"/>
  657. <Column id="tclscd" type="STRING"/>
  658. <Column id="bfinptrslt" type="STRING"/>
  659. <Column id="bfreptrslt" type="STRING"/>
  660. <Column id="rsltseq" type="STRING"/>
  661. <Column id="prcpgenrflag" type="STRING"/>
  662. <Column id="rsltkind" type="STRING"/>
  663. <Column id="rsltintsize" type="STRING"/>
  664. <Column id="rsltdcmlsize" type="STRING"/>
  665. <Column id="rundkind" type="STRING"/>
  666. <Column id="rvalflag" type="STRING"/>
  667. <Column id="descrval" type="STRING"/>
  668. <Column id="judgkind" type="STRING"/>
  669. <Column id="userjudgchar1" type="STRING"/>
  670. <Column id="userjudgchar2" type="STRING"/>
  671. <Column id="userjudgchar3" type="STRING"/>
  672. <Column id="panicflag" type="STRING"/>
  673. <Column id="panicminval" type="STRING"/>
  674. <Column id="panicmaxval" type="STRING"/>
  675. <Column id="deltaflag" type="STRING"/>
  676. <Column id="deltaminval" type="STRING"/>
  677. <Column id="deltamaxval" type="STRING"/>
  678. <Column id="deltaterm" type="STRING"/>
  679. <Column id="criticflag" type="STRING"/>
  680. <Column id="criticminval" type="STRING"/>
  681. <Column id="criticmaxval" type="STRING"/>
  682. <Column id="alertflag" type="STRING"/>
  683. <Column id="alertminval" type="STRING"/>
  684. <Column id="allertmaxval" type="STRING"/>
  685. <Column id="alimitls" type="STRING"/>
  686. <Column id="alimitflag" type="STRING"/>
  687. <Column id="alimitminval" type="STRING"/>
  688. <Column id="alimith" type="STRING"/>
  689. <Column id="alimiths" type="STRING"/>
  690. <Column id="alimitls" type="STRING"/>
  691. <Column id="refl" type="STRING"/>
  692. <Column id="refls" type="STRING"/>
  693. <Column id="refh" type="STRING"/>
  694. <Column id="refhs" type="STRING"/>
  695. <Column id="reflt" type="STRING"/>
  696. <Column id="rstinterval" type="STRING"/>
  697. <Column id="iud" type="STRING"/>
  698. <Column id="spcscrnnm" type="STRING"/>
  699. <Column id="inptrslt" type="STRING"/>
  700. <Column id="testcmt" type="STRING"/>
  701. <Column id="sectcd" type="STRING" size="256"/>
  702. <Column id="tsectcd" type="STRING" size="256"/>
  703. <Column id="refval" type="STRING" size="256"/>
  704. <Column id="rsltrgsgnm" type="STRING" size="256"/>
  705. <Column id="tclsscrnnm" type="STRING" size="256"/>
  706. <Column id="testrsltkind" type="STRING" size="256"/>
  707. <Column id="nvalrsltlimyn" type="STRING" size="256"/>
  708. <Column id="criticalflag" type="STRING" size="256"/>
  709. <Column id="criticalminval" type="STRING" size="256"/>
  710. <Column id="criticalmaxval" type="STRING" size="256"/>
  711. <Column id="alertmaxval" type="STRING" size="256"/>
  712. <Column id="alimitmaxval" type="STRING" size="256"/>
  713. <Column id="alimitmaxvalsinq" type="STRING" size="256"/>
  714. <Column id="calformcnts" type="STRING" size="256"/>
  715. <Column id="apptestcnt" type="STRING" size="256"/>
  716. <Column id="apptclscd" type="STRING" size="256"/>
  717. </ColumnInfo>
  718. </Dataset>
  719. <Dataset id="ds_cond_refparam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  720. <ColumnInfo>
  721. <Column id="startdd" type="STRING" size="256"/>
  722. <Column id="enddd" type="STRING" size="256"/>
  723. <Column id="tsectcd" type="STRING" size="256"/>
  724. <Column id="sworkseq" type="STRING" size="256"/>
  725. <Column id="eworkseq" type="STRING" size="256"/>
  726. <Column id="starttm" type="STRING" size="256"/>
  727. <Column id="endtm" type="STRING" size="256"/>
  728. <Column id="rsltstat0" type="STRING" size="256"/>
  729. <Column id="rsltstat1" type="STRING" size="256"/>
  730. <Column id="rsltstat2" type="STRING" size="256"/>
  731. <Column id="userid" type="STRING" size="256"/>
  732. <Column id="rsltstat" type="STRING" size="256"/>
  733. <Column id="tclscdlist" type="STRING" size="256"/>
  734. <Column id="tclscdlist2" type="STRING" size="256"/>
  735. <Column id="userdeptflagcd" type="STRING" size="256"/>
  736. <Column id="medispclyn" type="STRING" size="256"/>
  737. </ColumnInfo>
  738. <Rows>
  739. <Row/>
  740. </Rows>
  741. </Dataset>
  742. <Dataset id="ds_cond_tclscdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  743. <ColumnInfo>
  744. <Column id="tclsnmlist" type="STRING" size="256"/>
  745. <Column id="testgrup" type="STRING" size="256"/>
  746. <Column id="tclscdlist" type="STRING" size="256"/>
  747. <Column id="tclscdlist2" type="STRING" size="256"/>
  748. <Column id="tclsnmlist2" type="STRING" size="256"/>
  749. <Column id="menuparam" type="STRING" size="256"/>
  750. <Column id="testgrpnm" type="STRING" size="256"/>
  751. </ColumnInfo>
  752. <Rows>
  753. <Row/>
  754. </Rows>
  755. </Dataset>
  756. <Dataset id="ds_cond_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  757. <ColumnInfo>
  758. <Column id="rsltcont" type="STRING" size="256"/>
  759. <Column id="cursor" type="STRING" size="256"/>
  760. <Column id="prerow" type="STRING" size="256"/>
  761. <Column id="currenRow" type="STRING" size="256"/>
  762. <Column id="cmtflag" type="STRING" size="256"/>
  763. <Column id="preautocmt" type="STRING" size="256"/>
  764. </ColumnInfo>
  765. <Rows>
  766. <Row>
  767. <Col id="cmtflag">1</Col>
  768. </Row>
  769. </Rows>
  770. </Dataset>
  771. <Dataset id="ds_cond_getUsernm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  772. <ColumnInfo>
  773. <Column id="usernm" type="STRING" size="255"/>
  774. <Column id="userid" type="STRING" size="255"/>
  775. <Column id="userflag" type="STRING" size="255"/>
  776. </ColumnInfo>
  777. <Rows>
  778. <Row/>
  779. </Rows>
  780. </Dataset>
  781. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  782. <ColumnInfo>
  783. <Column id="codeflag" type="STRING" size="256"/>
  784. <Column id="userid" type="STRING" size="256"/>
  785. <Column id="testgrupseqno" type="STRING" size="256"/>
  786. <Column id="bcno" type="STRING" size="256"/>
  787. <Column id="testgrupnm" type="STRING" size="256"/>
  788. </ColumnInfo>
  789. <Rows>
  790. <Row/>
  791. </Rows>
  792. </Dataset>
  793. <Dataset id="ds_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  794. <ColumnInfo>
  795. <Column id="cd" type="STRING" size="255"/>
  796. <Column id="nm" type="STRING" size="255"/>
  797. </ColumnInfo>
  798. </Dataset>
  799. <Dataset id="ds_lb0103" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  800. <ColumnInfo>
  801. <Column id="cd" type="BIGDECIMAL" size="255"/>
  802. <Column id="nm" type="STRING" size="255"/>
  803. <Column id="etc01" type="STRING" size="255"/>
  804. <Column id="etc02" type="STRING" size="255"/>
  805. <Column id="etc03" type="STRING" size="255"/>
  806. <Column id="etc04" type="STRING" size="255"/>
  807. </ColumnInfo>
  808. </Dataset>
  809. <Dataset id="ds_lb0105" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  810. <ColumnInfo>
  811. <Column id="cd" type="STRING" size="255"/>
  812. <Column id="nm" type="STRING" size="255"/>
  813. <Column id="etc01" type="STRING" size="255"/>
  814. <Column id="etc02" type="STRING" size="255"/>
  815. <Column id="etc03" type="STRING" size="255"/>
  816. <Column id="etc04" type="STRING" size="255"/>
  817. </ColumnInfo>
  818. </Dataset>
  819. <Dataset id="ds_lb0106" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  820. <ColumnInfo>
  821. <Column id="cd" type="STRING" size="255"/>
  822. <Column id="nm" type="STRING" size="255"/>
  823. <Column id="etc01" type="STRING" size="255"/>
  824. <Column id="etc02" type="STRING" size="255"/>
  825. <Column id="etc03" type="BIGDECIMAL" size="255"/>
  826. <Column id="etc04" type="BIGDECIMAL" size="255"/>
  827. </ColumnInfo>
  828. </Dataset>
  829. <Dataset id="ds_lb0109" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  830. <ColumnInfo>
  831. <Column id="cd" type="STRING" size="255"/>
  832. <Column id="nm" type="STRING" size="255"/>
  833. <Column id="etc01" type="STRING" size="255"/>
  834. <Column id="etc02" type="STRING" size="255"/>
  835. <Column id="etc03" type="STRING" size="255"/>
  836. <Column id="etc04" type="STRING" size="255"/>
  837. </ColumnInfo>
  838. </Dataset>
  839. <Dataset id="ds_lb0210" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  840. <ColumnInfo>
  841. <Column id="cd" type="STRING" size="255"/>
  842. <Column id="nm" type="STRING" size="255"/>
  843. <Column id="etc01" type="STRING" size="255"/>
  844. <Column id="etc02" type="STRING" size="255"/>
  845. <Column id="etc03" type="STRING" size="255"/>
  846. <Column id="etc04" type="BIGDECIMAL" size="255"/>
  847. </ColumnInfo>
  848. </Dataset>
  849. <Dataset id="ds_lb1005" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  850. <ColumnInfo>
  851. <Column id="cd" type="STRING" size="255"/>
  852. </ColumnInfo>
  853. </Dataset>
  854. <Dataset id="ds_detail_spcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  855. <ColumnInfo>
  856. <Column id="spcscrnnm" type="STRING" size="256"/>
  857. <Column id="refval" type="STRING" size="256"/>
  858. <Column id="rsltrgsgnm" type="STRING" size="256"/>
  859. <Column id="reptrslt" type="STRING" size="256"/>
  860. <Column id="bfreptrslt" type="STRING" size="256"/>
  861. <Column id="bflastreptdt" type="STRING" size="256"/>
  862. <Column id="testeqmtcd" type="STRING" size="256"/>
  863. <Column id="mdlreptnm" type="STRING" size="256"/>
  864. <Column id="lastreptnm" type="STRING" size="256"/>
  865. <Column id="testcmt" type="STRING" size="256"/>
  866. <Column id="testcont" type="STRING" size="256"/>
  867. <Column id="testcmts" type="STRING" size="256"/>
  868. <Column id="judgmark" type="STRING" size="256"/>
  869. <Column id="panicmark" type="STRING" size="256"/>
  870. <Column id="deltamark" type="STRING" size="256"/>
  871. <Column id="criticalmark" type="STRING" size="256"/>
  872. <Column id="alertmark" type="STRING" size="256"/>
  873. <Column id="rsltmark" type="STRING" size="256"/>
  874. <Column id="inptrslt4" type="STRING" size="256"/>
  875. </ColumnInfo>
  876. <Rows>
  877. <Row/>
  878. </Rows>
  879. </Dataset>
  880. <Dataset id="ds_testconttsectcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  881. <ColumnInfo>
  882. <Column id="nm" type="STRING" size="256"/>
  883. <Column id="cd" type="STRING" size="256"/>
  884. </ColumnInfo>
  885. </Dataset>
  886. <Dataset id="ds_hidden_testcont" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  887. <ColumnInfo>
  888. <Column id="tsectcd" type="STRING" size="256"/>
  889. <Column id="testcontcd" type="STRING" size="256"/>
  890. </ColumnInfo>
  891. <Rows>
  892. <Row/>
  893. </Rows>
  894. </Dataset>
  895. <Dataset id="ds_bind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  896. <ColumnInfo>
  897. <Column id="able" type="STRING"/>
  898. <Column id="searchtext" type="STRING"/>
  899. </ColumnInfo>
  900. </Dataset>
  901. <Dataset id="ds_testgrupdetl" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  902. <ColumnInfo>
  903. <Column id="tclsnm" type="STRING" size="255"/>
  904. <Column id="tclscd" type="STRING" size="255"/>
  905. <Column id="tclscddispseq" type="BIGDECIMAL" size="255"/>
  906. <Column id="tclsprntnm" type="STRING" size="255"/>
  907. </ColumnInfo>
  908. </Dataset>
  909. <Dataset id="ds_hidden_AcmlRsltRef" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  910. <ColumnInfo>
  911. <Column id="pid" type="STRING" size="256"/>
  912. <Column id="testcd" type="STRING" size="256"/>
  913. <Column id="hngnm" type="STRING" size="256"/>
  914. <Column id="sex" type="STRING" size="256"/>
  915. <Column id="age" type="STRING" size="256"/>
  916. <Column id="startdd" type="STRING" size="256"/>
  917. <Column id="enddd" type="STRING" size="256"/>
  918. <Column id="flag" type="STRING" size="256"/>
  919. </ColumnInfo>
  920. <Rows>
  921. <Row/>
  922. </Rows>
  923. </Dataset>
  924. <Dataset id="ds_send_data1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  925. <ColumnInfo>
  926. <Column id="startdd" type="STRING" size="256"/>
  927. <Column id="enddd" type="STRING" size="256"/>
  928. <Column id="tsectcd" type="STRING" size="256"/>
  929. <Column id="sworkseq" type="STRING" size="256"/>
  930. <Column id="eworkseq" type="STRING" size="256"/>
  931. <Column id="starttm" type="STRING" size="256"/>
  932. <Column id="endtm" type="STRING" size="256"/>
  933. <Column id="rsltstat0" type="STRING" size="256"/>
  934. <Column id="rsltstat1" type="STRING" size="256"/>
  935. <Column id="rsltstat2" type="STRING" size="256"/>
  936. <Column id="userid" type="STRING" size="256"/>
  937. <Column id="rsltstat" type="STRING" size="256"/>
  938. <Column id="tclscdlist" type="STRING" size="256"/>
  939. <Column id="tclscdlist2" type="STRING" size="256"/>
  940. <Column id="userdeptflagcd" type="STRING" size="256"/>
  941. <Column id="medispclyn" type="STRING" size="256"/>
  942. </ColumnInfo>
  943. </Dataset>
  944. <Dataset id="ds_bak_testitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  945. <ColumnInfo>
  946. <Column id="rkey" type="STRING" size="256"/>
  947. </ColumnInfo>
  948. </Dataset>
  949. <Dataset id="ds_testcmts" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  950. <ColumnInfo>
  951. <Column id="bcno" type="STRING" size="255"/>
  952. <Column id="tclscd" type="STRING" size="255"/>
  953. <Column id="spccd" type="STRING" size="255"/>
  954. <Column id="testcd" type="STRING" size="255"/>
  955. <Column id="rsltseq" type="BIGDECIMAL" size="255"/>
  956. <Column id="testcontcd" type="STRING" size="255"/>
  957. <Column id="testcont" type="STRING" size="255"/>
  958. </ColumnInfo>
  959. </Dataset>
  960. <Dataset id="ds_send_searchcmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  961. <ColumnInfo>
  962. <Column id="testcd" type="STRING" size="256"/>
  963. <Column id="spccd" type="STRING" size="256"/>
  964. <Column id="orgrst" type="STRING" size="256"/>
  965. <Column id="viewrst" type="STRING" size="256"/>
  966. </ColumnInfo>
  967. </Dataset>
  968. <Dataset id="ds_send_dpd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  969. <ColumnInfo>
  970. <Column id="prcpdd" type="STRING" size="256"/>
  971. <Column id="testcd" type="STRING" size="256"/>
  972. <Column id="pid" type="STRING" size="256"/>
  973. </ColumnInfo>
  974. <Rows>
  975. <Row/>
  976. </Rows>
  977. </Dataset>
  978. <Dataset id="ds_dpdrslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  979. <ColumnInfo>
  980. <Column id="rslt" type="STRING" size="255"/>
  981. <Column id="dt" type="STRING" size="255"/>
  982. </ColumnInfo>
  983. </Dataset>
  984. <Dataset id="ds_chkstr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  985. <ColumnInfo>
  986. <Column id="chkstring" type="STRING" size="255"/>
  987. <Column id="tclscdseqno" type="STRING" size="255"/>
  988. <Column id="judgrsltkind" type="STRING" size="255"/>
  989. <Column id="basevalsinq" type="STRING" size="255"/>
  990. <Column id="baseval" type="STRING" size="255"/>
  991. <Column id="judgcond" type="STRING" size="255"/>
  992. <Column id="calform" type="STRING" size="255"/>
  993. <Column id="tclscd" type="STRING" size="255"/>
  994. <Column id="cmtcnts" type="STRING" size="255"/>
  995. <Column id="cmtdetlcnts" type="STRING" size="255"/>
  996. </ColumnInfo>
  997. </Dataset>
  998. <Dataset id="ds_main_testcont" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  999. <ColumnInfo>
  1000. <Column id="bcno" type="STRING" size="256"/>
  1001. <Column id="testcontcd" type="STRING" size="256"/>
  1002. <Column id="testcont" type="STRING" size="256"/>
  1003. <Column id="testcontkind" type="STRING" size="256"/>
  1004. <Column id="execdeptcd" type="STRING" size="256"/>
  1005. <Column id="iud" type="STRING" size="256"/>
  1006. </ColumnInfo>
  1007. </Dataset>
  1008. <Dataset id="ds_autocmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1009. <ColumnInfo>
  1010. <Column id="cmttext" type="STRING" size="256"/>
  1011. </ColumnInfo>
  1012. </Dataset>
  1013. <Dataset id="ds_hidden_refflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1014. <ColumnInfo>
  1015. <Column id="isedit" type="STRING" size="256"/>
  1016. <Column id="bcno" type="STRING" size="256"/>
  1017. <Column id="rsltstat" type="STRING" size="256"/>
  1018. <Column id="testlrgkind" type="STRING" size="256"/>
  1019. <Column id="userid" type="STRING" size="256"/>
  1020. <Column id="rsltscrflag" type="STRING" size="256"/>
  1021. </ColumnInfo>
  1022. <Rows>
  1023. <Row/>
  1024. </Rows>
  1025. </Dataset>
  1026. <Dataset id="ds_send_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1027. <ColumnInfo>
  1028. <Column id="isedit" type="STRING" size="256"/>
  1029. </ColumnInfo>
  1030. </Dataset>
  1031. <Dataset id="ds_send_data3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1032. <ColumnInfo>
  1033. <Column id="bcno" type="STRING" size="256"/>
  1034. <Column id="testcontcd" type="STRING" size="256"/>
  1035. <Column id="execdeptcd" type="STRING" size="256"/>
  1036. <Column id="testcont" type="STRING" size="256"/>
  1037. <Column id="testcontkind" type="STRING" size="256"/>
  1038. </ColumnInfo>
  1039. </Dataset>
  1040. <Dataset id="ds_send_data4" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1041. <ColumnInfo>
  1042. <Column id="bcno" type="STRING" size="256"/>
  1043. <Column id="tclscd" type="STRING" size="256"/>
  1044. <Column id="testcd" type="STRING" size="256"/>
  1045. <Column id="spccd" type="STRING" size="256"/>
  1046. <Column id="rsltseq" type="STRING" size="256"/>
  1047. <Column id="testcontcd" type="STRING" size="256"/>
  1048. <Column id="testcont" type="STRING" size="256"/>
  1049. <Column id="flag" type="STRING" size="256"/>
  1050. <Column id="status" type="STRING" size="256"/>
  1051. </ColumnInfo>
  1052. </Dataset>
  1053. <Dataset id="ds_updateparam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1054. <ColumnInfo>
  1055. <Column id="rsltstat" type="STRING" size="256"/>
  1056. <Column id="tclslrgkind" type="STRING" size="256"/>
  1057. <Column id="XFMGbn" type="STRING" size="256"/>
  1058. </ColumnInfo>
  1059. <Rows>
  1060. <Row>
  1061. <Col id="XFMGbn">result</Col>
  1062. <Col id="tclslrgkind">-</Col>
  1063. </Row>
  1064. </Rows>
  1065. </Dataset>
  1066. <Dataset id="ds_temp_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1067. <ColumnInfo>
  1068. <Column id="bcno" type="STRING" size="256"/>
  1069. <Column id="rsltstat" type="STRING" size="256"/>
  1070. <Column id="testlrgkind" type="STRING" size="256"/>
  1071. <Column id="userid" type="STRING" size="256"/>
  1072. <Column id="XFMGbn" type="STRING" size="256"/>
  1073. <Column id="flag" type="STRING" size="256"/>
  1074. </ColumnInfo>
  1075. </Dataset>
  1076. <Dataset id="pDJGGParm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  1077. <ColumnInfo>
  1078. <Column id="bcno" type="STRING" size="256"/>
  1079. <Column id="testlrgkind" type="STRING" size="256"/>
  1080. <Column id="microtestkind" type="STRING" size="256"/>
  1081. <Column id="bufDJGG" type="STRING" size="256"/>
  1082. <Column id="testcdlist" type="STRING" size="256"/>
  1083. <Column id="uprsltYN" type="STRING" size="256"/>
  1084. <Column id="rsltsaveYN" type="STRING" size="256"/>
  1085. <Column id="userid" type="STRING" size="256"/>
  1086. </ColumnInfo>
  1087. <Rows>
  1088. <Row/>
  1089. </Rows>
  1090. </Dataset>
  1091. <Dataset id="ds_temp_sendtclsnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1092. <Dataset id="ds_bftest" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  1093. </Objects>
  1094. <Bind>
  1095. <BindItem id="item0" compid="group1.ipt_testpsn" propid="value" datasetid="ds_cond_refparam" columnid="userid"/>
  1096. <BindItem id="item1" compid="group3.cmb_cmt" propid="value" datasetid="ds_hidden_testcont" columnid="testcontcd"/>
  1097. <BindItem id="item2" compid="group3.cmb_sect" propid="value" datasetid="ds_hidden_testcont" columnid="tsectcd"/>
  1098. <BindItem id="item3" compid="group1.ipt_startdd" propid="value" datasetid="ds_cond_refparam" columnid="startdd"/>
  1099. <BindItem id="item4" compid="group1.ipt_starttm" propid="value" datasetid="ds_cond_refparam" columnid="starttm"/>
  1100. <BindItem id="item5" compid="group1.ipt_enddd" propid="value" datasetid="ds_cond_refparam" columnid="enddd"/>
  1101. <BindItem id="item6" compid="group1.ipt_endtm" propid="value" datasetid="ds_cond_refparam" columnid="endtm"/>
  1102. <BindItem id="item7" compid="group1.cmb_workgroup" propid="value" datasetid="ds_cond_refparam" columnid="tsectcd"/>
  1103. <BindItem id="item8" compid="group1.ipt_sworkseq" propid="value" datasetid="ds_cond_refparam" columnid="sworkseq"/>
  1104. <BindItem id="item9" compid="group1.ipt_eworkseq" propid="value" datasetid="ds_cond_refparam" columnid="eworkseq"/>
  1105. <BindItem id="item10" compid="group1.chk_checkbox1" propid="value" datasetid="ds_cond_refparam" columnid="rsltstat0"/>
  1106. <BindItem id="item11" compid="group1.chk_checkbox2" propid="value" datasetid="ds_cond_refparam" columnid="rsltstat1"/>
  1107. <BindItem id="item12" compid="group1.chk_checkbox3" propid="value" datasetid="ds_cond_refparam" columnid="rsltstat2"/>
  1108. <BindItem id="item13" compid="group1.cmb_rslt" propid="value" datasetid="ds_cond_hidden" columnid="rsltcont"/>
  1109. <BindItem id="item14" compid="group3.radio1" propid="value" datasetid="ds_cond_hidden" columnid="cursor"/>
  1110. <BindItem id="item15" compid="group1.cmb_testgrup" propid="value" datasetid="ds_cond_tclscdlist" columnid="testgrup"/>
  1111. <BindItem id="item16" compid="group1.ipt_tclscdlist" propid="value" datasetid="ds_cond_tclscdlist" columnid="tclsnmlist"/>
  1112. <BindItem id="item17" compid="group1.opt_testpsn" propid="value" datasetid="ds_cond_getUsernm" columnid="usernm"/>
  1113. <BindItem id="item18" compid="group3.output1" propid="value" datasetid="ds_detail_spcinfo" columnid="spcscrnnm"/>
  1114. <BindItem id="item19" compid="group3.output2" propid="value" datasetid="ds_detail_spcinfo" columnid="refval"/>
  1115. <BindItem id="item20" compid="group3.output8" propid="value" datasetid="ds_detail_spcinfo" columnid="rsltrgsgnm"/>
  1116. <BindItem id="item21" compid="group3.output9" propid="value" datasetid="ds_detail_spcinfo" columnid="mdlreptnm"/>
  1117. <BindItem id="item22" compid="group3.output10" propid="value" datasetid="ds_detail_spcinfo" columnid="lastreptnm"/>
  1118. <BindItem id="item23" compid="group3.output6" propid="value" datasetid="ds_detail_spcinfo" columnid="testeqmtcd"/>
  1119. <BindItem id="item24" compid="group3.ipt_bf" propid="value" datasetid="ds_detail_spcinfo" columnid="bfreptrslt"/>
  1120. <BindItem id="item25" compid="group3.output3" propid="value" datasetid="ds_detail_spcinfo" columnid="reptrslt"/>
  1121. <BindItem id="item26" compid="group3.ipt_bfdt" propid="value" datasetid="ds_detail_spcinfo" columnid="bflastreptdt"/>
  1122. <BindItem id="item27" compid="group3.text_comment" propid="value" datasetid="ds_detail_spcinfo" columnid="testcmt"/>
  1123. <BindItem id="item28" compid="group3.output7" propid="value" datasetid="ds_cond_hidden" columnid="currenRow"/>
  1124. <BindItem id="item29" compid="group3.rdo_cmts" propid="value" datasetid="ds_cond_hidden" columnid="cmtflag"/>
  1125. <BindItem id="item30" compid="group3.text_testdept" propid="value" datasetid="ds_detail_spcinfo" columnid="testcont"/>
  1126. <BindItem id="item31" compid="group3.text_testcmts" propid="value" datasetid="ds_detail_spcinfo" columnid="testcmts"/>
  1127. <BindItem id="item36" compid="group1.btn_cle" propid="enable" datasetid="ds_bind" columnid="able"/>
  1128. <BindItem id="item37" compid="group1.btn_search" propid="enable" datasetid="ds_bind" columnid="able"/>
  1129. <BindItem id="item38" compid="group1.ipt_startdd" propid="enable" datasetid="ds_bind" columnid="able"/>
  1130. <BindItem id="item39" compid="group1.ipt_starttm" propid="enable" datasetid="ds_bind" columnid="able"/>
  1131. <BindItem id="item40" compid="group1.cmb_workgroup" propid="enable" datasetid="ds_bind" columnid="able"/>
  1132. <BindItem id="item41" compid="group1.ipt_enddd" propid="enable" datasetid="ds_bind" columnid="able"/>
  1133. <BindItem id="item42" compid="group1.ipt_endtm" propid="enable" datasetid="ds_bind" columnid="able"/>
  1134. <BindItem id="item43" compid="group1.cmb_rslt" propid="enable" datasetid="ds_bind" columnid="able"/>
  1135. <BindItem id="item44" compid="group1.ipt_sworkseq" propid="enable" datasetid="ds_bind" columnid="able"/>
  1136. <BindItem id="item45" compid="group1.ipt_eworkseq" propid="enable" datasetid="ds_bind" columnid="able"/>
  1137. <BindItem id="item46" compid="group1.cmb_testgrup" propid="enable" datasetid="ds_bind" columnid="able"/>
  1138. <BindItem id="item47" compid="group1.ipt_tclscdlist" propid="enable" datasetid="ds_bind" columnid="able"/>
  1139. <BindItem id="item48" compid="group1.chk_checkbox1" propid="enable" datasetid="ds_bind" columnid="able"/>
  1140. <BindItem id="item49" compid="group1.chk_checkbox2" propid="enable" datasetid="ds_bind" columnid="able"/>
  1141. <BindItem id="item50" compid="group1.chk_checkbox3" propid="enable" datasetid="ds_bind" columnid="able"/>
  1142. <BindItem id="item51" compid="group1.btn_tclsnmlist" propid="enable" datasetid="ds_bind" columnid="able"/>
  1143. <BindItem id="item52" compid="group3.radio1" propid="enable" datasetid="ds_bind" columnid="able"/>
  1144. <BindItem id="item53" compid="btn_excel" propid="enable" datasetid="ds_bind" columnid="able"/>
  1145. <BindItem id="item54" compid="group3.ipt_bf" propid="enable" datasetid="ds_bind" columnid="able"/>
  1146. <BindItem id="item55" compid="group3.ipt_bfdt" propid="enable" datasetid="ds_bind" columnid="able"/>
  1147. <BindItem id="item56" compid="group3.text_comment" propid="enable" datasetid="ds_bind" columnid="able"/>
  1148. <BindItem id="item57" compid="group3.cmb_sect" propid="enable" datasetid="ds_bind" columnid="able"/>
  1149. <BindItem id="item58" compid="group3.cmb_cmt" propid="enable" datasetid="ds_bind" columnid="able"/>
  1150. <BindItem id="item59" compid="group3.btn_saveCmt" propid="enable" datasetid="ds_bind" columnid="able"/>
  1151. <BindItem id="item60" compid="group3.rdo_cmts" propid="enable" datasetid="ds_bind" columnid="able"/>
  1152. <BindItem id="item61" compid="group3.text_testdept" propid="enable" datasetid="ds_bind" columnid="able"/>
  1153. <BindItem id="item62" compid="group3.text_testcmts" propid="enable" datasetid="ds_bind" columnid="able"/>
  1154. <BindItem id="item63" compid="group3.btn_cmt" propid="enable" datasetid="ds_bind" columnid="able"/>
  1155. <BindItem id="item64" compid="group3.grd_testlist" propid="enable" datasetid="ds_bind" columnid="able"/>
  1156. <BindItem id="item33" compid="btn_save" propid="enable" datasetid="ds_bind" columnid="able"/>
  1157. <BindItem id="item34" compid="btn_mdlrept" propid="enable" datasetid="ds_bind" columnid="able"/>
  1158. <BindItem id="item35" compid="btn_lstrept" propid="enable" datasetid="ds_bind" columnid="able"/>
  1159. <BindItem id="item32" compid="btn_barcode" propid="enable" datasetid="ds_bind" columnid="able"/>
  1160. </Bind>
  1161. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  1162. * System Name :
  1163. * Job Name :
  1164. * Creator :
  1165. * Make Date : 2015-05-01
  1166. * Description :
  1167. *---------------------------------------------------------------------------------------
  1168. * Modify Date Modifier Modify Description
  1169. *---------------------------------------------------------------------------------------
  1170. * 2015-05-01 Live Converter TF->XP
  1171. *
  1172. *---------------------------------------------------------------------------------------
  1173. ****************************************************************************************/
  1174. include "com_commonxp::comm_main.xjs";
  1175. include "lis_commonxp::LLZ001.xjs";
  1176. include "lis_commonxp::LZZ001.xjs";
  1177. include "lis_commonxp::LZZ002.xjs";
  1178. var gStartCol = 12;
  1179. var gRsltCode = "";
  1180. var strGrdCont;
  1181. function SMLLR00400_onload(obj:Form, e:LoadEventInfo)
  1182. {
  1183. frmf_initForm(obj);
  1184. //마우스 우측 메뉴 항목 세팅
  1185. frmf_createPopupMenu("pm_SubMenu", "pm_SubMenu_onmenuclick");
  1186. grdf_initGrid(group3.grd_testlist); //그리드헤더 체크박스
  1187. ds_bind.addRow(); //활성화데이터셋
  1188. //ds_bind.setColumn(0, "able", false);
  1189. ds_bind.setColumn(0, "able", true);
  1190. lf_setInit();
  1191. ds_cond_hidden.setColumn(0, "prerow", "-1");
  1192. //ds_cond_refparam.setColumn(0, "userid", sysf_getUserId());
  1193. group1.ipt_testpsn.setFocus();
  1194. //strGrdCont = group3.grd_testlist.getCurFormatString();
  1195. }
  1196. //조회후 그리드 리메이크
  1197. function lf_grdReMake2(){
  1198. var vCdCount = ds_cond_tclscdlist.getColumn(0, "tclscdlist2").split("▦").length;
  1199. var vOrgrst = "";
  1200. var curCol = 0;
  1201. var testcol;
  1202. for( var col=0 ; col<parseInt(vCdCount) ; col++ ){
  1203. var valExpr1 = "";
  1204. //var valExpr2 = "";
  1205. var valExpr3 = "";
  1206. var valExpr4 = "";
  1207. for( var i=0 ; i<ds_grid_grd_testlist.rowcount ; i++ ){
  1208. vOrgrst = "inptrslt" + (eval(col+1));
  1209. testcol = col + gStartCol;
  1210. //var testrow = lf_getRow(i, testcol);
  1211. //positive 결과 뻘건색 표시
  1212. if( !utlf_isNull(group3.grd_testlist.getCellValue(i, testcol)) && utlf_isSearchString(group3.grd_testlist.getCellValue(i, testcol).toUpperCase(), "POSITIVE") ){
  1213. valExpr1 += "currow == " + i + " ? '#ff0000' : ";
  1214. }
  1215. if( ds_grid_grd_testlist.getColumn(i, "readonly" + (eval(col+1))) == "1" ){
  1216. // if( ds_grid_grd_testlist.getColumn(i, "chk") == "1" ){
  1217. // valExpr2 += "currow == " + i + " ? '#f3e1bf' : ";
  1218. // }else{
  1219. // valExpr2 += "currow == " + i + " ? '#c0c0c0' : ";
  1220. // }
  1221. valExpr3 += "currow == " + i + " ? 'normal' : ";
  1222. valExpr4 += "currow == " + i + " ? 'none' : ";
  1223. // }else{
  1224. // if( ds_grid_grd_testlist.getColumn(i, "chk") == "1" ){
  1225. // valExpr2 += "currow == " + i + " ? '#f3e1bf' : ";
  1226. // }else{
  1227. // valExpr2 += "currow == " + i + " ? '#ffffff' : ";
  1228. // }
  1229. }
  1230. }
  1231. if( !utlf_isNull(valExpr1) ){
  1232. valExpr1 = "EXPR(" + valExpr1 + "''";
  1233. group3.grd_testlist.setCellProperty("Body", testcol, "color", valExpr1);
  1234. group3.grd_testlist.setCellProperty("Body", testcol, "color2", valExpr1);
  1235. group3.grd_testlist.setCellProperty("Body", testcol, "selectcolor", valExpr1);
  1236. }
  1237. // if( !utlf_isNull(valExpr2) ){
  1238. // valExpr2 = "EXPR(" + valExpr2 + "''";
  1239. //
  1240. // group3.grd_testlist.setCellProperty("Body", testcol, "background", valExpr2);
  1241. // group3.grd_testlist.setCellProperty("Body", testcol, "background2", valExpr2);
  1242. // group3.grd_testlist.setCellProperty("Body", testcol, "selectbackground", valExpr2);
  1243. // }
  1244. if( !utlf_isNull(valExpr3) ){
  1245. valExpr3 = "expr:" + valExpr3 + "'text'";
  1246. group3.grd_testlist.setCellProperty("Body", testcol, "displaytype", valExpr3);
  1247. }
  1248. if( !utlf_isNull(valExpr4) ){
  1249. valExpr4 = "expr:" + valExpr4 + "'text'";
  1250. group3.grd_testlist.setCellProperty("Body", testcol, "edittype", valExpr4);
  1251. }
  1252. }
  1253. }
  1254. //선택한 testlist row 알기
  1255. function lf_getRow(pRow, pCol){
  1256. var findRow = pRow;
  1257. if( pRow < 0 ) return -1;
  1258. if( pCol >= gStartCol ){
  1259. var vWorkno = ds_grid_grd_testlist.getColumn(pRow, "workno");
  1260. var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  1261. var vIdx = parseInt(pCol) - parseInt(gStartCol);
  1262. if( vCdList.length > vIdx ){
  1263. var vRkey = vWorkno + vCdList[vIdx].getTrim();
  1264. findRow = ds_grid_grd_vlist.findRow("rkey", vRkey);
  1265. }
  1266. return findRow;
  1267. }
  1268. return -1;
  1269. }
  1270. //검사그룹 선택시 그리드 리 메이크
  1271. function lf_grdReMake()
  1272. {
  1273. //juy
  1274. //group3.grd_testlist.formats = "<Formats>" + strGrdCont + "</Formats>";
  1275. if( !utlf_isNull(ds_cond_tclscdlist.getColumn(0, "tclscdlist")) )
  1276. {
  1277. ds_grid_grd_testlist.clearData();
  1278. if( group3.grd_testlist.getFormatColCount() > gStartCol )
  1279. {
  1280. for( var i=group3.grd_testlist.getFormatColCount()-1 ; i>=gStartCol ; i-- )
  1281. {
  1282. group3.grd_testlist.setFormatColProperty(i, "size", 0);
  1283. }
  1284. }
  1285. var vTclsnmA = ds_cond_tclscdlist.getColumn(0, "tclsnmlist2").split("▦");
  1286. //for( var i=0 ; i<vTclsnmA.length ; i++ )
  1287. for( var i=0 ; i<vTclsnmA.length ; i++ )
  1288. {
  1289. if( (i + gStartCol + 1) >= group3.grd_testlist.getFormatColCount() )
  1290. {
  1291. break;
  1292. }
  1293. group3.grd_testlist.setFormatColProperty(gStartCol + i, "size", 60);
  1294. group3.grd_testlist.setCellProperty("Head", gStartCol + i, "text", vTclsnmA[i]);
  1295. //검사명에 따른 컬럼 사이즈 조절
  1296. group3.grd_testlist.setFormatColProperty(gStartCol + i, "size", (vTclsnmA[i].length * 8 < 40) ? 40 : vTclsnmA[i].length * 8);
  1297. //displaytype과 edittype 은 항상 text
  1298. group3.grd_testlist.setCellProperty("Body", gStartCol + i, "displaytype", "text");
  1299. group3.grd_testlist.setCellProperty("Body", gStartCol + i, "edittype", "text");
  1300. }
  1301. }
  1302. }
  1303. function lf_patGridClick(pRow,pCol, Event){
  1304. var sDetilRow = lf_getRow(pRow, pCol);
  1305. //결과코드 값 가져오기
  1306. var testcd = ds_grid_grd_vlist.getColumn(sDetilRow, "testcd");
  1307. ds_lb0109.filter("etc01=='" + testcd + "'");
  1308. if( sDetilRow >= 0 ){
  1309. ds_cond_hidden.setColumn(0, "currenRow", sDetilRow);
  1310. ds_detail_spcinfo.setColumn(0, "spcscrnnm", ds_grid_grd_vlist.getColumn(sDetilRow, "spcscrnnm"));
  1311. ds_detail_spcinfo.setColumn(0, "refval", ds_grid_grd_vlist.getColumn(sDetilRow, "refval"));
  1312. ds_detail_spcinfo.setColumn(0, "judgmark", ds_grid_grd_vlist.getColumn(sDetilRow, "judgmark"));
  1313. ds_detail_spcinfo.setColumn(0, "panicmark", ds_grid_grd_vlist.getColumn(sDetilRow, "panicmark"));
  1314. ds_detail_spcinfo.setColumn(0, "deltamark", ds_grid_grd_vlist.getColumn(sDetilRow, "deltamark"));
  1315. ds_detail_spcinfo.setColumn(0, "criticalmark", ds_grid_grd_vlist.getColumn(sDetilRow, "criticalmark"));
  1316. ds_detail_spcinfo.setColumn(0, "alertmark", ds_grid_grd_vlist.getColumn(sDetilRow, "alertmark"));
  1317. ds_detail_spcinfo.setColumn(0, "rsltmark", ds_grid_grd_vlist.getColumn(sDetilRow, "rsltmark"));
  1318. ds_detail_spcinfo.setColumn(0, "reptrslt", ds_grid_grd_vlist.getColumn(sDetilRow, "reptrslt"));
  1319. ds_detail_spcinfo.setColumn(0, "bfreptrslt", ds_grid_grd_vlist.getColumn(sDetilRow, "bfreptrslt"));
  1320. ds_detail_spcinfo.setColumn(0, "bflastreptdt", ds_grid_grd_vlist.getColumn(sDetilRow, "bflastreptdt"));
  1321. ds_detail_spcinfo.setColumn(0, "testeqmtcd", ds_grid_grd_vlist.getColumn(sDetilRow, "testeqmtcd"));
  1322. ds_detail_spcinfo.setColumn(0, "rsltrgsgnm", ds_grid_grd_vlist.getColumn(sDetilRow, "rsltrgsgnm"));
  1323. ds_detail_spcinfo.setColumn(0, "mdlreptnm", ds_grid_grd_vlist.getColumn(sDetilRow, "mdlreptnm"));
  1324. ds_detail_spcinfo.setColumn(0, "lastreptnm", ds_grid_grd_vlist.getColumn(sDetilRow, "lastreptnm"));
  1325. ds_detail_spcinfo.setColumn(0, "testcmt", ds_grid_grd_vlist.getColumn(sDetilRow, "testcmt"));
  1326. ds_detail_spcinfo.setColumn(0, "testcont", "");
  1327. ds_detail_spcinfo.setColumn(0, "testcmts", ""); //검사항목별소견
  1328. var vJudg = ds_grid_grd_vlist.getColumn(sDetilRow, "judgmark");
  1329. if( vJudg == "H" ){
  1330. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1331. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1332. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1333. }else if( vJudg == "L" ){
  1334. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1335. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1336. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1337. }else{
  1338. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1339. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1340. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1341. }
  1342. //panic
  1343. var vPanic = ds_grid_grd_vlist.getColumn(sDetilRow, "panicmark");
  1344. if( vPanic == "P" ){
  1345. group3.datagrid2.setCellProperty("Body", 1, "background", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1346. group3.datagrid2.setCellProperty("Body", 1, "background2", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1347. group3.datagrid2.setCellProperty("Body", 1, "selectbackground", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1348. }else{
  1349. group3.datagrid2.setCellProperty("Body", 1, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1350. group3.datagrid2.setCellProperty("Body", 1, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1351. group3.datagrid2.setCellProperty("Body", 1, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1352. }
  1353. //delta
  1354. var vDelta = ds_grid_grd_vlist.getColumn(sDetilRow, "deltamark");
  1355. if( vDelta == "D" ){
  1356. group3.datagrid2.setCellProperty("Body", 2, "background", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1357. group3.datagrid2.setCellProperty("Body", 2, "background2", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1358. group3.datagrid2.setCellProperty("Body", 2, "selectbackground", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1359. }else{
  1360. group3.datagrid2.setCellProperty("Body", 2, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1361. group3.datagrid2.setCellProperty("Body", 2, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1362. group3.datagrid2.setCellProperty("Body", 2, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1363. }
  1364. //critical
  1365. var vCritical = ds_grid_grd_vlist.getColumn(sDetilRow, "criticalmark");
  1366. if( vCritical == "C" ){
  1367. group3.datagrid2.setCellProperty("Body", 3, "background", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1368. group3.datagrid2.setCellProperty("Body", 3, "background2", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1369. group3.datagrid2.setCellProperty("Body", 3, "selectbackground", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1370. }else{
  1371. group3.datagrid2.setCellProperty("Body", 3, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1372. group3.datagrid2.setCellProperty("Body", 3, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1373. group3.datagrid2.setCellProperty("Body", 3, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1374. }
  1375. //alert
  1376. var vAlert= ds_grid_grd_vlist.getColumn(sDetilRow, "alertmark");
  1377. if( vAlert == "A" ){
  1378. group3.datagrid2.setCellProperty("Body", 4, "background", "EXPR(currow == 0 ? '#fec34d' : '')");
  1379. group3.datagrid2.setCellProperty("Body", 4, "background2", "EXPR(currow == 0 ? '#fec34d' : '')");
  1380. group3.datagrid2.setCellProperty("Body", 4, "selectbackground", "EXPR(currow == 0 ? '#fec34d' : '')");
  1381. }else{
  1382. group3.datagrid2.setCellProperty("Body", 4, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1383. group3.datagrid2.setCellProperty("Body", 4, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1384. group3.datagrid2.setCellProperty("Body", 4, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1385. }
  1386. if( Event != "M" ){ //이벤트가 mousemove가 아닐때..
  1387. var vSectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "sectcd");
  1388. var vTsectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "tsectcd");
  1389. lf_cMTPCD_ChangeNodeset(vSectcd, vTsectcd, sDetilRow); //소견 노드 셋팅
  1390. lf_initializeSoGyeon(sDetilRow); //소견 조회초기화
  1391. }
  1392. }else{
  1393. ds_cond_hidden.setColumn(0, "currenRow", "");
  1394. ds_detail_spcinfo.clearData();
  1395. ds_detail_spcinfo.addRow();
  1396. }
  1397. }
  1398. //환자 선택, 취소 클릭
  1399. function lf_selectCancle(){
  1400. pCol = group3.grd_testlist.currentcol;
  1401. pRow = group3.grd_testlist.currentrow;
  1402. if( pRow == 0 ){
  1403. // var valExpr = "";
  1404. //
  1405. // for( var i=0 ; i<ds_grid_grd_testlist.rowcount ; i++ ){
  1406. // var isChk = ds_grid_grd_testlist.getColumn(i, "chk");
  1407. // var vWorkno = ds_grid_grd_testlist.getColumn(i, "workno");
  1408. // var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  1409. //
  1410. // if( isChk == "1" ){
  1411. // valExpr += "currow == "+i+" ? '#f3e1bf' : ";
  1412. // }else{
  1413. // valExpr += "currow == "+i+" ? '#FFFFFF' : ";
  1414. // }
  1415. // }
  1416. //
  1417. // if( !utlf_isNull(valExpr) ){
  1418. // valExpr = "EXPR(" + valExpr + "'')";
  1419. //
  1420. // for( var i=0 ; i<gStartCol ; i++ ){
  1421. // group3.grd_testlist.setCellProperty("Body", i, "background", valExpr);
  1422. // group3.grd_testlist.setCellProperty("Body", i, "background2", valExpr);
  1423. // group3.grd_testlist.setCellProperty("Body", i, "selectbackground", valExpr);
  1424. // }
  1425. // }
  1426. lf_grdReMake2();
  1427. for( var i=0 ; i<ds_grid_grd_testlist.rowcount ; i++ ){
  1428. var isChk = ds_grid_grd_testlist.getColumn(i, "chk");
  1429. var vWorkno = ds_grid_grd_testlist.getColumn(i, "workno");
  1430. var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  1431. for( var idx=0 ; idx<vCdList.length ; idx++ ){
  1432. var vInptRslt = "inptrslt" + (eval(idx+1));
  1433. var readonly = ds_grid_grd_testlist.getColumn(i, "readonly"+(idx+1));
  1434. var rstval = utlf_transNullToEmpty(ds_grid_grd_testlist.getColumn(i, vInptRslt));
  1435. if( readonly != "1" ){
  1436. col = idx + gStartCol;
  1437. var refRow = lf_getRow(i, col);
  1438. if( rstval == "" ){
  1439. ds_grid_grd_vlist.setColumn(refRow, "iud", "");
  1440. }else{
  1441. // 수정된항목 색변경
  1442. ds_grid_grd_vlist.setColumn(refRow, "iud", (isChk != "1") ? "" : "U");
  1443. }
  1444. }
  1445. }
  1446. }
  1447. }else{
  1448. // var valExpr = "";
  1449. //
  1450. // for( var i=0 ; i<ds_grid_grd_testlist.rowcount ; i++ ){
  1451. // var isChk = ds_grid_grd_testlist.getColumn(i, "chk");
  1452. // var vWorkno = ds_grid_grd_testlist.getColumn(i, "workno");
  1453. // var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  1454. //
  1455. // if( isChk == "1" ){
  1456. // valExpr += "currow == "+i+" ? '#f3e1bf' : ";
  1457. // }else{
  1458. // valExpr += "currow == "+i+" ? '#FFFFFF' : ";
  1459. // }
  1460. // }
  1461. //
  1462. // if( !utlf_isNull(valExpr) ){
  1463. // valExpr = "EXPR(" + valExpr + "'')";
  1464. //
  1465. // for( var i=0 ; i<gStartCol ; i++ ){
  1466. // group3.grd_testlist.setCellProperty("Body", i, "background", valExpr);
  1467. // group3.grd_testlist.setCellProperty("Body", i, "background2", valExpr);
  1468. // group3.grd_testlist.setCellProperty("Body", i, "selectbackground", valExpr);
  1469. // }
  1470. // }
  1471. lf_grdReMake2();
  1472. var isChk = ds_grid_grd_testlist.getColumn(pRow, "chk");
  1473. var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  1474. for( var idx=0 ; idx<vCdList.length ; idx++ ){
  1475. var vInptRslt = "inptrslt" + (eval(idx+1));
  1476. var readonly = ds_grid_grd_testlist.getColumn(pRow, "readonly" + (idx+1));
  1477. var rstval = utlf_transNullToEmpty(ds_grid_grd_testlist.getColumn(pRow, vInptRslt));
  1478. if( readonly != "1" ){
  1479. col = idx + gStartCol;
  1480. ds_grid_grd_testlist.rowposition = pRow;
  1481. group3.grd_testlist.setCellPos(col);
  1482. group3.grd_testlist.setFocus();
  1483. var refRow = lf_getRow(pRow, col);
  1484. if( rstval == "" ){
  1485. ds_grid_grd_vlist.getColumn(refRow, "iud", "");
  1486. }else{
  1487. // 수정된항목 색변경
  1488. ds_grid_grd_vlist.setColumn(refRow, "iud", (isChk != "1") ? "" : "U");
  1489. }
  1490. }
  1491. }
  1492. }
  1493. //결과코드 값 가져오기
  1494. var testcd = ds_grid_grd_vlist.getColumn(refRow, "testcd");
  1495. ds_lb0109.filter("etc01=='" + testcd + "'");
  1496. }
  1497. //시행부서선택시 소견노드 셋팅
  1498. function lf_cMTPCD_ChangeNodeset2(){
  1499. var tsectcd = ds_hidden_testcont.getColumn(0, "tsectcd");
  1500. if( tsectcd == "00" ){
  1501. ds_lb0210.filter("cd=='00'");
  1502. }else{
  1503. ds_lb0210.filter("cd=='00' || etc02=='" + tsectcd + "'");
  1504. }
  1505. ds_hidden_testcont.setColumn(0, "testcontcd", "00");
  1506. }
  1507. //소견 초기화
  1508. function lf_initializeSoGyeon(refRow){
  1509. if( ds_testconttsectcd.rowcount == 2 ){
  1510. ds_hidden_testcont.setColumn(0, "tsectcd", ds_testconttsectcd.getColumn(1, "cd"));
  1511. ds_hidden_testcont.setColumn(0, "testcontcd", "00");
  1512. }else{
  1513. ds_hidden_testcont.setColumn(0, "tsectcd", "00");
  1514. ds_hidden_testcont.setColumn(0, "testcontcd", "00");
  1515. }
  1516. lf_selectTestContTsect(refRow); //선택 시행부서 소견
  1517. }
  1518. //선택 시행부서 소견
  1519. function lf_selectTestContTsect(refRow){
  1520. var selTsectcd = ds_hidden_testcont.getColumn(0, "tsectcd");
  1521. var vSectcd = "";
  1522. var vTsectcd = "";
  1523. var vBcno = "";
  1524. var vTestcd = "";
  1525. if( refRow != "return" ){
  1526. vSectcd = ds_grid_grd_vlist.getColumn(refRow, "sectcd");
  1527. vTsectcd = ds_grid_grd_vlist.getColumn(refRow, "tsectcd");
  1528. vBcno = ds_grid_grd_vlist.getColumn(refRow, "bcno");
  1529. vTestcd = ds_grid_grd_vlist.getColumn(refRow, "testcd");
  1530. }else{ //소견 시행부서 변경시 그냥 return
  1531. return false;
  1532. }
  1533. //시행부서별 소견 전체는.. 걍 버리고 해당 검사 시행부서 소견만 조회
  1534. var valFindRow = ds_main_testcont.findRowExpr("bcno=='" + vBcno + "' && execdeptcd=='" + selTsectcd + "'");
  1535. ds_detail_spcinfo.setColumn(0, "testcont", ds_main_testcont.getColumn(valFindRow, "testcont"));
  1536. //검사항목별 소견 추가
  1537. valFindRow = ds_testcmts.findRowExpr("bcno=='" + vBcno + "' && testcd=='" + vTestcd + "'");;
  1538. if( !utlf_isNull(ds_testcmts.getColumn(valFindRow, "testcont")) ){
  1539. ds_detail_spcinfo.setColumn(0, "testcmts", ds_testcmts.getColumn(valFindRow, "testcont"));
  1540. }else{
  1541. ds_detail_spcinfo.setColumn(0, "testcmts", ds_grid_grd_vlist.getColumn(refRow, "tclsscrnnm") + " : ");
  1542. }
  1543. }
  1544. //소견 선택시
  1545. function lf_setCmt(pRow,pCol){
  1546. var sDetilRow = lf_getRow(pRow, pCol);
  1547. var curSlip = ds_hidden_testcont.getColumn(0, "tsectcd");
  1548. var curCmptcd = ds_hidden_testcont.getColumn(0, "testcontcd");
  1549. if( curSlip == "00" ){
  1550. ds_hidden_testcont.setColumn(0, "testcontcd", "00");
  1551. return false;
  1552. }
  1553. var vSectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "sectcd");
  1554. var vTsectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "tsectcd");
  1555. var valFindRow = ds_lb0210.findRowExpr("cd=='" + curCmptcd + "' && etc01=='" + vSectcd + "' && etc02=='" + vTsectcd + "'");
  1556. var newCmt = ds_lb0210.getColumn(valFindRow, "etc03");
  1557. var vContFlag = ds_cond_hidden.getColumn(0, "cmtflag");
  1558. if( vContFlag == 1 ){ //시행부서별 소견
  1559. var curCmt = utlf_transNullToEmpty(ds_detail_spcinfo.getColumn(0, "testcont"));
  1560. var rstCmt;
  1561. if( curCmt == "\n" || utlf_isNull(curCmt)){
  1562. rstCmt = newCmt;
  1563. }else{
  1564. rstCmt = curCmt + "\n" + newCmt;
  1565. }
  1566. ds_detail_spcinfo.setColumn(0, "testcont", rstCmt);
  1567. group3.text_testdept.setSelect((rstCmt).length);
  1568. }else{ //검사항목별 소견
  1569. var curCmt = utlf_transNullToEmpty(ds_detail_spcinfo.getColumn(0, "testcmts"));
  1570. var rstCmt = curCmt + " " + newCmt;
  1571. ds_detail_spcinfo.setColumn(0, "testcmts", rstCmt);
  1572. group3.text_testcmts.setSelect((rstCmt).length);
  1573. }
  1574. lf_soGyeonJeoJang(vContFlag); //소견내용이 바뀔경우
  1575. }
  1576. //소견저장
  1577. function lf_setContCmt(pRow, pCol){
  1578. var sDetilRow = lf_getRow(pRow, pCol); //testlist row 조회
  1579. if( utlf_isNull(ds_cond_refparam.getColumn(0, "userid")) || utlf_isNull(ds_cond_getUsernm.getColumn(0, "usernm")) ){
  1580. sysf_messageBox("검사자를 ", "C001", "");
  1581. group1.ipt_testpsn.setFocus();
  1582. return;
  1583. }
  1584. var rtn = 0;
  1585. for( var i=0 ; i<ds_testcmts.rowcount ; i++ ){
  1586. if( ds_testcmts.getRowType(i) == 2 || ds_testcmts.getRowType(i) == 4 || ds_testcmts.getRowType(i) == 8 ){
  1587. rtn++;
  1588. }
  1589. }
  1590. if( ds_hidden_refflag.getColumn(0, "isedit") != "true" && rtn == 0 ){
  1591. sysf_messageBox("소견을 입력 하세요!", "C", "");
  1592. return;
  1593. }
  1594. ds_send_data1.clear();
  1595. ds_send_data1.addColumn("rownum", "string");
  1596. ds_send_data1.addColumn("selchk", "string");
  1597. ds_send_data1.addColumn("tclsscrnm", "string");
  1598. ds_send_data1.addColumn("bufinptrslt", "string");
  1599. ds_send_data1.addColumn("reptrslt", "string");
  1600. ds_send_data1.addColumn("multiflag", "string");
  1601. ds_send_data1.addColumn("rstdt", "string");
  1602. ds_send_data1.addColumn("refval", "string");
  1603. ds_send_data1.addColumn("rsltunit", "string");
  1604. ds_send_data1.addColumn("judgmark", "string");
  1605. ds_send_data1.addColumn("panicmark", "string");
  1606. ds_send_data1.addColumn("deltamark", "string");
  1607. ds_send_data1.addColumn("criticalmark", "string");
  1608. ds_send_data1.addColumn("alertmark", "string");
  1609. ds_send_data1.addColumn("rsltmark", "string");
  1610. ds_send_data1.addColumn("erprcpflag", "string");
  1611. ds_send_data1.addColumn("bfreptrslt", "string");
  1612. ds_send_data1.addColumn("bflastreptdt", "string");
  1613. ds_send_data1.addColumn("rstnm", "string");
  1614. ds_send_data1.addColumn("eqmtnm", "string");
  1615. ds_send_data1.addColumn("testcmt", "string");
  1616. ds_send_data1.addColumn("tclskind", "string");
  1617. ds_send_data1.addColumn("testcd", "string");
  1618. ds_send_data1.addColumn("spccd", "string");
  1619. ds_send_data1.addColumn("rsltseq", "string");
  1620. ds_send_data1.addColumn("inptrslt", "string");
  1621. ds_hidden_refflag.setColumn(0, "bcno", ds_grid_grd_vlist.getColumn(sDetilRow, "bcno"));
  1622. ds_hidden_refflag.setColumn(0, "rsltstat", "1");
  1623. ds_hidden_refflag.setColumn(0, "testlrgkind", "-");
  1624. ds_hidden_refflag.setColumn(0, "userid", ds_cond_refparam.getColumn(0, "userid"));
  1625. //여러 검체 동시에 일괄 저장 때리기 위한 구분
  1626. ds_hidden_refflag.setColumn(0, "rsltscrflag", "test");
  1627. ds_send_data2.assign(ds_hidden_refflag);
  1628. //시행부서별, 검사항목별 소견 저장데이터 생성
  1629. lf_makeSendSoGyeon();
  1630. }
  1631. //소견 저장을 위한 소견 데이터 만들기
  1632. function lf_makeSendSoGyeon(){
  1633. //시행부서별 소견
  1634. for( var i=0 ; i<ds_main_testcont.rowcount ; i++ ){
  1635. if( utlf_transNullToEmpty(ds_main_testcont.getColumn(i, "iud")) != "" && !utlf_isNull(ds_main_testcont.getColumn(i, "iud")) ){
  1636. var nRow = ds_send_data3.addRow();
  1637. ds_send_data3.enableevent = false;
  1638. ds_send_data3.updatecontrol = false;
  1639. ds_send_data3.setRowType(nRow, 4);
  1640. ds_send_data3.enableevent = true;
  1641. ds_send_data3.updatecontrol = true;
  1642. ds_send_data3.setColumn(nRow, "bcno", ds_main_testcont.getColumn(i, "bcno"));
  1643. ds_send_data3.setColumn(nRow, "testcontcd", ds_main_testcont.getColumn(i, "testcontcd"));
  1644. ds_send_data3.setColumn(nRow, "execdeptcd", ds_main_testcont.getColumn(i, "execdeptcd"));
  1645. ds_send_data3.setColumn(nRow, "testcont", ds_main_testcont.getColumn(i, "testcont"));
  1646. ds_send_data3.setColumn(nRow, "testcontkind", ds_main_testcont.getColumn(i, "testcontkind"));
  1647. }
  1648. }
  1649. //검사항목별 소견
  1650. var vTestCmtCounts = ds_testcmts.rowcount;
  1651. for( var i=0 ; i<vTestCmtCounts ; i++ ){
  1652. if( ds_testcmts.getRowType(i) == 2 || ds_testcmts.getRowType(i) == 4 || ds_testcmts.getRowType(i) == 8 ){
  1653. var nRow = ds_send_data4.addRow();
  1654. ds_send_data4.enableevent = false;
  1655. ds_send_data4.updatecontrol = false;
  1656. ds_send_data4.setRowType(nRow, ds_testcmts.getRowType(i));
  1657. ds_send_data4.enableevent = true;
  1658. ds_send_data4.updatecontrol = true;
  1659. ds_send_data4.setColumn(nRow, "bcno", ds_testcmts.getColumn(i, "bcno"));
  1660. ds_send_data4.setColumn(nRow, "tclscd", ds_testcmts.getColumn(i, "tclscd"));
  1661. ds_send_data4.setColumn(nRow, "testcd", ds_testcmts.getColumn(i, "testcd"));
  1662. ds_send_data4.setColumn(nRow, "spccd", ds_testcmts.getColumn(i, "spccd"));
  1663. ds_send_data4.setColumn(nRow, "rsltseq", ds_testcmts.getColumn(i, "rsltseq"));
  1664. ds_send_data4.setColumn(nRow, "testcontcd", ds_testcmts.getColumn(i, "testcontcd"));
  1665. ds_send_data4.setColumn(nRow, "testcont", ds_testcmts.getColumn(i, "testcont"));
  1666. ds_send_data4.setColumn(nRow, "flag", "2"); //소견만 저장하기때문에 2보냄 결과등록시와 소견만 저장시 결과seq때문에..
  1667. if( ds_testcmts.getRowType(i) == 2 ){
  1668. ds_send_data4.setColumn(nRow, "status", "i");
  1669. }else if( ds_testcmts.getRowType(i) == 4 ){
  1670. ds_send_data4.setColumn(nRow, "status", "u");
  1671. }
  1672. }
  1673. }
  1674. var oParam = {};
  1675. oParam.id = "TXLLR80101";
  1676. oParam.service = "rsltmngtapp.RsltMngt";
  1677. oParam.method = "reqSetResultSave";
  1678. oParam.inds = "TestData=ds_send_data1 RefFalg=ds_send_data2 SpcCmtInfo=ds_send_data3 TestCmtInfo=ds_send_data4";
  1679. oParam.async = false;
  1680. oParam.callback = "cbf_TXLLR80101";
  1681. tranf_submit(oParam);
  1682. //저장 후 소견 iud초기화
  1683. ds_testcmts.enableevent = false;
  1684. ds_testcmts.updatecontrol = false;
  1685. for( var i=0 ; i<vTestCmtCounts ; i++ ){
  1686. ds_testcmts.setRowType(i, 1);
  1687. }
  1688. ds_testcmts.enableevent = true;
  1689. ds_testcmts.updatecontrol = true;
  1690. ds_hidden_refflag.setColumn(0, "isedit", "");
  1691. ds_send_data2.clearData(); //아씨..이게 소견저장할때와 검사결과 저장할때 같은 노드임 ㅡ,.ㅡ
  1692. }
  1693. //소견내용이 바뀔경우
  1694. function lf_soGyeonJeoJang(pRef){ //pRef-소견구분(1:시행부서별, 2:검사항목별)
  1695. var curSlip = ds_hidden_testcont.getColumn(0, "tsectcd");
  1696. var curCmptcd = ds_hidden_testcont.getColumn(0, "testcontcd");
  1697. var vCmtp = group3.text_testdept.value; //시행부서별 소견
  1698. var vTestCmts = group3.text_testcmts.value; //검사항목별 소견
  1699. var vNodeCnt, vContNodeCount;
  1700. var vRow = lf_getRow(group3.grd_testlist.currentrow, group3.grd_testlist.currentcol);
  1701. var vBcno = ds_grid_grd_vlist.getColumn(vRow, "bcno");
  1702. var vTestcd = ds_grid_grd_vlist.getColumn(vRow, "testcd"); //검사코드
  1703. var vTsectcd = ds_grid_grd_vlist.getColumn(vRow, "tsectcd"); //시행부서
  1704. var vTclscd, vSpccd, vRsltseq;
  1705. if( curSlip == "-" ){
  1706. return false;
  1707. }
  1708. if( pRef == 1 ){ //시행부서별 소견
  1709. //해당 바코드, 시행부서 노드 존재 여부 판단 위해
  1710. vNodeCnt = ds_main_testcont.getCaseCount("bcno=='" + vBcno + "' && execdeptcd=='" + vTsectcd + "'");
  1711. if( utlf_isNull(vCmtp) || vCmtp.getTrim() == "-" ){
  1712. if( vNodeCnt > 0 ){ //소견 변경했는데 소견이 빈값이고 저장된 소견이 존재 할 경우
  1713. var valFindRow = ds_main_testcont.findRowExpr("bcno=='" + vBcno + "' && execdeptcd=='" + vTsectcd + "'");
  1714. ds_main_testcont.setColumn(valFindRow, "testcontcd", "-");
  1715. ds_main_testcont.setColumn(valFindRow, "testcont", "-");
  1716. //시행부서별 소견은 무조건 넣고 이력쌓아서 무조건 i로 날림
  1717. ds_main_testcont.setColumn(valFindRow, "iud", "i");
  1718. ds_main_testcont.setColumn(valFindRow, "testcontkind", "3"); //이건 어떤 용도?
  1719. }else{
  1720. return false; //소견내용 없고 저장된소견도 없을때 return;
  1721. }
  1722. }else{
  1723. if( vNodeCnt > 0 ){ //소견 존재시 setValue
  1724. var valFindRow = ds_main_testcont.findRowExpr("bcno=='" + vBcno + "' && execdeptcd=='" + vTsectcd + "'");
  1725. ds_main_testcont.setColumn(valFindRow, "testcontcd", curCmptcd);
  1726. ds_main_testcont.setColumn(valFindRow, "testcont", vCmtp);
  1727. ds_main_testcont.setColumn(valFindRow, "iud", "i");
  1728. }else{ //없을때 만들어 넣기
  1729. vContNodeCount = ds_main_testcont.rowcount;
  1730. vContNodeCount = parseInt(vContNodeCount) + 1;
  1731. var nRow = ds_main_testcont.addRow();
  1732. ds_main_testcont.setColumn(nRow, "iud", "i");
  1733. ds_main_testcont.setColumn(nRow, "bcno", vBcno);
  1734. ds_main_testcont.setColumn(nRow, "testcontcd", curCmptcd);
  1735. ds_main_testcont.setColumn(nRow, "testcont", vCmtp);
  1736. ds_main_testcont.setColumn(nRow, "testcontkind", "01");
  1737. ds_main_testcont.setColumn(nRow, "execdeptcd", vTsectcd);
  1738. }
  1739. ds_hidden_refflag.setColumn(0, "isedit", "true"); //저장할거 생겼다.
  1740. }
  1741. }else{ //없다면 makeValuev
  1742. //검사별 소견 노드 존재 여부
  1743. vNodeCnt = ds_testcmts.getCaseCount("bcno=='" + vBcno + "' && testcd=='" + vTestcd + "'");
  1744. //소견을 수정했는데 빈값일경우
  1745. if( utlf_isNull(vTestCmts) ){
  1746. if( vNodeCnt > 0 ){
  1747. var valFindRow = ds_testcmts.findRowExpr("bcno=='" + vBcno + "' && testcd=='" + vTestcd + "'");
  1748. if( ds_testcmts.getRowType(valFindRow) == 2 ){
  1749. //신규로 저장하고자 존재 했다면 노드 삭제
  1750. ds_testcmts.deleteRow(valFindRow);
  1751. }else{ //u, d일경우 d로 변경
  1752. ds_testcmts.updatecontrol = false;
  1753. ds_testcmts.enableevent = false;
  1754. ds_testcmts.setColumn(valFindRow, "testcont", vTestCmts);
  1755. ds_testcmts.setRowType(valFindRow, 8);
  1756. ds_testcmts.updatecontrol = true;
  1757. ds_testcmts.enableevent = true;
  1758. }
  1759. }
  1760. return false;
  1761. }
  1762. if( vNodeCnt > 0 ){
  1763. var valFindRow = ds_testcmts.findRowExpr("bcno=='" + vBcno + "' && testcd=='" + vTestcd + "'");
  1764. ds_testcmts.setColumn(valFindRow, "testcont", vTestCmts);
  1765. ds_testcmts.setColumn(valFindRow, "testcontcd", curCmptcd);
  1766. if( ds_testcmts.getRowType(valFindRow) != 2 ){ //신규 소견등록시
  1767. //신규저장이 아니면 저장내역으로 보고 u로 변경
  1768. ds_testcmts.updatecontrol = false;
  1769. ds_testcmts.enableevent = false;
  1770. ds_testcmts.setRowType(valFindRow, 4);
  1771. ds_testcmts.updatecontrol = true;
  1772. ds_testcmts.enableevent = true;
  1773. }
  1774. }else{
  1775. vContNodeCount = ds_testcmts.rowcount;
  1776. vTclscd = ds_grid_grd_vlist.getColumn(vRow, "tclscd");
  1777. vSpccd = ds_grid_grd_vlist.getColumn(vRow, "spccd");
  1778. vRsltseq = ds_grid_grd_vlist.getColumn(vRow, "rsltseq");
  1779. vContNodeCount = parseInt(vContNodeCount) + 1;
  1780. var nRow = ds_testcmts.addRow();
  1781. ds_testcmts.setColumn(nRow, "bcno", vBcno);
  1782. ds_testcmts.setColumn(nRow, "tclscd", vTclscd);
  1783. ds_testcmts.setColumn(nRow, "testcd", vTestcd);
  1784. ds_testcmts.setColumn(nRow, "spccd", vSpccd);
  1785. ds_testcmts.setColumn(nRow, "rsltseq", vRsltseq);
  1786. ds_testcmts.setColumn(nRow, "testcontcd", curCmptcd);
  1787. ds_testcmts.setColumn(nRow, "testcont", vTestCmts);
  1788. }
  1789. ds_hidden_refflag.setColumn(0, "isedit", "true"); //저장할거 생겼다.
  1790. }
  1791. }
  1792. function lf_cvtViewResult(pInptRslt, pRefRow, pMatch, pDsRow){
  1793. var vRow = pRefRow;
  1794. if( typeof(pMatch) == "undefined" ) pMatch = false;
  1795. //실제 결과
  1796. var vBufInptRslt = pInptRslt;
  1797. //입력결과와 기존의 결과가 같으면 판정안함...
  1798. if( !pMatch ){
  1799. ds_grid_grd_vlist.setColumn(vRow, "inptrslt", vBufInptRslt);
  1800. var colorTF = false;
  1801. var vRsltkind = ds_grid_grd_vlist.getColumn(vRow, "testrsltkind");
  1802. var vRsltintsize = ds_grid_grd_vlist.getColumn(vRow, "rsltintsize");
  1803. var vRsltdcmlsize = ds_grid_grd_vlist.getColumn(vRow, "rsltdcmlsize");
  1804. var vRundkind = ds_grid_grd_vlist.getColumn(vRow, "rundkind");
  1805. var vNvalrsltlimyn = ds_grid_grd_vlist.getColumn(vRow, "nvalrsltlimyn");
  1806. var vReptrslt = fCOMLIS_CvtReptrslt(vBufInptRslt, vRsltkind, vRsltintsize, vRsltdcmlsize, vRundkind, vNvalrsltlimyn);
  1807. var testcd = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(vRow,"testcd"));
  1808. if( vReptrslt == "err" ){
  1809. ds_grid_grd_vlist.setColumn(vRow, "inptrslt", "");
  1810. ds_grid_grd_testlist.setColumn(ds_grid_grd_testlist.rowposition, "inptrslt"+(group3.grd_testlist.currentcol-gStartCol+1), "");
  1811. return false;
  1812. }
  1813. ds_grid_grd_vlist.setColumn(vRow, "inptrslt", vBufInptRslt);
  1814. //LH 판정
  1815. var vJudgkind = ds_grid_grd_vlist.getColumn(vRow, "judgkind");
  1816. var vRefL = ds_grid_grd_vlist.getColumn(vRow, "refl");
  1817. var vRefLS = ds_grid_grd_vlist.getColumn(vRow, "refls");
  1818. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "refh");
  1819. var vRefHS = ds_grid_grd_vlist.getColumn(vRow, "refhs");
  1820. var vRefLT = ds_grid_grd_vlist.getColumn(vRow, "reflt");
  1821. var vRvalflag = ds_grid_grd_vlist.getColumn(vRow, "rvalflag");
  1822. var vJudgLH = fCOMLIS_JudgLH(vReptrslt, vJudgkind, vRefL, vRefLS, vRefH, vRefHS, vRefLT, vRvalflag);
  1823. ds_grid_grd_vlist.setColumn(vRow, "judgmark", vJudgLH);
  1824. if( vJudgLH == "H" ){
  1825. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1826. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1827. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#f7a08b' : '')");
  1828. }else if( vJudgLH == "L" ){
  1829. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1830. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1831. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#b9e5fb' : '')");
  1832. }else{
  1833. group3.datagrid2.setCellProperty("Body", 0, "background", "EXPR(currow == 0 ? '#fffff' : '')");
  1834. group3.datagrid2.setCellProperty("Body", 0, "background2", "EXPR(currow == 0 ? '#fffff' : '')");
  1835. group3.datagrid2.setCellProperty("Body", 0, "selectbackground", "EXPR(currow == 0 ? '#fffff' : '')");
  1836. }
  1837. //panic 판정
  1838. var vJudgGbn = ds_grid_grd_vlist.getColumn(vRow, "panicflag");
  1839. var vRefL = ds_grid_grd_vlist.getColumn(vRow, "panicminval");
  1840. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "panicmaxval");
  1841. var vJudgPanic = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "P");
  1842. if( vJudgPanic == "P" ){
  1843. group3.datagrid2.setCellProperty("Body", 1, "background", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1844. group3.datagrid2.setCellProperty("Body", 1, "background2", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1845. group3.datagrid2.setCellProperty("Body", 1, "selectbackground", "EXPR(currow == 0 ? '#7BE6B7' : '')");
  1846. colorTF = true;
  1847. }else{
  1848. group3.datagrid2.setCellProperty("Body", 1, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1849. group3.datagrid2.setCellProperty("Body", 1, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1850. group3.datagrid2.setCellProperty("Body", 1, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1851. }
  1852. ds_grid_grd_vlist.setColumn(vRow, "panicmark", vJudgPanic);
  1853. //Delta판정
  1854. var vBfResult = ds_grid_grd_vlist.getColumn(vRow, "bfreptrslt");
  1855. var vJudgGbn = ds_grid_grd_vlist.getColumn(vRow, "deltaflag");
  1856. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "deltamaxval");
  1857. var vDeltaday = ds_grid_grd_vlist.getColumn(vRow, "deltaterm");
  1858. var vRstinterval = ds_grid_grd_vlist.getColumn(vRow, "rstinterval");
  1859. var vJudgDelta = fCOMLIS_JudgDelta(vReptrslt, vBfResult, vJudgGbn, vRefH, vDeltaday, vRstinterval);
  1860. ds_grid_grd_vlist.setColumn(vRow, "deltamark", vJudgDelta);
  1861. if( vJudgDelta == "D" ){
  1862. group3.datagrid2.setCellProperty("Body", 2, "background", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1863. group3.datagrid2.setCellProperty("Body", 2, "background2", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1864. group3.datagrid2.setCellProperty("Body", 2, "selectbackground", "EXPR(currow == 0 ? '#dec6a4' : '')");
  1865. colorTF = true;
  1866. }else{
  1867. group3.datagrid2.setCellProperty("Body", 2, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1868. group3.datagrid2.setCellProperty("Body", 2, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1869. group3.datagrid2.setCellProperty("Body", 2, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1870. }
  1871. //Critical판정
  1872. var vJudgGbn = ds_grid_grd_vlist.getColumn(vRow, "criticalflag");
  1873. var vRefL = ds_grid_grd_vlist.getColumn(vRow, "criticalminval");
  1874. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "criticalmaxval");
  1875. var vJudgCritical = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "C");
  1876. ds_grid_grd_vlist.setColumn(vRow, "criticalmark", vJudgCritical);
  1877. if( vJudgCritical == "C" ){
  1878. group3.datagrid2.setCellProperty("Body", 3, "background", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1879. group3.datagrid2.setCellProperty("Body", 3, "background2", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1880. group3.datagrid2.setCellProperty("Body", 3, "selectbackground", "EXPR(currow == 0 ? '#ffe79d' : '')");
  1881. colorTF = true;
  1882. }else{
  1883. group3.datagrid2.setCellProperty("Body", 3, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1884. group3.datagrid2.setCellProperty("Body", 3, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1885. group3.datagrid2.setCellProperty("Body", 3, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1886. }
  1887. //Alert판정
  1888. var vJudgGbn = ds_grid_grd_vlist.getColumn(vRow, "alertflag");
  1889. var vRefL = ds_grid_grd_vlist.getColumn(vRow, "alertminval");
  1890. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "alertmaxval");
  1891. var vJudgAlert = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "A");
  1892. if (testcd == "B109100099" && (vReptrslt == "F" || vReptrslt == "f"))//flag 가 F 이면 Alert
  1893. {
  1894. vJudgAlert = "A";
  1895. }
  1896. ds_grid_grd_vlist.setColumn(vRow, "alertmark", vJudgAlert);
  1897. if( vJudgAlert == "A" ){
  1898. group3.datagrid2.setCellProperty("Body", 4, "background", "EXPR(currow == 0 ? '#fec34d' : '')");
  1899. group3.datagrid2.setCellProperty("Body", 4, "background2", "EXPR(currow == 0 ? '#fec34d' : '')");
  1900. group3.datagrid2.setCellProperty("Body", 4, "selectbackground", "EXPR(currow == 0 ? '#fec34d' : '')");
  1901. colorTF = true;
  1902. }else{
  1903. group3.datagrid2.setCellProperty("Body", 4, "background", "EXPR(currow == 0 ? '#ffffff' : '')");
  1904. group3.datagrid2.setCellProperty("Body", 4, "background2", "EXPR(currow == 0 ? '#ffffff' : '')");
  1905. group3.datagrid2.setCellProperty("Body", 4, "selectbackground", "EXPR(currow == 0 ? '#ffffff' : '')");
  1906. }
  1907. //허용참고치 판정
  1908. var vJudgGbn = ds_grid_grd_vlist.getColumn(vRow, "alimitflag");
  1909. var vRefL = ds_grid_grd_vlist.getColumn(vRow, "alimitminval");
  1910. var vRefLS = ds_grid_grd_vlist.getColumn(vRow, "alimitmaxval");
  1911. var vRefH = ds_grid_grd_vlist.getColumn(vRow, "alimitmaxvalsinq");
  1912. var vRefHS = ds_grid_grd_vlist.getColumn(vRow, "alimiminvalsinq");
  1913. vReptrslt = fCOMLIS_JudgLimit(vReptrslt, vJudgGbn, vRefL, vRefLS, vRefH, vRefHS);
  1914. //사용자정의판정 결과변경
  1915. var vUjudglt = new Array(3);
  1916. vUjudglt[0] = vJudgkind;
  1917. for( var i=1; i<=3; i++ ){
  1918. vUjudglt[i] = ds_grid_grd_vlist.getColumn(vRow, "userjudgchar" + i.toString());
  1919. }
  1920. vReptrslt = fCOMLIS_CvtUjudgRst(vBufInptRslt, vReptrslt, vJudgLH, vUjudglt);
  1921. ds_grid_grd_vlist.setColumn(vRow, "reptrslt", vReptrslt);
  1922. //수정데이타 반영
  1923. ds_grid_grd_vlist.setColumn(vRow, "iud", "U");
  1924. lf_calCu(vRow, pDsRow);
  1925. }
  1926. }
  1927. function lf_calCu(pRow, pDsRow){
  1928. var bcno = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"bcno"));
  1929. var vDScript = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"calformcnts"));
  1930. var vAppTestcnt = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"apptestcnt"));
  1931. var vAppTclscd = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"apptclscd"));
  1932. var vAcptA = new Array(10);
  1933. var r = "";
  1934. if (vDScript.getTrim() != "") {
  1935. var vAcptCnt = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"acptcnt"));
  1936. var preScript = "";
  1937. for (var i = 1; i <=vAcptCnt; i++) {
  1938. preScript += "var p" + i + " = #p" + i + "#;" + "\n";
  1939. preScript += "if (p" + i + " == 0 || p" + i + " == null) return;" + "\n";
  1940. }
  1941. vDScript = preScript + "return " + vDScript + ";";
  1942. for (var i = 1; i <=vAcptCnt; i++) {
  1943. var iCnt = i;
  1944. iCnt = iCnt.toString().getLeftPad(2,"0");
  1945. //var bcno = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"bcno"));
  1946. var acpt = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"acpt"+ iCnt));
  1947. var spccd = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"acptspc"+ iCnt));
  1948. var fromdd = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(pRow,"fromdd"));
  1949. var urineChk = true;
  1950. // //유린량
  1951. // if(i == 2 && utlf_transNullToEmpty(grp2.ipt_urine.text) != "") {
  1952. // vDScript = vDScript.replace("#p"+i.toString()+"#", utlf_transNullToEmpty(grp2.ipt_urine.text));
  1953. // urineChk = false;
  1954. // }
  1955. // //유린시간
  1956. // if(i == 3 && utlf_transNullToEmpty(grp2.ipt_urinetm.text) != "") {
  1957. // vDScript = vDScript.replace("#p"+i.toString()+"#", utlf_transNullToEmpty(grp2.ipt_urinetm.text));
  1958. // urineChk = false;
  1959. // }
  1960. //그외
  1961. if(urineChk) {
  1962. //var sFind = ds_grid_grd_vlist.findRow("testcd",acpt);
  1963. var sFind = ds_grid_grd_vlist.findRowExpr("bcno=='"+bcno+ "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
  1964. var sFind1 = ds_grid_grd_vlist.findRowExpr("bcno=='"+bcno+ "' && testcd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
  1965. var sFind2 = ds_grid_grd_vlist.findRowExpr("bcno=='"+bcno+ "' && tclscd=='"+acpt+ "' && spccd=='"+spccd+"'" ); //같은 바코드내에서 검색
  1966. var sDsName = "ds_grid_grd_vlist";
  1967. if (sFind < 0 && ds_bftest.rowcount > 0)//해당 검사코드를 찾지 못하면 타검사결과를 참조
  1968. {
  1969. //sFind = ds_bftest.findRow("testcd", acpt);
  1970. sFind = ds_bftest.findRowExpr("orgbcno=='"+bcno+ "' && testcd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
  1971. sFind1 = ds_bftest.findRowExpr("orgbcno=='"+bcno+ "' && testcd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
  1972. sFind2 = ds_bftest.findRowExpr("orgbcno=='"+bcno+ "' && tclscd=='"+acpt+ "' && spccd=='"+spccd+ "' && fromdd=='"+fromdd+"'");
  1973. sDsName = "ds_bftest";
  1974. }
  1975. //trace("sFind : " + sFind + " , sDsName : " + sDsName + " " + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")));
  1976. if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) == ""){
  1977. //var sFind = this.objects[sDsName].findRow("tclscd",acpt);
  1978. var sFind = sFind2;
  1979. if(utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) == ""){
  1980. if(vAcptCnt == 2 ) return r;
  1981. vDScript = vDScript.replace("#p"+i.toString()+"#", "null");
  1982. }else{
  1983. // 20130411 JJH ADD : 결과값이 숫자가 아니면 Return
  1984. //var sFind = this.objects[sDsName].findRow("testcd",acpt);
  1985. var sFind = sFind1;
  1986. var sTag = "";
  1987. if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isNumber()
  1988. && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isFloat() ) {
  1989. sTag = "'";//return;
  1990. }
  1991. //var sFind = this.objects[sDsName].findRow("tclscd",acpt);
  1992. var sFind = sFind2;
  1993. vDScript = vDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
  1994. }
  1995. } else {
  1996. // 20130411 JJH ADD : 결과값이 숫자가 아니면 Return
  1997. //var sFind = this.objects[sDsName].findRow("testcd",acpt);
  1998. var sFind = sFind1;
  1999. var sTag = "";
  2000. if ( !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isNumber()
  2001. && !utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")).isFloat() ) {
  2002. sTag = "'";//return;
  2003. }
  2004. vDScript = vDScript.replace("#p"+i.toString()+"#", sTag + utlf_transNullToEmpty(this.objects[sDsName].getColumn(sFind,"reptrslt")) + sTag);
  2005. }
  2006. }
  2007. }
  2008. //var rslt = eval(vDScript);
  2009. //var rslt = Number((eval(vDScript)).toFixed(6));
  2010. var rslt = eval(vDScript);
  2011. //trace( vDScript );
  2012. if (utlf_transNullToEmpty(rslt) == "") rslt = "";//return;
  2013. var er = /^[0-9]*[.][0-9]+$/;//utlf_isNumber, utlf_isFloat 로 체크가 안되는 float 체크용
  2014. if (utlf_isNumber(rslt) || utlf_isFloat(rslt) || er.test(rslt))
  2015. {
  2016. //rslt = Number(rslt.toFixed(6));
  2017. rslt = Number((eval(vDScript)).toFixed(10));
  2018. }
  2019. var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  2020. var pos = -1;
  2021. for(var i=0; i<vCdList.length; i++)
  2022. {
  2023. if(vCdList[i]==vAppTclscd)
  2024. {
  2025. pos = i;
  2026. break;
  2027. }
  2028. }
  2029. if (pos > -1)
  2030. {
  2031. var readonly = ds_grid_grd_testlist.getColumn(pDsRow, "readonly" + (pos+1));
  2032. if( readonly != "1" ){
  2033. // trace( vDScript );
  2034. // trace( "행 : " + pDsRow +" 열 : " + (pos + gStartCol) + " 결과값 : " + rslt );
  2035. lf_calcRsltEnterKey(rslt, pDsRow, pos + gStartCol);
  2036. }
  2037. }
  2038. }
  2039. }
  2040. //계산결과를 화면 그리드에 입력을 한다.
  2041. function lf_calcRsltEnterKey(vInptRslt, j, k){
  2042. var vTclscd = ds_grid_grd_vlist.getColumn(j, "tclscd");
  2043. var vCvtRst = lf_getSeekRst(vTclscd, vInptRslt);
  2044. if( vInptRslt != vCvtRst ){
  2045. vInptRslt = vCvtRst;
  2046. }
  2047. // for( var i=0 ; i<group3.grd_testlist.selectstartrow.length ; i++ ){
  2048. // for( var k=group3.grd_testlist.selectstartcol[i] ; k<=group3.grd_testlist.selectendcol[i] ; k++ ){
  2049. // //var valExpr = "";
  2050. //
  2051. // for( var j=group3.grd_testlist.selectstartrow[i] ; j<=group3.grd_testlist.selectendrow[i] ; j++ ){
  2052. var curRow = j;
  2053. var curCol = k;
  2054. var vOrgrstseq = "inptrslt" + eval((curCol - gStartCol) + 1).toString();
  2055. var vOrgrstseq2 = "readonly" + eval((curCol - gStartCol) + 1).toString();
  2056. refRow = lf_getRow(curRow, curCol);
  2057. if( refRow >= 0 && ds_grid_grd_testlist.getColumn(curRow, vOrgrstseq2) != "1" ){
  2058. ds_grid_grd_testlist.setColumn(curRow, vOrgrstseq, vInptRslt);
  2059. lf_cvtViewResult(vInptRslt, refRow, false, curRow);
  2060. if( curCol >= 12 &&
  2061. (ds_grid_grd_testlist.getColumn(curRow, "chk") != 1 || ds_grid_grd_testlist.getColumn(curRow, "keycolor") == "1" ) ){
  2062. ds_grid_grd_testlist.setColumn(curRow, "keycolor", "1");
  2063. ds_grid_grd_testlist.setColumn(curRow, "keycolor"+(curCol-11), "1");
  2064. }
  2065. if( utlf_isNull(vInptRslt) ){
  2066. if( !utlf_isNull(ds_grid_grd_vlist.getColumn(refRow, "iud")) ){
  2067. ds_grid_grd_vlist.setColumn(refRow, "iud", "");
  2068. }
  2069. ds_grid_grd_testlist.setColumn(curRow, "chk", "0");
  2070. }else{
  2071. ds_grid_grd_testlist.setColumn(curRow, "chk", "1");
  2072. }
  2073. //수정항목 색변경
  2074. //valExpr += "currow == "+j+" ? '#f3e1bf' : ";
  2075. }
  2076. // }
  2077. //
  2078. // // if( !utlf_isNull(valExpr) ){
  2079. // // valExpr = "EXPR(" + valExpr + "''";
  2080. // //
  2081. // // group3.grd_testlist.setCellProperty("Body", k, "background", valExpr);
  2082. // // group3.grd_testlist.setCellProperty("Body", k, "background2", valExpr);
  2083. // // group3.grd_testlist.setCellProperty("Body", k, "selectbackground", valExpr);
  2084. // // }
  2085. // }
  2086. // }
  2087. ds_cond_hidden.setColumn(0, "rsltcont", "");
  2088. }
  2089. function lf_validation(pRstflag) {
  2090. if( utlf_isNull(ds_cond_refparam.getColumn(0, "userid")) || utlf_isNull(ds_cond_getUsernm.getColumn(0, "usernm")) ){
  2091. sysf_messageBox("검사자를 ", "C001", "");
  2092. group1.ipt_testpsn.setFocus();
  2093. return;
  2094. }
  2095. var rtn = 0;
  2096. for( var i=0 ; i<ds_testcmts.rowcount ; i++ ){
  2097. if( ds_testcmts.getRowType(i) == 2 || ds_testcmts.getRowType(i) == 4 || ds_testcmts.getRowType(i) == 8 ){
  2098. rtn++;
  2099. }
  2100. }
  2101. //수정된 소견이 있을경우 소견부터 저장
  2102. if( ds_hidden_refflag.getColumn(0, "isedit") == "true" || rtn > 0 ){
  2103. lf_setContCmt(); //소견저장
  2104. }
  2105. var nMaxRow = ds_grid_grd_testlist.rowcount;
  2106. var isErr = false;
  2107. var sErrMsg = "";
  2108. if( pRstflag == "1" ){
  2109. sErrMsg = "결과저장";
  2110. }else if( pRstflag == "2" ){
  2111. sErrMsg = "중간(예비)보고";
  2112. }else if( pRstflag == "4" ){
  2113. sErrMsg = "최종보고";
  2114. }
  2115. //수정/선택한 환자 유무
  2116. if( nMaxRow > 0 ){
  2117. var findRow = ds_grid_grd_vlist.findRow("reflt", "U");
  2118. }else{
  2119. isErr = true;
  2120. }
  2121. if( isErr ){
  2122. sysf_messageBox("수정된 항목이 ", "I004");
  2123. return false;
  2124. }
  2125. return true;
  2126. }
  2127. function lf_checkChangeValue(pState){
  2128. var nMaxRow = ds_grid_grd_vlist.rowcount;
  2129. var rkey = "";
  2130. var vO_inptrslt = "";
  2131. var vN_inptrslt = "";
  2132. var vRstflag = "";
  2133. var isErr = "false";
  2134. for( var vRow=0 ; vRow<nMaxRow ; vRow++ ){
  2135. isUpdate = ds_grid_grd_vlist.getColumn(vRow, "iud");
  2136. if( isUpdate == "U" ){
  2137. ds_grid_grd_vlist.enableevent = false;
  2138. ds_grid_grd_vlist.updatecontrol = false;
  2139. ds_grid_grd_vlist.setRowType(vRow, 4);
  2140. ds_grid_grd_vlist.enableevent = true;
  2141. ds_grid_grd_vlist.updatecontrol = true;
  2142. rkey = ds_grid_grd_vlist.getColumn(vRow, "rkey");
  2143. vO_inptrslt = ds_bak_testitem.getColumn(ds_bak_testitem.findRow("rkey", rkey), "inptrslt");
  2144. vN_inptrslt = ds_grid_grd_vlist.getColumn(vRow, "inptrslt");
  2145. vRstflag = ds_grid_grd_vlist.getColumn(vRow, "rsltstat");
  2146. if( vO_inptrslt == vN_inptrslt ){
  2147. if( vRstflag == pState ){
  2148. ds_grid_grd_vlist.setColumn(vRow, "iud", "");
  2149. if( ds_grid_grd_vlist.getRowType(vRow) == 4 ){
  2150. ds_grid_grd_vlist.enableevent = false;
  2151. ds_grid_grd_vlist.updatecontrol = false;
  2152. ds_grid_grd_vlist.setRowType(vRow, 1);
  2153. ds_grid_grd_vlist.enableevent = true;
  2154. ds_grid_grd_vlist.updatecontrol = true;
  2155. }
  2156. }
  2157. }
  2158. }
  2159. }
  2160. return isErr;
  2161. }
  2162. //결과저장
  2163. function lf_insRsltSave(){
  2164. if( lf_checkChangeValue("1") == "false" ){
  2165. if( lf_validation("1") ){
  2166. ds_updateparam.setColumn(0, "rsltstat", "1");
  2167. ds_send_data1.assign(ds_updateparam);
  2168. ds_grid_grd_vlist.updatecontrol = false;
  2169. for( var i=0 ; i<ds_grid_grd_vlist.rowcount ; i++ ){
  2170. if( ds_grid_grd_vlist.getColumn(i, "iud") == "U" ){
  2171. //체크 되어 있는 항목만 넘어 가도록 조건 변경
  2172. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_UPDATE);
  2173. /*ds_grid_grd_vlist.getRowType(i) == 2 || ds_grid_grd_vlist.getRowType(i) == 4 || ds_grid_grd_vlist.getRowType(i) == 8*/
  2174. var nRow = ds_temp_save.addRow();
  2175. ds_temp_save.setColumn(nRow, "bcno", ds_grid_grd_vlist.getColumn(i, "bcno"));
  2176. ds_temp_save.setColumn(nRow, "rsltstat", ds_updateparam.getColumn(0, "rsltstat"));
  2177. ds_temp_save.setColumn(nRow, "testlrgkind", "-");
  2178. ds_temp_save.setColumn(nRow, "userid", ds_cond_refparam.getColumn(0, "userid"));
  2179. ds_temp_save.setColumn(nRow, "XFMGbn", "result");
  2180. ds_temp_save.setColumn(nRow, "flag", "");
  2181. }else{
  2182. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_NORMAL);
  2183. }
  2184. }
  2185. ds_grid_grd_vlist.updatecontrol = true;
  2186. var oParam = {};
  2187. oParam.id = "TXLLR00401";
  2188. oParam.service = "rsltmngtapp.RsltMngt";
  2189. oParam.method = "reqSetItemResultSave";
  2190. oParam.inds = "TestData=ds_grid_grd_vlist:U RefFalg=ds_temp_save signinfo= HLAform=ds_testcmts TestCmtInfo=ds_grid_grd_vlist:U";
  2191. oParam.transaction = false;
  2192. oParam.async = false;
  2193. oParam.callback = "cbf_TXLLR00401";
  2194. tranf_submit(oParam);
  2195. ds_cond_hidden.setColumn(0, "currenRow", "");
  2196. for( var i=0 ; i<group3.datagrid2.getFormatColCount() ; i++ ){
  2197. group3.datagrid2.setCellProperty("Body", i, "background", "");
  2198. group3.datagrid2.setCellProperty("Body", i, "background2", "");
  2199. group3.datagrid2.setCellProperty("Body", i, "selectbackground", "");
  2200. }
  2201. lf_setClear2();
  2202. }
  2203. }
  2204. }
  2205. //중간보고
  2206. function lf_setMdlRept(){
  2207. if( lf_checkChangeValue("2") == "false" ){
  2208. if( lf_validation("2") ){
  2209. ds_updateparam.setColumn(0, "rsltstat", "2");
  2210. ds_send_data1.assign(ds_updateparam);
  2211. ds_grid_grd_vlist.updatecontrol = false;
  2212. for( var i=0 ; i<ds_grid_grd_vlist.rowcount ; i++ ){
  2213. if( ds_grid_grd_vlist.getColumn(i, "iud") == "U" ){
  2214. //체크 되어 있는 항목만 넘어 가도록 조건 변경
  2215. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_UPDATE);
  2216. /*ds_grid_grd_vlist.getRowType(i) == 2 || ds_grid_grd_vlist.getRowType(i) == 4 || ds_grid_grd_vlist.getRowType(i) == 8*/
  2217. var nRow = ds_temp_save.addRow();
  2218. ds_temp_save.setColumn(nRow, "bcno", ds_grid_grd_vlist.getColumn(i, "bcno"));
  2219. ds_temp_save.setColumn(nRow, "rsltstat", ds_updateparam.getColumn(0, "rsltstat"));
  2220. ds_temp_save.setColumn(nRow, "testlrgkind", "-");
  2221. ds_temp_save.setColumn(nRow, "userid", ds_cond_refparam.getColumn(0, "userid"));
  2222. ds_temp_save.setColumn(nRow, "XFMGbn", "result");
  2223. ds_temp_save.setColumn(nRow, "flag", "");
  2224. }else{
  2225. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_NORMAL);
  2226. }
  2227. }
  2228. ds_grid_grd_vlist.updatecontrol = true;
  2229. var oParam = {};
  2230. oParam.id = "TXLLR00401";
  2231. oParam.service = "rsltmngtapp.RsltMngt";
  2232. oParam.method = "reqSetItemResultSave";
  2233. oParam.inds = "TestData=ds_grid_grd_vlist:U RefFalg=ds_temp_save signinfo= HLAform=ds_testcmts TestCmtInfo=ds_grid_grd_vlist:U";
  2234. oParam.transaction = false;
  2235. oParam.async = false;
  2236. oParam.callback = "cbf_TXLLR00401";
  2237. tranf_submit(oParam);
  2238. ds_cond_hidden.setColumn(0, "currenRow", "");
  2239. for( var i=0 ; i<group3.datagrid2.getFormatColCount() ; i++ ){
  2240. group3.datagrid2.setCellProperty("Body", i, "background", "");
  2241. group3.datagrid2.setCellProperty("Body", i, "background2", "");
  2242. group3.datagrid2.setCellProperty("Body", i, "selectbackground", "");
  2243. }
  2244. lf_setClear2();
  2245. }
  2246. }
  2247. }
  2248. //최종보고
  2249. function lf_setLstRept()
  2250. {
  2251. if( lf_checkChangeValue("4") == "false" )
  2252. {
  2253. if( lf_validation("4") )
  2254. {
  2255. if( lf_updtRslt() != 0 ) return;
  2256. //수정된 소견이 있을경우 소견부터 저장
  2257. if( ds_hidden_refflag.getColumn(0, "isedit") == "true")
  2258. {
  2259. lf_setContCmt(); //소견저장
  2260. }
  2261. ds_updateparam.setColumn(0, "rsltstat", "4");
  2262. ds_send_data1.assign(ds_updateparam);
  2263. ds_grid_grd_vlist.updatecontrol = false;
  2264. for( var i=0 ; i<ds_grid_grd_vlist.rowcount ; i++ ){
  2265. if( ds_grid_grd_vlist.getColumn(i, "iud") == "U" ){
  2266. //체크 되어 있는 항목만 넘어 가도록 조건 변경
  2267. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_UPDATE);
  2268. /*ds_grid_grd_vlist.getRowType(i) == 2 || ds_grid_grd_vlist.getRowType(i) == 4 || ds_grid_grd_vlist.getRowType(i) == 8*/
  2269. var nRow = ds_temp_save.addRow();
  2270. ds_temp_save.setColumn(nRow, "bcno", ds_grid_grd_vlist.getColumn(i, "bcno"));
  2271. ds_temp_save.setColumn(nRow, "rsltstat", ds_updateparam.getColumn(0, "rsltstat"));
  2272. ds_temp_save.setColumn(nRow, "testlrgkind", "-");
  2273. ds_temp_save.setColumn(nRow, "userid", ds_cond_refparam.getColumn(0, "userid"));
  2274. ds_temp_save.setColumn(nRow, "XFMGbn", "result");
  2275. ds_temp_save.setColumn(nRow, "flag", "");
  2276. }else{
  2277. ds_grid_grd_vlist.setRowType(i, Dataset.ROWTYPE_NORMAL);
  2278. }
  2279. }
  2280. ds_grid_grd_vlist.updatecontrol = true;
  2281. var oParam = {};
  2282. oParam.id = "TXLLR00401";
  2283. oParam.service = "rsltmngtapp.RsltMngt";
  2284. oParam.method = "reqSetItemResultSave";
  2285. oParam.inds = "TestData=ds_grid_grd_vlist:U RefFalg=ds_temp_save signinfo= HLAform=ds_testcmts TestCmtInfo=ds_grid_grd_vlist:U";
  2286. oParam.transaction = false;
  2287. oParam.async = false;
  2288. oParam.callback = "cbf_TXLLR00401";
  2289. tranf_submit(oParam);
  2290. ds_cond_hidden.setColumn(0, "currenRow", "");
  2291. for( var i=0 ; i<group3.datagrid2.getFormatColCount() ; i++ ){
  2292. group3.datagrid2.setCellProperty("Body", i, "background", "");
  2293. group3.datagrid2.setCellProperty("Body", i, "background2", "");
  2294. group3.datagrid2.setCellProperty("Body", i, "selectbackground", "");
  2295. }
  2296. lf_setClear2();
  2297. }
  2298. }
  2299. }
  2300. //수정결과 팝업 띄우기
  2301. function lf_updtRslt()
  2302. {
  2303. var testlist = "";
  2304. var returnyn = "";
  2305. var bufDJGG = "";
  2306. var autoCmtArr = new Array();
  2307. for( i = 0; i < ds_grid_grd_vlist.rowcount; i++ ){
  2308. if( (ds_grid_grd_vlist.getColumn(i, "rsltstat") == "4" || ds_grid_grd_vlist.getColumn(i, "rsltstat") == "5") &&
  2309. ds_grid_grd_vlist.getColumn(i, "iud") == "U" ){ //수정 및 선택된 경우
  2310. var vPID = utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(i, "pid")); //등록번호
  2311. var vBcno = ds_grid_grd_vlist.getColumn(i, "bcno"); //바코드
  2312. bufDJGG += ds_grid_grd_vlist.getColumn(i, "testcd") + "▦" + ds_grid_grd_vlist.getColumn(i, "reptrslt") + "▩";
  2313. testlist += "'" + ds_grid_grd_vlist.getColumn(i, "testcd") + "',"; //'testcd', 'testcd',
  2314. //model.setvalue("/root/hidden/DJGGParm/userid" , model.getvalue("/root/hidden/refflag/userid")); 6/12일 수정자ID 직접입력을 원하셔서 막음..
  2315. //trace(vPID + " != \"\" && " + vBcno + " != " + (ds_grid_grd_vlist.getColumn(i+1, "bcno")) + " && " + i + " != 0 " );
  2316. ///////////////////// 수정보고시 자동소견 처리 Start ////////////////////////
  2317. var curSlip = ds_hidden_testcont.getColumn(0, "tsectcd");
  2318. var curCmptcd = ds_hidden_testcont.getColumn(0, "testcontcd");
  2319. var vCmtp = ""; //시행부서별 소견
  2320. var vNodeCnt, vContNodeCount;
  2321. //var vRow = lf_getRow(group3.grd_testlist.currentrow, group3.grd_testlist.currentcol);
  2322. //var vBcno = ds_grid_grd_vlist.getColumn(i, "bcno");
  2323. var vTestcd = ds_grid_grd_vlist.getColumn(i, "testcd"); //검사코드
  2324. var vTsectcd = ds_grid_grd_vlist.getColumn(i, "tsectcd"); //시행부서
  2325. var vTclscd, vSpccd, vRsltseq;
  2326. if (autoCmtArr.indexOf(vBcno) == -1)
  2327. {
  2328. autoCmtArr[autoCmtArr.length] = vBcno;
  2329. vCmtp = "\n다음과 같이 최종보고가 되었던 자료입니다.\n";
  2330. }
  2331. vCmtp += "[『" + ds_grid_grd_vlist.getColumn(i, "tclsscrnnm") + "』『" + ds_grid_grd_vlist.getOrgColumn(i, "reptrslt") + "』『" + ds_grid_grd_vlist.getColumn(i, "lastreptdt2") + "』] " + "\n";
  2332. // if( curSlip == "-" ){
  2333. // return false;
  2334. // }
  2335. //if( pRef == 1 ){ //시행부서별 소견
  2336. //해당 바코드, 시행부서 노드 존재 여부 판단 위해
  2337. vNodeCnt = ds_main_testcont.getCaseCount("bcno=='" + vBcno + "' && execdeptcd=='" + vTsectcd + "'");
  2338. //if( utlf_isNull(vCmtp) || vCmtp.getTrim() == "-" ){
  2339. if( vNodeCnt > 0 ){ //소견 존재시 setValue
  2340. var valFindRow = ds_main_testcont.findRowExpr("bcno=='" + vBcno + "' && execdeptcd=='" + vTsectcd + "'");
  2341. ds_main_testcont.setColumn(valFindRow, "testcontcd", curCmptcd);
  2342. ds_main_testcont.setColumn(valFindRow, "testcont", ds_main_testcont.getColumn(valFindRow, "testcont") + vCmtp);
  2343. ds_main_testcont.setColumn(valFindRow, "iud", "i");
  2344. }
  2345. else{ //없을때 만들어 넣기
  2346. vContNodeCount = ds_main_testcont.rowcount;
  2347. vContNodeCount = parseInt(vContNodeCount) + 1;
  2348. var nRow = ds_main_testcont.addRow();
  2349. ds_main_testcont.setColumn(nRow, "iud", "i");
  2350. ds_main_testcont.setColumn(nRow, "bcno", vBcno);
  2351. ds_main_testcont.setColumn(nRow, "testcontcd", curCmptcd);
  2352. ds_main_testcont.setColumn(nRow, "testcont", vCmtp);
  2353. ds_main_testcont.setColumn(nRow, "testcontkind", "01");
  2354. ds_main_testcont.setColumn(nRow, "execdeptcd", vTsectcd);
  2355. }
  2356. ds_hidden_refflag.setColumn(0, "isedit", "true"); //저장할거 생겼다.
  2357. ///////////////////// 수정보고시 자동소견 처리 End ////////////////////////
  2358. if( vPID != "" && //pid가 있고
  2359. vBcno != ds_grid_grd_vlist.getColumn(i+1, "bcno") && //이전바코드번호랑 다르고
  2360. i != 0 ){ //i != 0임
  2361. //trace("in");
  2362. pDJGGParm.setColumn(0, "bcno", vBcno);
  2363. pDJGGParm.setColumn(0, "testcdlist", testlist.substr(0, testlist.length - 1)); //'testcd', 'testcd', <-맨뒤의 ',' 빼기 위해
  2364. pDJGGParm.setColumn(0, "bufDJGG", bufDJGG);
  2365. pDJGGParm.setColumn(0, "userid", group1.ipt_testpsn.value);
  2366. testlist = ""; //초기화
  2367. var objArg = new Object();
  2368. objArg.pDJGGParm = pDJGGParm;
  2369. if( "Y" == frmf_modal("SMLLR90600", "SMLLR90600", objArg, null, null, null, null, null, null, null, null, null, "M") )
  2370. {
  2371. returnyn = 0;
  2372. }else{
  2373. returnyn = 1;
  2374. }
  2375. }
  2376. }
  2377. }
  2378. return returnyn;
  2379. }
  2380. //배열검색
  2381. Array.prototype.indexOf = function(str)
  2382. {
  2383. var pos = -1;
  2384. for(var i=0; i<this.length; i++)
  2385. {
  2386. if(this[i]==str)
  2387. {
  2388. pos = i;
  2389. break;
  2390. }
  2391. }
  2392. return pos;
  2393. }
  2394. function lf_rstGbn_XForms_Value_Changed(pIdx) {
  2395. if( pIdx == "0" ){
  2396. //결과미입력 클릭
  2397. if( group1.chk_checkbox1.value == "1" ){
  2398. ds_cond_refparam.setColumn(0, "rsltstat2", "");
  2399. }
  2400. }else if( pIdx == "1" ){
  2401. //결과입력 클릭
  2402. if( group1.chk_checkbox2.value == "1" ){
  2403. ds_cond_refparam.setColumn(0, "rsltstat2", "");
  2404. }
  2405. }else{
  2406. //최종보고 클릭
  2407. if( group1.chk_checkbox3.value == "1" ){
  2408. ds_cond_refparam.setColumn(0, "rsltstat0", "");
  2409. ds_cond_refparam.setColumn(0, "rsltstat1", "");
  2410. }
  2411. }
  2412. }
  2413. function lf_setInit(ref){
  2414. if( ref != 2 ){
  2415. ds_grid_grd_vlist.clearData();
  2416. ds_detail_spcinfo.clearData();
  2417. ds_detail_spcinfo.addRow();
  2418. ds_cond_refparam.setColumn(0, "startdd", utlf_getCurrentDate());
  2419. ds_cond_refparam.setColumn(0, "enddd", utlf_getCurrentDate());
  2420. ds_cond_refparam.setColumn(0, "tsectcd", "00");
  2421. ds_cond_refparam.setColumn(0, "sworkseq", "0000");
  2422. ds_cond_refparam.setColumn(0, "eworkseq", "9999");
  2423. ds_cond_refparam.setColumn(0, "starttm", "0000");
  2424. ds_cond_refparam.setColumn(0, "endtm", "2359");
  2425. ds_cond_refparam.setColumn(0, "rsltstat0", "1");
  2426. ds_cond_refparam.setColumn(0, "rsltstat1", "");
  2427. ds_cond_refparam.setColumn(0, "rsltstat2", "");
  2428. ds_cond_hidden.setColumn(0, "rsltcont", "");
  2429. ds_cond_hidden.setColumn(0, "cursor", "1");
  2430. ds_cond_tclscdlist.setColumn(0, "tclsnmlist", "");
  2431. ds_cond_tclscdlist.setColumn(0, "testgrup", "");
  2432. for( var i=0 ; i<group3.datagrid2.getFormatColCount() ; i++ ){
  2433. group3.datagrid2.setCellProperty("Body", i, "background", "");
  2434. group3.datagrid2.setCellProperty("Body", i, "background2", "");
  2435. group3.datagrid2.setCellProperty("Body", i, "selectbackground", "");
  2436. }
  2437. group3.datagrid2.enable = false;
  2438. group3.grd_testlist.setCellProperty("Head", 1, "text", 0);
  2439. ds_grid_grd_testlist.clearData();
  2440. for( var i=12 ; i<group3.grd_testlist.getFormatColCount() ; i++ ){
  2441. group3.grd_testlist.setFormatColProperty(i, "size", 0);
  2442. if( ref != 1 ){
  2443. ds_cond_refparam.setColumn(0, "userid", "");
  2444. ds_cond_getUsernm.setColumn(0, "usernm", "");
  2445. }
  2446. }
  2447. //LIS 공통코드 조회
  2448. ds_send.setColumn(0, "codeflag", "0000|0103|0105|0106|0109|0210|1005|");
  2449. var oParam = {};
  2450. oParam.id = "TRLZZ00101";
  2451. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  2452. oParam.method = "reqGetInitCodeInfo";
  2453. oParam.inds = "cond=ds_send";
  2454. oParam.outds = "ds_lb0000=0000 ds_lb0103=0103 ds_lb0105=0105 ds_lb0106=0106 ds_lb0109=0109 ds_lb0210=0210 ds_lb1005=1005";
  2455. oParam.async = false;
  2456. oParam.callback = "cbf_TRLZZ00101";
  2457. tranf_submit(oParam);
  2458. ds_lb0109.filter("etc01==''");
  2459. lf_cMTPCD_ChangeNodeset(); //소견 노드 셋팅
  2460. }
  2461. }
  2462. //소견 노드 셋팅
  2463. function lf_cMTPCD_ChangeNodeset(pSectcd, pTsectcd, refRow){
  2464. ds_testconttsectcd.clearData();
  2465. ds_testconttsectcd.addRow();
  2466. if( typeof(pSectcd) == "undefined" ){
  2467. ds_lb0210.filter("cd=='00'");
  2468. } else {
  2469. ds_lb0210.filter("cd=='00' || (etc01=='" + pSectcd + "' && etc02=='" + pTsectcd + "')");
  2470. }
  2471. ds_hidden_testcont.setColumn(0, "testcontcd", "00");
  2472. var vCmtTsect = ds_grid_grd_vlist.getColumn(refRow, "tsectcd");
  2473. ds_testconttsectcd.setColumn(0, "cd", "00");
  2474. ds_testconttsectcd.setColumn(0, "nm", "- 시행부서선택 -");
  2475. if( !utlf_isNull(vCmtTsect) ){
  2476. ds_testconttsectcd.addRow();
  2477. ds_testconttsectcd.setColumn(1, "cd", vCmtTsect);
  2478. ds_testconttsectcd.setColumn(1, "nm", ds_lb0106.getColumn(ds_lb0106.findRow("cd", vCmtTsect), "nm"));
  2479. }else{
  2480. ds_hidden_testcont.setColumn(0, "tsectcd", "00");
  2481. }
  2482. }
  2483. function lf_setClear2(){
  2484. ds_grid_grd_testlist.clearData();
  2485. ds_detail_spcinfo.clearData();
  2486. ds_detail_spcinfo.addRow();
  2487. ds_grid_grd_vlist.clearData();
  2488. for( var i=0 ; i<group3.datagrid2.getFormatColCount() ; i++ ){
  2489. group3.datagrid2.setCellProperty("Body", i, "background", "");
  2490. group3.datagrid2.setCellProperty("Body", i, "background2", "");
  2491. group3.datagrid2.setCellProperty("Body", i, "selectbackground", "");
  2492. }
  2493. }
  2494. function lf_rsltCDEnterKey(vInptRslt){
  2495. var curRow = group3.grd_testlist.currentrow;
  2496. var curCol = group3.grd_testlist.currentcol;
  2497. var refRow = lf_getRow(curRow, curCol);
  2498. if( curCol < parseInt(gStartCol) ) return;
  2499. if( curRow < 0 ) return;
  2500. if( utlf_transNullToEmpty(vInptRslt).getTrim() == "" ) return;
  2501. var vTclscd = ds_grid_grd_vlist.getColumn(refRow, "tclscd");
  2502. var vCvtRst = lf_getSeekRst(vTclscd, vInptRslt);
  2503. if( vInptRslt != vCvtRst ){
  2504. vInptRslt = vCvtRst;
  2505. }
  2506. for( var i=0 ; i<group3.grd_testlist.selectstartrow.length ; i++ ){
  2507. for( var k=group3.grd_testlist.selectstartcol[i] ; k<=group3.grd_testlist.selectendcol[i] ; k++ ){
  2508. //var valExpr = "";
  2509. for( var j=group3.grd_testlist.selectstartrow[i] ; j<=group3.grd_testlist.selectendrow[i] ; j++ ){
  2510. var curRow = j;
  2511. var curCol = k;
  2512. var vOrgrstseq = "inptrslt" + eval((curCol - gStartCol) + 1).toString();
  2513. var vOrgrstseq2 = "readonly" + eval((curCol - gStartCol) + 1).toString();
  2514. refRow = lf_getRow(curRow, curCol);
  2515. if( refRow >= 0 && ds_grid_grd_testlist.getColumn(curRow, vOrgrstseq2) != "1" ){
  2516. ds_grid_grd_testlist.setColumn(curRow, vOrgrstseq, vInptRslt);
  2517. lf_cvtViewResult(vInptRslt, refRow, false, curRow);
  2518. if( curCol >= 12 &&
  2519. (ds_grid_grd_testlist.getColumn(curRow, "chk") != 1 || ds_grid_grd_testlist.getColumn(curRow, "keycolor") == "1" ) ){
  2520. ds_grid_grd_testlist.setColumn(curRow, "keycolor", "1");
  2521. ds_grid_grd_testlist.setColumn(curRow, "keycolor"+(curCol-11), "1");
  2522. }
  2523. if( utlf_transNullToEmpty(vInptRslt) == "" ){
  2524. if( utlf_transNullToEmpty(ds_grid_grd_vlist.getColumn(refRow, "iud")) != "" ){
  2525. ds_grid_grd_vlist.setColumn(refRow, "iud", "");
  2526. }
  2527. ds_grid_grd_testlist.setColumn(curRow, "chk", "0");
  2528. }else{
  2529. ds_grid_grd_testlist.setColumn(curRow, "chk", "1");
  2530. }
  2531. //수정항목 색변경
  2532. //valExpr += "currow == "+j+" ? '#f3e1bf' : ";
  2533. }
  2534. }
  2535. // if( !utlf_isNull(valExpr) ){
  2536. // valExpr = "EXPR(" + valExpr + "''";
  2537. //
  2538. // group3.grd_testlist.setCellProperty("Body", k, "background", valExpr);
  2539. // group3.grd_testlist.setCellProperty("Body", k, "background2", valExpr);
  2540. // group3.grd_testlist.setCellProperty("Body", k, "selectbackground", valExpr);
  2541. // }
  2542. }
  2543. }
  2544. ds_cond_hidden.setColumn(0, "rsltcont", "");
  2545. }
  2546. function lf_getSeekRst(vTestcd, vInptRslt){
  2547. var result = vInptRslt;
  2548. var vRstcontLower ="";
  2549. var vRstcontUpper = "";
  2550. ds_lb0109.filter("etc01=='" + vTestcd + "'");
  2551. for( var i=0 ; i<ds_lb0109.rowcount ; i++ ){
  2552. var cd = utlf_transNullToEmpty(ds_lb0109.getColumn(i, "cd"));
  2553. var nm = utlf_transNullToEmpty(ds_lb0109.getColumn(i, "nm"));
  2554. if( vInptRslt.toLowerCase() == cd ) vRstcontLower = nm;
  2555. if( vInptRslt.toUpperCase() == cd ) vRstcontUpper = nm;
  2556. }
  2557. if( vRstcontLower.getTrim() != "" || vRstcontUpper.getTrim() != "" ){
  2558. result = (vRstcontLower.getTrim() != "") ? vRstcontLower.getTrim() : vRstcontUpper.getTrim();
  2559. }
  2560. return result;
  2561. }
  2562. //마우스오른쪽 클릭시 결과코드 보이기
  2563. function lf_getMouseDown(x, y){
  2564. var arrColInfo = new Array();
  2565. arrColInfo = [ {col: "id", type:"string", size:256},
  2566. {col: "level", type:"string", size:256},
  2567. {col: "title", type:"string", size:256},
  2568. {col: "type", type:"string", size:256}
  2569. ];
  2570. dsf_createDs("frmfds_pm_SubMenu", arrColInfo);
  2571. var curRow = group3.grd_testlist.currentrow;
  2572. var curCol = group3.grd_testlist.currentcol;
  2573. var refRow = lf_getRow(curRow, curCol);
  2574. if( curCol >= gStartCol && refRow >= 0 ){
  2575. var testcd = ds_grid_grd_vlist.getColumn(refRow, "testcd");
  2576. //결과코드관련
  2577. ds_lb0109.filter("etc01=='" + testcd + "'");
  2578. var n = ds_lb0109.rowcount;
  2579. if( n > 0 ){
  2580. for( var i=1 ; i<=n ; i++ ){
  2581. var cd = ds_lb0109.getColumn(i-1, "cd");
  2582. var nm = ds_lb0109.getColumn(i-1, "nm");
  2583. var yn = ds_lb0109.getColumn(i-1, "etc03");
  2584. if( yn == "Y" ){
  2585. var nRow = frmfds_pm_SubMenu.addRow();
  2586. frmfds_pm_SubMenu.setColumn(nRow, "title", "[" + cd + "] " + nm);
  2587. frmfds_pm_SubMenu.setColumn(nRow, "id", nm + "▦" + refRow);
  2588. frmfds_pm_SubMenu.setColumn(nRow, "level", "0");
  2589. }
  2590. }
  2591. }
  2592. n = parseInt(frmfds_pm_SubMenu.rowcount) + 1;
  2593. if( n > 1 ){
  2594. var nRow = frmfds_pm_SubMenu.addRow();
  2595. frmfds_pm_SubMenu.setColumn(nRow, "title", "-");
  2596. frmfds_pm_SubMenu.setColumn(nRow, "id", "");
  2597. frmfds_pm_SubMenu.setColumn(nRow, "level", "0");
  2598. n++
  2599. }
  2600. var nRow = frmfds_pm_SubMenu.addRow();
  2601. frmfds_pm_SubMenu.setColumn(nRow, "title", "▶ 누적결과조회");
  2602. frmfds_pm_SubMenu.setColumn(nRow, "id", "fAcmlRsltRef" + refRow);
  2603. frmfds_pm_SubMenu.setColumn(nRow, "level", "0");
  2604. }
  2605. if( curCol >= gStartCol ){
  2606. pm_SubMenu.innerdataset = frmfds_pm_SubMenu;
  2607. pm_SubMenu.trackPopup(x, y);
  2608. }
  2609. }
  2610. //팝업메뉴
  2611. function lf_onmenu(id){
  2612. if( id.substring(0, 12) == "fAcmlRsltRef" ){ //누적결과조회
  2613. lf_acmlRsltRef(id.substring(12, id.length));
  2614. }else{ //결과코드관련
  2615. if( !utlf_isNull(id) ){
  2616. var aL = id.split("▦");
  2617. lf_rsltCDEnterKey(aL[0]);
  2618. }
  2619. }
  2620. }
  2621. //누적결과조회
  2622. function lf_acmlRsltRef(row){
  2623. ds_hidden_AcmlRsltRef.setColumn(0, "pid", ds_grid_grd_vlist.getColumn(row, "pid"));
  2624. ds_hidden_AcmlRsltRef.setColumn(0, "testcd", ds_grid_grd_vlist.getColumn(row, "testcd"));
  2625. ds_hidden_AcmlRsltRef.setColumn(0, "hngnm", ds_grid_grd_vlist.getColumn(row, "patnm"));
  2626. ds_hidden_AcmlRsltRef.setColumn(0, "sex", ds_grid_grd_vlist.getColumn(row, "patsex"));
  2627. ds_hidden_AcmlRsltRef.setColumn(0, "age", ds_grid_grd_vlist.getColumn(row, "patage"));
  2628. var objArg = new Object();
  2629. objArg.ds_baseinfo = ds_hidden_AcmlRsltRef;
  2630. //frmf_modal("SPLLP90100", "SPLLP90100", objArg);
  2631. frmf_modal("SPLLP90100", "SPLLP90100", objArg, null, null, null, null, null, null, null, null, null, "M");
  2632. }
  2633. //자동소견 추가
  2634. function lf_setAutoCmt(iRow){
  2635. var sBcno, sTestcd, sSearchCd, iFRow, iARow, sChkSpccd;
  2636. ds_send_searchcmt.clearData();
  2637. ds_send_searchcmt.addRow();
  2638. iARow = -1;
  2639. sBcno = ds_grid_grd_testlist.getColumn(iRow, "bcno");
  2640. ds_send.setColumn(0, "bcno", sBcno);
  2641. //자동소견이 설정되어있는 검사코드 수만큼 정보를 넘긴다.
  2642. for( i=0 ; i<ds_chkstr.rowcount ; i++ ){
  2643. sTestcd = sBcno + ds_chkstr.getColumn(i, "chkstring");
  2644. sChkSpccd = sTestcd.substr(6, 3);
  2645. if( sChkSpccd == "000" ){
  2646. iFRow = ds_grid_grd_vlist.findRow("chktestcd", sTestcd.substr(0, 15));
  2647. }else{
  2648. iFRow = ds_grid_grd_vlist.findRow("chkstring", sTestcd);
  2649. }
  2650. if( iFRow > -1 ){
  2651. iARow++;
  2652. ds_send_searchcmt.setColumn(iARow, "testcd", ds_grid_grd_vlist.getColumn(iFRow, "testcd"));
  2653. //검체코드가 000이면 전체 검체코드에 상관없이 적용이된다.
  2654. if( sChkSpccd == "000" ){
  2655. ds_send_searchcmt.setColumn(iARow, "spccd", "000");
  2656. }else{
  2657. ds_send_searchcmt.setColumn(iARow, "spccd", ds_grid_grd_vlist.getColumn(iFRow, "spccd"));
  2658. }
  2659. ds_send_searchcmt.setColumn(iARow, "orgrst", ds_grid_grd_vlist.getColumn(iFRow, "inptrslt"));
  2660. ds_send_searchcmt.setColumn(iARow, "viewrst", ds_grid_grd_vlist.getColumn(iFRow, "reptrslt"));
  2661. }
  2662. ds_autocmt.clearData();
  2663. var oParam = {};
  2664. oParam.id = "TRLLR80105";
  2665. oParam.service = "rsltmngtapp.RsltMngt";
  2666. oParam.method = "reqGetAboRslt";
  2667. oParam.inds = "args=ds_send values=ds_send_searchcmt";
  2668. oParam.outds = "ds_autocmt=aborslt";
  2669. oParam.async = false;
  2670. oParam.callback = "cbf_TRLLR80105";
  2671. tranf_submit(oParam);
  2672. var sAutoCmt, sAddText, sSetText, sPreText;
  2673. if( ds_autocmt.getColumn(0, "flag") == "T" ){
  2674. sAutoCmt = ds_detail_spcinfo.getColumn(0, "testcont");
  2675. sAddText = ds_autocmt.getColumn(0, "cmttext");
  2676. ds_cond_hidden.setColumn(0, "preautocmt", sAddText);
  2677. if( sAutoCmt.length == 0 ){
  2678. ds_detail_spcinfo.setColumn(0, "testcont", "");
  2679. sSetText = sAddText;
  2680. }else{
  2681. sSetText = sAutoCmt + "\n" + "\n" + sAddText;
  2682. }
  2683. ds_detail_spcinfo.setColumn(0, "testcont", sSetText);
  2684. }else{
  2685. if( ds_autocmt.getColumn(0, "cmttext").length > 0 ){
  2686. sysf_messageBox(ds_autocmt.getColumn(0, "cmttext"), "I007");
  2687. }
  2688. return false;
  2689. }
  2690. }
  2691. }
  2692. //=======================================================================================
  2693. // 콜백
  2694. //---------------------------------------------------------------------------------------
  2695. function cbf_TRLZZ00101(strSvcID, nErrorCode, strErrorMag){
  2696. if( nErrorCode != 0 ){
  2697. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2698. }else{
  2699. }
  2700. }
  2701. function cbf_TRLZZ00104(strSvcID, nErrorCode, strErrorMag){
  2702. if( nErrorCode != 0 ){
  2703. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2704. }else{
  2705. }
  2706. }
  2707. function cbf_TRLLF90401(strSvcID, nErrorCode, strErrorMag){
  2708. if( nErrorCode != 0 ){
  2709. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2710. }else{
  2711. }
  2712. }
  2713. function cbf_TRLLR00401(strSvcID, nErrorCode, strErrorMag)
  2714. {
  2715. if( nErrorCode != 0 )
  2716. {
  2717. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2718. }
  2719. else
  2720. {
  2721. createColumn(ds_grid_grd_testlist, "chk");
  2722. createColumn(ds_grid_grd_vlist, "iud");
  2723. createColumn(ds_grid_grd_vlist, "refl");
  2724. createColumn(ds_grid_grd_vlist, "refls");
  2725. createColumn(ds_grid_grd_vlist, "refh");
  2726. createColumn(ds_grid_grd_vlist, "refhs");
  2727. createColumn(ds_grid_grd_vlist, "reflt");
  2728. createColumn(ds_grid_grd_vlist, "alimiminvalsinq");
  2729. createColumn(ds_grid_grd_vlist, "rsltmark");
  2730. createColumn(ds_main_testcont, "iud");
  2731. createColumn(ds_bak_testitem, "rkey");
  2732. }
  2733. }
  2734. function cbf_TRLLR80104(strSvcID, nErrorCode, strErrorMag){
  2735. if( nErrorCode != 0 ){
  2736. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2737. }else{
  2738. }
  2739. }
  2740. function cbf_TRLLR80105(strSvcID, nErrorCode, strErrorMag){
  2741. if( nErrorCode != 0 ){
  2742. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2743. }else{
  2744. }
  2745. }
  2746. function cbf_TRLLR00402(strSvcID, nErrorCode, strErrorMag){
  2747. if( nErrorCode != 0 ){
  2748. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2749. }else{
  2750. }
  2751. }
  2752. function cbf_TRLZZ00103(strSvcID, nErrorCode, strErrorMag){
  2753. if( nErrorCode != 0 ){
  2754. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2755. }else{
  2756. }
  2757. }
  2758. function cbf_TXLLR80101(strSvcID, nErrorCode, strErrorMag){
  2759. if( nErrorCode != 0 ){
  2760. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2761. }else{
  2762. }
  2763. }
  2764. function cbf_TXLLR00401(strSvcID, nErrorCode, strErrorMag){
  2765. if( nErrorCode != 0 ){
  2766. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  2767. }else{
  2768. }
  2769. }
  2770. function group1_ipt_testpsn_onkeydown(obj:Edit, e:KeyEventInfo)
  2771. {
  2772. if( e.keycode == 13 )
  2773. {
  2774. ds_cond_refparam.setColumn(0, "userid", group1.ipt_testpsn.value);
  2775. if( !utlf_isNull(ds_cond_refparam.getColumn(0, "userid")) )
  2776. {
  2777. ds_send.setColumn(0, "userid", ds_cond_refparam.getColumn(0, "userid"));
  2778. var oParam = {};
  2779. oParam.id = "TRLZZ00104";
  2780. oParam.service = "diagtestapplib.LisCommon";
  2781. oParam.method = "reqGetUserNM";
  2782. oParam.inds = "cond=ds_send";
  2783. oParam.outds = "ds_cond_getUsernm=usernm";
  2784. oParam.async = false;
  2785. oParam.callback = "cbf_TRLZZ00104";
  2786. tranf_submit(oParam);
  2787. if( !utlf_isNull(ds_cond_getUsernm.getColumn(0, "usernm")) )
  2788. {
  2789. ds_bind.setColumn(0, "able", true);
  2790. }
  2791. else
  2792. {
  2793. sysf_messageBox("검사자 ID가 정확히 입력되지 ", "E007");
  2794. ds_bind.setColumn(0, "able", false);
  2795. ds_cond_refparam.setColumn(0, "userid", "");
  2796. group1.ipt_testpsn.setFocus();
  2797. return false;
  2798. }
  2799. }
  2800. group1.ipt_testpsn.setSelect(0);
  2801. }
  2802. }
  2803. function group1_cmb_testgrup_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  2804. {
  2805. ds_send.setColumn(0, "testgrupnm", group1.cmb_testgrup.text); //검사항목시퀀스값 넘김
  2806. var oParam = {};
  2807. oParam.id = "TRLLF90401";
  2808. oParam.service = "diagtestapplib.LisCommon";
  2809. oParam.method = "reqGetTestGrupDetl";
  2810. oParam.inds = "cond=ds_send";
  2811. oParam.outds = "ds_testgrupdetl=getTestGrupDetl";
  2812. oParam.async = false;
  2813. oParam.callback = "cbf_TRLLF90401";
  2814. tranf_submit(oParam);
  2815. if( ds_testgrupdetl.rowcount > 0 ){
  2816. var sendtclsnm = ds_testgrupdetl.getColumn(0, "tclsnm");
  2817. var sendtclsnm2 = ds_testgrupdetl.getColumn(0, "tclsnm");
  2818. var sendtclscd = ds_testgrupdetl.getColumn(0, "tclscd");
  2819. var sendtclscd2 = ds_testgrupdetl.getColumn(0, "tclscd");
  2820. if( utlf_isNull(sendtclsnm) ){ //검사그룹 상세 목록 없을때
  2821. ds_cond_tclscdlist.setColumn(0, "tclscdlist", "");
  2822. ds_cond_tclscdlist.setColumn(0, "tclsnmlist", "");
  2823. }else{ //검사그룹 상세 목록 있을때
  2824. for( var i=1 ; i<ds_testgrupdetl.rowcount ; i++ ){
  2825. sendtclsnm = sendtclsnm + ", " + ds_testgrupdetl.getColumn(i, "tclsnm");
  2826. sendtclsnm2 = sendtclsnm2 + "▦ " + ds_testgrupdetl.getColumn(i, "tclsnm");
  2827. sendtclscd = sendtclscd + "','" + ds_testgrupdetl.getColumn(i, "tclscd");
  2828. sendtclscd2 = sendtclscd2 + "▦" + ds_testgrupdetl.getColumn(i, "tclscd");
  2829. }
  2830. ds_cond_tclscdlist.setColumn(0, "tclsnmlist", sendtclsnm);
  2831. ds_cond_tclscdlist.setColumn(0, "tclscdlist", "'" + sendtclscd + "'");
  2832. ds_cond_tclscdlist.setColumn(0, "tclscdlist2", sendtclscd2);
  2833. ds_cond_tclscdlist.setColumn(0, "tclsnmlist2", sendtclsnm2);
  2834. }
  2835. //검사그룹 선택시 그리드 리 메이크
  2836. lf_grdReMake();
  2837. }
  2838. }
  2839. function group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  2840. {
  2841. ds_hidden_AcmlRsltRef.setColumn(0, "startdd", ds_cond_refparam.getColumn(0, "startdd"));
  2842. ds_hidden_AcmlRsltRef.setColumn(0, "enddd", ds_cond_refparam.getColumn(0, "enddd"));
  2843. ds_cond_hidden.setColumn(0, "prerow", "-1");
  2844. ds_cond_hidden.setColumn(0, "preautocmt", "");
  2845. if( utlf_isNull(ds_cond_tclscdlist.getColumn(0, "tclscdlist")) ){
  2846. sysf_messageBox("검사항목을", "C002");
  2847. return false;
  2848. }
  2849. ds_cond_refparam.setColumn(0, "sworkseq", ds_cond_refparam.getColumn(0, "sworkseq").getLeftPad(4, "0"));
  2850. ds_cond_refparam.setColumn(0, "eworkseq", ds_cond_refparam.getColumn(0, "eworkseq").getLeftPad(4, "0"));
  2851. ds_cond_refparam.setColumn(0, "tclscdlist", ds_cond_tclscdlist.getColumn(0, "tclscdlist"));
  2852. ds_cond_refparam.setColumn(0, "tclscdlist2", ds_cond_tclscdlist.getColumn(0, "tclscdlist2"));
  2853. var rsltstat0 = ds_cond_refparam.getColumn(0, "rsltstat0");
  2854. var rsltstat1 = ds_cond_refparam.getColumn(0, "rsltstat1");
  2855. var rsltstat2 = ds_cond_refparam.getColumn(0, "rsltstat2");
  2856. if( utlf_isNull(rsltstat0) && utlf_isNull(rsltstat1) && utlf_isNull(rsltstat2) ){
  2857. sysf_messageBox("결과구분을 하나이상", "C002");
  2858. return false;
  2859. }
  2860. //결과구분 정의
  2861. var isRstGbn0 = false; //결과미입력
  2862. var isRstGbn1 = false; //결과입력
  2863. var isRstGbn2 = false; //최종보고
  2864. if( rsltstat0 == "1" ) isRstGbn0 = true;
  2865. if( rsltstat1 == "1" ) isRstGbn1 = true;
  2866. if( rsltstat2 == "1" ) isRstGbn2 = true;
  2867. if( isRstGbn2 ){
  2868. ds_cond_refparam.setColumn(0, "rsltstat", "3");
  2869. }else{
  2870. if( isRstGbn0 && isRstGbn1 ){
  2871. ds_cond_refparam.setColumn(0, "rsltstat", "2");
  2872. }else if( isRstGbn1 ){
  2873. ds_cond_refparam.setColumn(0, "rsltstat", "1");
  2874. }else{
  2875. ds_cond_refparam.setColumn(0, "rsltstat", "0");
  2876. }
  2877. }
  2878. ds_send_data1.copyData(ds_cond_refparam);
  2879. ds_send_data1.setColumn(0, "userdeptflagcd", ds_lb0000.getColumn(0, "nm"));
  2880. trace("senddata = " + ds_send_data1.saveXML());
  2881. var oParam = {};
  2882. oParam.id = "TRLLR00401";
  2883. oParam.service = "rsltmngtapp.RsltMngt";
  2884. oParam.method = "reqGetTestItemInfo";
  2885. oParam.inds = "refparam=ds_send_data1";
  2886. oParam.outds = "ds_grid_grd_testlist=patlist ds_grid_grd_vlist=testlist ds_main_testcont=testcont ds_bak_testitem=bak_testitem ds_testcmts=testcmts ds_bftest=bfTest";
  2887. oParam.async = false;
  2888. oParam.callback = "cbf_TRLLR00401";
  2889. tranf_submit(oParam);
  2890. ds_send_data1.clearData();
  2891. var vCdCount = ds_cond_tclscdlist.getColumn(0, "tclscdlist2").split("▦").length;
  2892. if (utlf_isNull(ds_grid_grd_testlist.getColumnInfo("keycolor"+i)))
  2893. {
  2894. ds_grid_grd_testlist.addColumn("keycolor", "string");
  2895. }
  2896. for( var i=1 ; i<=30 ; i++ ){
  2897. if (utlf_isNull(ds_grid_grd_testlist.getColumnInfo("keycolor"+i)))
  2898. {
  2899. ds_grid_grd_testlist.addColumn("keycolor"+i, "string");
  2900. }
  2901. }
  2902. if( parseInt(vCdCount) > 30 && (parseInt(vCdCount)+gStartCol) > group3.grd_testlist.getFormatColCount() ){
  2903. for( var i=31 ; i<=parseInt(vCdCount) ; i++ ){
  2904. group3.grd_testlist.appendContentsCol("body");
  2905. group3.grd_testlist.setFormatColProperty(i+11, "size", 0);
  2906. group3.grd_testlist.setCellProperty("Head", i+11, "text", "inptrslt"+i);
  2907. group3.grd_testlist.setCellProperty("Head", i+11, "wordwrap", "word");
  2908. group3.grd_testlist.setCellProperty("Body", i+11, "text", "bind:inptrslt"+i);
  2909. ds_grid_grd_testlist.addColumn("keycolor"+i, "string");
  2910. group3.grd_testlist.setCellProperty("Body", i+11, "background", "EXPR(keycolor"+i+" == 1 ? '#f3e1bf' : chk == 1 && keycolor != 1 ? '#f3e1bf' : readonly"+i+" == 1 ? '#c0c0c0' : '')");
  2911. group3.grd_testlist.setCellProperty("Body", i+11, "background2", "EXPR(keycolor"+i+" == 1 ? '#f3e1bf' : chk == 1 && keycolor != 1 ? '#f3e1bf' : readonly"+i+" == 1 ? '#c0c0c0' : '')");
  2912. group3.grd_testlist.setCellProperty("Body", i+11, "selectbackground", "EXPR(keycolor"+i+" == 1 ? '#f3e1bf' : chk == 1 && keycolor != 1 ? '#f3e1bf' : readonly"+i+" == 1 ? '#c0c0c0' : '')");
  2913. }
  2914. }
  2915. // for( var i=0 ; i<group3.grd_testlist.getFormatColCount() ; i++ ){
  2916. // group3.grd_testlist.setCellProperty("Body", i, "background", "");
  2917. // group3.grd_testlist.setCellProperty("Body", i, "background2", "");
  2918. // group3.grd_testlist.setCellProperty("Body", i, "selectbackground", "");
  2919. // }
  2920. lf_grdReMake2(); //조회후 그리드 리메이크
  2921. }
  2922. function group1_chk_checkbox1_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  2923. {
  2924. lf_rstGbn_XForms_Value_Changed("0");
  2925. }
  2926. function group1_chk_checkbox2_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  2927. {
  2928. lf_rstGbn_XForms_Value_Changed("1");
  2929. }
  2930. function group1_chk_checkbox3_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  2931. {
  2932. lf_rstGbn_XForms_Value_Changed("2");
  2933. }
  2934. function group1_cmb_rslt_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  2935. {
  2936. lf_rsltCDEnterKey(e.posttext.getTrim());
  2937. }
  2938. function group1_btn_cle_onclick(obj:Button, e:ClickEventInfo)
  2939. {
  2940. ds_cond_hidden.setColumn(0, "prerow", "-1");
  2941. ds_cond_hidden.setColumn(0, "preautocmt", "");
  2942. ds_send_searchcmt.clearData();
  2943. ds_send_searchcmt.addRow();
  2944. lf_setInit(1);
  2945. }
  2946. function group1_btn_tclsnmlist_onclick(obj:Button, e:ClickEventInfo)
  2947. {
  2948. var objArg = new Object();
  2949. dsf_createDsRow("ds_hidden_ref_tclscdlist"
  2950. , [{col: "testgrpnm", val: group1.cmb_testgrup.value}
  2951. , {col: "testmdlcd", val: ""}
  2952. , {col: "menuparam", val: ""}]);
  2953. //objArg.ds_tclscdlist = ds_cond_tclscdlist;
  2954. objArg.testGrup = ds_hidden_ref_tclscdlist;
  2955. frmf_modal("SMLLF90400", "SMLLF90400", objArg, null, null, null, null, null, null, null, null, null, "M");
  2956. //return true;
  2957. if( ds_hidden_ref_tclscdlist.rowcount > 0 )
  2958. {
  2959. ds_hidden_ref_tclscdlist.setColumn(0, "tclsnmlist", utlf_isNull(ds_hidden_ref_tclscdlist.getColumn(0, "tclsnmlist")) ? group1.ipt_tclscdlist.value : ds_hidden_ref_tclscdlist.getColumn(0, "tclsnmlist").replace("▦",","));
  2960. group1.cmb_testgrup.value = utlf_isNull(ds_hidden_ref_tclscdlist.getColumn(0, "testgrup")) ? group1.cmb_testgrup.value : ds_hidden_ref_tclscdlist.getColumn(0, "testgrup");
  2961. ds_cond_tclscdlist.copyData(ds_hidden_ref_tclscdlist);
  2962. // return true;
  2963. lf_grdReMake();
  2964. }
  2965. }
  2966. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  2967. {
  2968. grdf_exportExcel(group3.grd_testlist, lf_lisGetTitle(this) + "_" + "검사항목별결과관리", "Sheet1");
  2969. }
  2970. function group3_grd_testlist_onkeydown(obj:Grid, e:KeyEventInfo) //윤주호
  2971. {
  2972. group3.grd_testlist.updateToDataset();
  2973. if( e.keycode == 13 ){
  2974. var curRow = group3.grd_testlist.currentrow;
  2975. var curCol = group3.grd_testlist.currentcol;
  2976. var refRow = lf_getRow(curRow, curCol);
  2977. if( refRow >= 0 ){
  2978. //입력 실제결과
  2979. var vInptRslt = group3.grd_testlist.getCellValue(curRow, curCol).getTrim();
  2980. /*------------------------------------------------------------------시작
  2981. DPD 검사일 경우 Urine Creatinine(LCU102) 검사의 결과와 계산하여 결과 보고 하여야 한다고 함
  2982. DPD / (Creatinine × 0.088)
  2983. Creatinine 조회 기준은 같은 처방일 임*/
  2984. if( ds_grid_grd_vlist.getColumn(refRow, "testcd") == "LSS180" ){
  2985. ds_send_dpd.setColumn(0, "prcpdd", ds_grid_grd_vlist.getColumn(refRow, "prcpdd"));
  2986. ds_send_dpd.setColumn(0, "testcd", "LCU102");
  2987. ds_send_dpd.setColumn(0, "pid", ds_grid_grd_vlist.getColumn(refRow, "pid"));
  2988. if( vInptRslt == parseFloat(vInptRslt) ){
  2989. var oParam = {};
  2990. oParam.id = "TRLLR80104";
  2991. oParam.service = "rsltmngtapp.RsltMngt";
  2992. oParam.method = "reqGetCreatineRslt";
  2993. oParam.inds = "cond=ds_send_dpd";
  2994. oParam.outds = "ds_dpdrslt=dpdrslt";
  2995. oParam.async = false;
  2996. oParam.callback = "cbf_TRLLR80104";
  2997. tranf_submit(oParam);
  2998. var vUrineRslt = ds_dpdrslt.getColumn(0, "rslt");
  2999. if( utlf_isNull(vUrineRslt) ){
  3000. sysf_messageBox("해당 처방일에 Urine Creatinine 검사결과가 없습니다.", "I");
  3001. }else{
  3002. if( vUrineRslt == parseFloat(vUrineRslt) ){
  3003. var rtn = sysf_messageBox("Urine Creatinine 결과 : " + vUrineRslt + "\n보고일 : " + ds_dpdrslt.getColumn(0, "dt") + "\n계산식 : DPD / (Creatinine × 0.088)\n변환", "S001");
  3004. var valBindCol = group3.grd_testlist.getCellProperty("Body", curCol, "text").replace("bind:", "");
  3005. if( rtn == 6 ){ //예
  3006. //계산적용
  3007. vInptRslt = parseFloat(vInptRslt) / (parseFloat(vUrineRslt) * 0.088);
  3008. //소숫점 2째에서 반올림
  3009. vInptRslt = Math.round(vInptRslt * Math.pow(10, -2 * (-1)-1)) / Math.pow(10, -2 *(-1)-1);
  3010. vInptRslt = vInptRslt.toString(); //요거 String으로 안바꿔주면 에러남
  3011. //보이는 그리드에 변환 된 값 설정
  3012. ds_grid_grd_testlist.setColumn(curRow, valBindCol, vInptRslt);
  3013. }else if( rtn == 2 ){ //취소
  3014. ds_grid_grd_testlist.setColumn(curRow, valBindCol, "");
  3015. return false;
  3016. }
  3017. }else{
  3018. sysf_messageBox("Urine Creatinine검사 결과 수치가 부적합 합니다.\n검사결과 : " + vUrineRslt, "I");
  3019. }
  3020. }
  3021. }else{
  3022. sysf_messageBox("DPD검사 결과변환은 숫자만 가능합니다!!", "E");
  3023. }
  3024. }
  3025. lf_cvtViewResult(vInptRslt, refRow, false, curRow);
  3026. if( curCol >= 12 &&
  3027. (ds_grid_grd_testlist.getColumn(curRow, "chk") != 1 || ds_grid_grd_testlist.getColumn(curRow, "keycolor") == "1" ) ){
  3028. ds_grid_grd_testlist.setColumn(curRow, "keycolor", "1");
  3029. ds_grid_grd_testlist.setColumn(curRow, "keycolor"+(curCol-11), "1");
  3030. }
  3031. if( utlf_isNull(vInptRslt) || utlf_isNull(ds_grid_grd_testlist.getColumn(curRow, "inptrslt"+(curCol-gStartCol+1))) ){
  3032. if( !utlf_isNull(ds_grid_grd_vlist.getColumn(refRow, "iud")) ){
  3033. ds_grid_grd_vlist.setColumn(refRow, "iud", "");
  3034. }
  3035. ds_grid_grd_testlist.setColumn(curRow, "chk", "0");
  3036. }else{
  3037. ds_grid_grd_testlist.setColumn(curRow, "chk", "1");
  3038. }
  3039. // group3.grd_testlist.setCellProperty("Body", curCol, "background", "EXPR(currow == "+curRow+" ? '#f3e1bf' : '')");
  3040. // group3.grd_testlist.setCellProperty("Body", curCol, "background2", "EXPR(currow == "+curRow+" ? '#f3e1bf' : '')");
  3041. // group3.grd_testlist.setCellProperty("Body", curCol, "selectbackground", "EXPR(currow == "+curRow+" ? '#f3e1bf' : '')");
  3042. // var valExpr = "";
  3043. //
  3044. // for( var i=0 ; i<ds_grid_grd_testlist.rowcount ; i++ ){
  3045. // var isChk = ds_grid_grd_testlist.getColumn(i, "chk");
  3046. // var vWorkno = ds_grid_grd_testlist.getColumn(i, "workno");
  3047. // var vCdList = ds_cond_refparam.getColumn(0, "tclscdlist2").split("▦");
  3048. //
  3049. // if( isChk == "1" ){
  3050. // valExpr += "currow == "+i+" ? '#f3e1bf' : ";
  3051. // }else{
  3052. // valExpr += "currow == "+i+" ? '#FFFFFF' : ";
  3053. // }
  3054. // }
  3055. //
  3056. // if( !utlf_isNull(valExpr) ){
  3057. // valExpr = "EXPR(" + valExpr + "'')";
  3058. //
  3059. // for( var i=0 ; i<gStartCol ; i++ ){
  3060. // group3.grd_testlist.setCellProperty("Body", i, "background", valExpr);
  3061. // group3.grd_testlist.setCellProperty("Body", i, "background2", valExpr);
  3062. // group3.grd_testlist.setCellProperty("Body", i, "selectbackground", valExpr);
  3063. // }
  3064. // }
  3065. lf_grdReMake2();
  3066. if( ds_cond_hidden.getColumn(0, "cursor") == "1" ){
  3067. //다음 Row로 이동
  3068. var max = group3.grd_testlist.currentrow;
  3069. var vRstNo = parseInt(eval(curCol - gStartCol + 1)).toString();
  3070. var posRow = -1
  3071. for( var r=curRow+1 ; r<ds_grid_grd_testlist.rowcount ; r++ ){
  3072. if( ds_grid_grd_testlist.getColumn(r, "readonly"+vRstNo) != "1" ){
  3073. posRow = r;
  3074. break;
  3075. }
  3076. }
  3077. if( posRow > 0 ){
  3078. ds_grid_grd_testlist.rowposition = posRow;
  3079. group3.grd_testlist.setCellPos(curCol);
  3080. group3.grd_testlist.setFocus();
  3081. lf_patGridClick(posRow, curCol);
  3082. }else{
  3083. lf_patGridClick(curRow, curCol);
  3084. }
  3085. }else{
  3086. //다음 Col로 이동
  3087. var posCol = -1
  3088. for( var r=curCol+1 ; r<group3.grd_testlist.getFormatColCount() ; r++ ){
  3089. var vRstNo = parseInt(eval(r - gStartCol + 1)).toString();
  3090. if( group3.grd_testlist.getFormatColProperty(r, "size") > 0 && ds_grid_grd_testlist.getColumn(curRow, "readonly"+vRstNo) != "1" ){
  3091. posCol = r;
  3092. break;
  3093. }
  3094. }
  3095. if( posCol > 0 ){
  3096. ds_grid_grd_testlist.rowposition = curRow;
  3097. group3.grd_testlist.setCellPos(posCol);
  3098. group3.grd_testlist.setFocus();
  3099. lf_patGridClick(curRow, posCol);
  3100. }else{
  3101. lf_patGridClick(curRow, curCol);
  3102. }
  3103. }
  3104. /* 2012-02-22 LHT add 자동소견 */
  3105. if( ds_chkstr.rowcount > 0 ) lf_setAutoCmt(curRow);
  3106. }
  3107. }else if( e.keycode == 37 || e.keycode == 38 || e.keycode == 39 || e.keycode == 40 ){
  3108. var curRow = group3.grd_testlist.currentrow; //현재로우
  3109. var curCol = group3.grd_testlist.currentcol; //현재컬럼
  3110. if( e.keycode == 37 ){ //←
  3111. --curCol;
  3112. }else if( e.keycode == 38 ){ //↑
  3113. --curRow;
  3114. }else if( e.keycode == 39 ){ //→
  3115. ++curCol;
  3116. }else if( e.keycode == 40 ){ //↓
  3117. ++curRow;
  3118. }
  3119. var refRow = lf_getRow(curRow, curCol); //실제 데이터있는 그리드의 로우 검색
  3120. lf_patGridClick(curRow, curCol); //검체정보 조회
  3121. if( refRow >= 0 ){
  3122. var vInptRslt = ds_grid_grd_vlist.getColumn(refRow, "inptrslt");
  3123. var valBindCol = group3.grd_testlist.getCellProperty("Body", curCol, "text").replace("bind:", "");
  3124. ds_grid_grd_testlist.setColumn(curRow, valBindCol, vInptRslt);
  3125. }
  3126. }
  3127. }
  3128. function pm_SubMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo){
  3129. lf_onmenu(e.id);
  3130. }
  3131. function group3_grd_testlist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  3132. {
  3133. //포커스이동
  3134. ds_grid_grd_testlist.rowposition = e.row;
  3135. group3.grd_testlist.setCellPos(e.col);
  3136. group3.grd_testlist.setFocus();
  3137. //마우스오른쪽 클릭시 결과코드 보이기
  3138. lf_getMouseDown(e.screenX, e.screenY);
  3139. }
  3140. function group3_grd_testlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  3141. {
  3142. if( e.col >= 2 ){ //검사항목
  3143. lf_patGridClick(e.row, e.col);
  3144. if( e.col == 3 ){
  3145. var strBcno = ds_grid_grd_testlist.getColumn(e.row, "bcno");
  3146. system.setClipboard("CF_TEXT", strBcno);
  3147. }
  3148. }else if( e.col == 1 ){ //체크박스
  3149. ds_grid_grd_testlist.setColumn(e.row, "keycolor", "");
  3150. for( var i=1 ; i<=group3.grd_testlist.getFormatColCount()-12 ; i++ ){
  3151. ds_grid_grd_testlist.setColumn(e.row, "keycolor"+i, "");
  3152. }
  3153. lf_selectCancle(); //환자 선택, 취소 클릭
  3154. }
  3155. var sPreRow, sRow, sBcno;
  3156. sPreRow = ds_cond_hidden.getColumn(0, "prerow");
  3157. sRow = (group3.grd_testlist.currentrow).toString();
  3158. if( sPreRow != sRow && sPreRow != -1 && sRow != -1 ){
  3159. ds_cond_hidden.setColumn(0, "preautocmt", "");
  3160. sBcno = ds_grid_grd_testlist.getColumn(sRow, "bcno");
  3161. ds_send.setColumn(0, "bcno", sBcno);
  3162. tranf_submit({
  3163. id: "TRLLR00402"
  3164. ,service: "rsltmngtapp.RsltMngt"
  3165. ,method: "reqGetChkStr"
  3166. ,inds : "args=ds_send"
  3167. ,outds: "ds_chkstr=chkstr"
  3168. ,callback: "cbf_TRLLR00402"
  3169. ,async: false
  3170. });
  3171. ds_cond_hidden.setColumn(0, "prerow", sRow);
  3172. }
  3173. }
  3174. function group3_text_comment_onkillfocus(obj:TextArea, e:KillFocusEventInfo)
  3175. {
  3176. var vCurrentRow = utlf_transNullToEmpty(ds_cond_hidden.getColumn(0, "currenRow"));
  3177. if( vCurrentRow != "" ){
  3178. var vComment = ds_detail_spcinfo.getColumn(0, "testcmt");
  3179. ds_grid_grd_vlist.setColumn(vCurrentRow, "testcmt", vComment);
  3180. }
  3181. }
  3182. function group3_cmb_sect_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  3183. {
  3184. lf_selectTestContTsect("return"); //선택 시행부서 소견
  3185. lf_cMTPCD_ChangeNodeset2(); //시행부서선택시 소견노드 셋팅
  3186. }
  3187. function group3_cmb_cmt_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  3188. {
  3189. //소견 선택시
  3190. lf_setCmt(group3.grd_testlist.currentrow, group3.grd_testlist.currentcol);
  3191. }
  3192. function group3_btn_cmt_onclick(obj:Button, e:ClickEventInfo)
  3193. {
  3194. frmf_modal("SMLLF00800", "SMLLF00800", null, null, null, null, null, null, null, null, null, null, "M");
  3195. ds_lb0210.clearData();
  3196. ds_send.setColumn(0, "codeflag", "0210|");
  3197. var oParam = {};
  3198. oParam.id = "TRLZZ00103";
  3199. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  3200. oParam.method = "reqGetInitCodeInfo";
  3201. oParam.inds = "cond=ds_send";
  3202. oParam.outds = "ds_lb0210=0210";
  3203. oParam.async = false;
  3204. oParam.callback = "cbf_TRLZZ00103";
  3205. tranf_submit(oParam);
  3206. var sDetilRow = lf_getRow(group3.grd_testlist.currentrow, group3.grd_testlist.currentcol);
  3207. var vSectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "sectcd");
  3208. var vTsectcd = ds_grid_grd_vlist.getColumn(sDetilRow, "tsectcd");
  3209. lf_cMTPCD_ChangeNodeset(vSectcd, vTsectcd);
  3210. }
  3211. function group3_text_testdept_ontextchanged(obj:TextArea, e:TextChangedEventInfo)
  3212. {
  3213. lf_soGyeonJeoJang(1); //소견내용이 바뀔경우
  3214. }
  3215. function group3_text_testcmts_ontextchanged(obj:TextArea, e:TextChangedEventInfo)
  3216. {
  3217. lf_soGyeonJeoJang(2); //소견내용이 바뀔경우
  3218. }
  3219. function group3_btn_saveCmt_onclick(obj:Button, e:ClickEventInfo)
  3220. {
  3221. if(utlf_isNull(ds_detail_spcinfo.getColumn(0,"spcscrnnm"))){
  3222. return;
  3223. }
  3224. lf_setContCmt(group3.grd_testlist.currentrow, group3.grd_testlist.currentcol); //소견저장
  3225. }
  3226. function grp_btn_btn_barcode_onclick(obj:Button, e:ClickEventInfo)
  3227. {
  3228. frmf_modal("SMLLJ00400", "SMLLJ00400", "", "", "", "", "", "", "", "", "", "", "M");
  3229. }
  3230. function grp_btn_btn_save_onclick(obj:Button, e:ClickEventInfo)
  3231. {
  3232. lf_insRsltSave();
  3233. }
  3234. function grp_btn_btn_mdlrept_onclick(obj:Button, e:ClickEventInfo)
  3235. {
  3236. lf_setMdlRept();
  3237. }
  3238. function grp_btn_btn_lstrept_onclick(obj:Button, e:ClickEventInfo)
  3239. {
  3240. for( var i=0 ; i<ds_grid_grd_vlist.rowcount ; i++ ){
  3241. if( utlf_isNull(ds_grid_grd_vlist.getColumn(0, "reptrslt")) ){
  3242. ds_grid_grd_vlist.setColumn(0, "iud", "");
  3243. }
  3244. }
  3245. lf_setLstRept();
  3246. }
  3247. function group1_cmb_rslt_ontextchanged(obj:Combo, e:TextChangedEventInfo)
  3248. {
  3249. gRsltCode = e.posttext;
  3250. }
  3251. function group1_cmb_rslt_onkeydown(obj:Combo, e:KeyEventInfo)
  3252. {
  3253. if( e.keycode == 13 && !utlf_isNull(gRsltCode.getTrim()) ){
  3254. lf_rsltCDEnterKey(gRsltCode.getTrim());
  3255. gRsltCode = "";
  3256. group3.grd_testlist.setFocus();
  3257. }
  3258. }
  3259. function group1_caption1_onclick(obj:Static, e:ClickEventInfo)
  3260. {
  3261. }
  3262. ]]></Script>
  3263. </Form>
  3264. </FDL>