SMLLR00500_HLA검사결과관리.xrw 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : HLA검사결과관리.xrw
  4. * 설 명 : HLA검사결과관리
  5. * 설 계 자 :
  6. * 작 성 자 : 김성희
  7. * 작 성 일 : 2008.12.16
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title/>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <getUsernm>
  20. <usernm/>
  21. <specdrid/>
  22. <userflag/>
  23. </getUsernm>
  24. <patinfo>
  25. <patlist>
  26. <rgstdt/>
  27. <spcacptdt/>
  28. <pid/>
  29. <patnm/>
  30. <sexage/>
  31. <wardroom/>
  32. <orddeptnm/>
  33. <prcpgenrflag/>
  34. <testlist/>
  35. <tclsnm/>
  36. <execprcpuniqno/>
  37. </patlist>
  38. </patinfo>
  39. <testinfo>
  40. <patlist>
  41. <chk/>
  42. <dnornm/>
  43. <sexage/>
  44. <dnorrela/>
  45. <bcno/>
  46. <rsltdt/>
  47. <inptrslt1 readonly=""/>
  48. <inptrslt2 readonly=""/>
  49. <inptrslt3 readonly=""/>
  50. <inptrslt4 readonly=""/>
  51. <inptrslt5 readonly=""/>
  52. <inptrslt6 readonly=""/>
  53. <inptrslt7 readonly=""/>
  54. <inptrslt8 readonly=""/>
  55. <inptrslt9 readonly=""/>
  56. <inptrslt10 readonly=""/>
  57. <pid/>
  58. <patnm/>
  59. </patlist>
  60. <spcinfo>
  61. <spcscrnnm/>
  62. <refval/>
  63. <judgmark/>
  64. <panicmark/>
  65. <deltamark/>
  66. <criticalmark/>
  67. <alertmark/>
  68. <rsltmark/>
  69. <reptrslt/>
  70. <bfreptrslt/>
  71. <bflastreptdt/>
  72. <testeqmtcd/>
  73. <rsltregid/>
  74. <mdlreptid/>
  75. <lastreptdt/>
  76. <cmt/>
  77. <testcmt/>
  78. <testcont/>
  79. </spcinfo>
  80. <testlist>
  81. <rkey/>
  82. <workno/>
  83. <bcno/>
  84. <execprcpuniqno/>
  85. <testcd/>
  86. <spccd/>
  87. <bufinptrslt/>
  88. <reptrslt/>
  89. <rsltunit/>
  90. <judgmark/>
  91. <panicmark/>
  92. <deltamark/>
  93. <criticalmark/>
  94. <alertmark/>
  95. <rsltmark/>
  96. <rsltstat/>
  97. <bfbcno/>
  98. <bflastreptdt/>
  99. <testeqmtcd/>
  100. <comment/>
  101. <tclskind/>
  102. <spcacptid/>
  103. <spcacptdt/>
  104. <spcacptnm/>
  105. <rsltrgsgid/>
  106. <rsltrgstdt/>
  107. <rsltrgstnm/>
  108. <mdlreptid/>
  109. <mdlreptdt/>
  110. <mdlreptnm/>
  111. <lastreptid/>
  112. <lastreptdt/>
  113. <lastreptnm/>
  114. <tclscd/>
  115. <bfinptrslt/>
  116. <bfreptrslt/>
  117. <rsltseq/>
  118. <prcpgenrflag/>
  119. <rsltkind/>
  120. <rsltintsize/>
  121. <rsltdcmlsize/>
  122. <rundkind/>
  123. <rvalflag/>
  124. <descrval/>
  125. <judgkind/>
  126. <userjudgchar1/>
  127. <userjudgchar2/>
  128. <userjudgchar3/>
  129. <panicflag/>
  130. <panicminval/>
  131. <panicmaxval/>
  132. <deltaflag/>
  133. <deltaminval/>
  134. <deltamaxval/>
  135. <deltaterm/>
  136. <criticflag/>
  137. <criticminval/>
  138. <criticmaxval/>
  139. <alertflag/>
  140. <alertminval/>
  141. <allertmaxval/>
  142. <alimitls/>
  143. <alimitflag/>
  144. <alimitminval/>
  145. <alimith/>
  146. <alimiths/>
  147. <alimitls/>
  148. <refl/>
  149. <refls/>
  150. <refh/>
  151. <refhs/>
  152. <reflt/>
  153. <rstinterval/>
  154. <iud/>
  155. <spcscrnnm/>
  156. <inptrslt/>
  157. </testlist>
  158. <BAK_TESTITEM>
  159. <rkey/>
  160. <workno/>
  161. <testcd/>
  162. <spccd/>
  163. <inptrslt/>
  164. </BAK_TESTITEM>
  165. <donornm>
  166. <finaldonor/>
  167. <formcd/>
  168. </donornm>
  169. </testinfo>
  170. <HLAresult>
  171. <testinfo/>
  172. </HLAresult>
  173. </main>
  174. <send>
  175. <data1/>
  176. <data2/>
  177. <data3/>
  178. <TestData/>
  179. <userid/>
  180. </send>
  181. <init>
  182. </init>
  183. <hidden>
  184. <refparam>
  185. <startdd/>
  186. <enddd/>
  187. <rsltstat1/>
  188. <rsltstat2/>
  189. <rsltstat3/>
  190. <rsltstat4/>
  191. <userid/>
  192. <rsltstat/>
  193. <pid/>
  194. <testcdlist/>
  195. <prcpgenrflag/>
  196. <tsectcd>P1</tsectcd>
  197. </refparam>
  198. <default/>
  199. <testcont>
  200. <tsectcd/>
  201. <testcontcd/>
  202. </testcont>
  203. <testconttsectcd>
  204. <cd/>
  205. <nm/>
  206. </testconttsectcd>
  207. <currenRow/>
  208. <updateparam>
  209. <rsltstat/>
  210. <tclslrgkind>-</tclslrgkind>
  211. <XFMGbn>result</XFMGbn>
  212. </updateparam>
  213. <rsltcode>
  214. <cd/>
  215. <nm/>
  216. </rsltcode>
  217. <rsltcont>
  218. </rsltcont>
  219. <refflag>
  220. <userid/>
  221. <p_isedit/>
  222. </refflag>
  223. <cursor/>
  224. <TestData>
  225. <bcno/>
  226. <testcd/>
  227. <tclscd/>
  228. <spccd/>
  229. <inptrslt/>
  230. <rsltstat/>
  231. <testlrgkind/>
  232. <descrslt/>
  233. <userid/>
  234. <inter/>
  235. <XFMGbn/>
  236. <formkind/>
  237. </TestData>
  238. <ref>
  239. <pid/>
  240. </ref>
  241. <popupmenu>
  242. <grid>
  243. <item>
  244. <name>▶ 통합결과조회</name>
  245. <func>fTGyeolGwa</func>
  246. </item>
  247. <item>
  248. <name>▶ HLA결과조회</name>
  249. <func>fGetHLARslt</func>
  250. </item>
  251. </grid>
  252. </popupmenu>
  253. <readid/>
  254. <specdrid/>
  255. <readnm/>
  256. </hidden>
  257. </root>
  258. </instance>
  259. <bind id="bind1" ref="/root/main/testinfo/patlist/inptrslt1" readonly="../inptrslt1/@readonly = 'true'"/>
  260. <bind id="bind2" ref="/root/main/testinfo/patlist/inptrslt2" readonly="../inptrslt2/@readonly = 'true'"/>
  261. <bind id="bind3" ref="/root/main/testinfo/patlist/inptrslt3" readonly="../inptrslt3/@readonly = 'true'"/>
  262. <bind id="bind4" ref="/root/main/testinfo/patlist/inptrslt4" readonly="../inptrslt4/@readonly = 'true'"/>
  263. <bind id="bind5" ref="/root/main/testinfo/patlist/inptrslt5" readonly="../inptrslt5/@readonly = 'true'"/>
  264. <bind id="bind6" ref="/root/main/testinfo/patlist/inptrslt6" readonly="../inptrslt6/@readonly = 'true'"/>
  265. <bind id="bind7" ref="/root/main/testinfo/patlist/inptrslt7" readonly="../inptrslt7/@readonly = 'true'"/>
  266. <bind id="bind8" ref="/root/main/testinfo/patlist/inptrslt8" readonly="../inptrslt8/@readonly = 'true'"/>
  267. <bind id="bind9" ref="/root/main/testinfo/patlist/inptrslt9" readonly="../inptrslt9/@readonly = 'true'"/>
  268. <bind id="bind10" ref="/root/main/testinfo/patlist/inptrslt10" readonly="../inptrslt10/@readonly = 'true'"/>
  269. <bind id="bind11" ref="/root/main/testinfo/patlist/inptrslt11" readonly="../inptrslt11/@readonly = 'true'"/>
  270. <bind id="bind12" ref="/root/main/testinfo/patlist/inptrslt12" readonly="../inptrslt12/@readonly = 'true'"/>
  271. <bind id="bind13" ref="/root/main/testinfo/patlist/inptrslt13" readonly="../inptrslt13/@readonly = 'true'"/>
  272. <bind id="bind14" ref="/root/main/testinfo/patlist/inptrslt14" readonly="../inptrslt14/@readonly = 'true'"/>
  273. <bind id="bind15" ref="/root/main/testinfo/patlist/inptrslt15" readonly="../inptrslt15/@readonly = 'true'"/>
  274. <bind id="bind16" ref="/root/main/testinfo/patlist/inptrslt16" readonly="../inptrslt16/@readonly = 'true'"/>
  275. <bind id="bind17" ref="/root/main/testinfo/patlist/inptrslt17" readonly="../inptrslt17/@readonly = 'true'"/>
  276. <bind id="bind18" ref="/root/main/testinfo/patlist/inptrslt18" readonly="../inptrslt18/@readonly = 'true'"/>
  277. <bind id="bind19" ref="/root/main/testinfo/patlist/inptrslt19" readonly="../inptrslt19/@readonly = 'true'"/>
  278. <bind id="bind20" ref="/root/main/testinfo/patlist/inptrslt20" readonly="../inptrslt20/@readonly = 'true'"/>
  279. <script type="javascript" ev:event="xforms-model-construct-done">
  280. <![CDATA[
  281. fSetInit();
  282. ]]>
  283. </script>
  284. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  285. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  286. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  287. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  288. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  289. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  290. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  291. <script type="javascript" src="../../../emr/carecomweb/js/ENREngine.js"/>
  292. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  293. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  294. <submission id="TRLLR00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" replace="instance" resultref="/root/main/patinfo"/>
  295. <submission id="TRLLR00502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data2" replace="instance" resultref="/root/main/testinfo"/>
  296. <submission id="TRLLF90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testgrupdetl"/>
  297. <submission id="TXLLR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  298. <submission id="TXLLR80101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/properties"/>
  299. <submission id="TRLLP90201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data2" replace="instance" resultref="/root/main/testinfo/HLAresult"/>
  300. <submission id="TXLRR00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/TestData" replace="instance"/>
  301. <submission id="TRLLR00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data2" replace="instance" resultref="/root/main/testinfo/HLAresult"/>
  302. <submission id="TRLRR00406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  303. </model>
  304. <script type="javascript">
  305. <![CDATA[
  306. var gStartCol = 7;
  307. /* @group : 초기화
  308. * @ver : 2008.12.22
  309. * @by : 김성희
  310. * @-----------------------------------
  311. * @type : function
  312. * @access : public
  313. * @desc : 초기화 Function
  314. */
  315. function fSetInit(){
  316. var today = getCurrentDate();
  317. var mDate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-3);
  318. model.setValue("/root/hidden/refparam/startdd",mDate.getDateFormat("YYYYMMDD"));
  319. model.setValue("/root/hidden/refparam/enddd",today);
  320. fBaseInfoRef("0000|1002|1003|0106|0103|0109|0210|0105|");
  321. grd_patlist.deleteRow(1);
  322. grd_testlist.fixedcellcheckbox(0, 1) = true;
  323. grd_testlist.fixedcellischeck(0, 1) = false;
  324. grd_testlist.removeRow();
  325. model.setValue("/root/hidden/refparam/rsltstat1", "1");
  326. //fGrdReMake();
  327. for(i=grd_testlist.cols ; i >= gStartCol ; i--){
  328. grd_testlist.colHidden(i) = true;
  329. }
  330. //공여자목록 그리드 셋팅
  331. //fGrdReMake();
  332. //소견노드셋팅
  333. //fCMTPCD_ChangeNodeset();
  334. model.refresh();
  335. }
  336. function fSetClear2(){
  337. model.removeNodeset("/root/main/testinfo/patlist");
  338. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  339. model.removeNodeset("/root/main/testinfo/testlist");
  340. datagrid2.rowStyle(1, "data", "background-color") = "#FFFFFF";
  341. //model.setvalue("/root/hidden/refparam/userid" , "");
  342. //model.setvalue("/root/main/getUsernm/usernm" , "");
  343. model.refresh();
  344. }
  345. //마우스 우클릭 메뉴
  346. function fGetMouseDown(){
  347. window.setPopupMenu(true , "/root/hidden/popupmenu/grid/item" , "name", "func" , false);
  348. }
  349. //통합결과조회
  350. function fTGyeolGwa(){
  351. model.setValue("/root/hidden/ref/pid", model.getValue("/root/main/testinfo/patlist["+ (grd_testlist.mouseRow -1) +"]/pid"));
  352. ///alert(model.getValue("/root/main/testinfo/patlist["+ (grd_testlist.mouseRow -1) +"]/pid"));
  353. modal("SMAER00800","","","","","/root/hidden/ref/pid","/root/send/data/singdata/srchpid");
  354. }
  355. //HLA결과조회
  356. function fGetHLARslt(){
  357. modal("SPLLP90200" , "","","","","/root/hidden/refparam" , "/root/hidden/refparam");
  358. }
  359. //상단정보
  360. function fUpPatinfo(){
  361. var prcpdd = "";
  362. if(grd_testlist.rows> 1){
  363. setParameter("errflag", "Y");
  364. prcpdd = model.getvalue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/rgstdt");
  365. setParameter("condparam", "S" + "▦" + prcpdd.substring(0,8) + "▦"
  366. + model.getvalue("/root/main/testinfo/patlist/execprcpuniqno") + "▦"
  367. + model.getvalue("/root/main/testinfo/patlist/instcd") );
  368. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  369. }
  370. var paminfo = getGlobalVariable("paminfo");
  371. var pid = model.getValue("/root/main/testinfo/patlist/pid");
  372. var hngnm = model.getValue("/root/main/testinfo/patlist/patnm");
  373. if((paminfo.length < 0) || (getPatientInfo("pid") != pid) ){ //상단정보가 없는 경우
  374. delPatientInfos(); //환자정보 전체 삭제
  375. setPatientInfo("pid" , pid); //등록번호
  376. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  377. }
  378. }
  379. /* @group : 환자목록 조회
  380. * @ver : 2008.12.22
  381. * @by : 김성희
  382. * @-----------------------------------
  383. * @type : function
  384. * @access : public
  385. * @desc : 환자목록 조회 Function
  386. */
  387. function fGetTestList(){
  388. model.removeNodeset("/root/main/testinfo/patlist");
  389. var fromdd = model.getValue("/root/hidden/refparam/startdd");
  390. var todd = model.getValue("/root/hidden/refparam/enddd");
  391. var mDate = todd.toDate("YYYYMMDD").getAddDate(-3);
  392. if(mDate.getDateFormat("YYYYMMDD") > fromdd) {
  393. messageBox("검색구간은 최대 3일까지입니다.", "I");
  394. return;
  395. }
  396. var rsltstat1 = model.getValue("/root/hidden/refparam/rsltstat1"); //결과미입력
  397. var rsltstat2 = model.getValue("/root/hidden/refparam/rsltstat2"); //결과입력
  398. var rsltstat3 = model.getValue("/root/hidden/refparam/rsltstat3"); //최종보고
  399. var rsltstat4 = model.getValue("/root/hidden/refparam/rsltstat4"); //전문의확인
  400. // 결과구분 정의
  401. var rstGbn1 = false; //결과미입력
  402. var rstGbn2 = false; //결과입력
  403. var rstGbn3 = false; //최종보고
  404. var rstGbn4 = false; //전문의확인
  405. if(rsltstat1 == "" && rsltstat2 == "" && rsltstat3 == "" && rsltstat4 == ""){
  406. messageBox("결과구분을 하나이상","C002","") ;
  407. return;
  408. }
  409. if(rsltstat1 == "1") rstGbn1 = true;
  410. if(rsltstat2 == "1") rstGbn2 = true;
  411. if(rsltstat3 == "1") rstGbn3 = true;
  412. if(rsltstat4 == "1") rstGbn4 = true;
  413. if((rstGbn1 && rstGbn2) || (rstGbn1 && !rstGbn2) || (!rstGbn1 && rstGbn2)) {
  414. //결과미입력,결과입력
  415. if (rstGbn1 && rstGbn2) {
  416. model.setValue("/root/hidden/refparam/rsltstat" , "3");
  417. //결과입력
  418. }else if (rstGbn2) {
  419. model.setValue("/root/hidden/refparam/rsltstat" , "2");
  420. //결과미입력
  421. }else {
  422. model.setValue("/root/hidden/refparam/rsltstat" , "1");
  423. }
  424. }else {
  425. //최종보고
  426. if (rstGbn3 && !rstGbn4) {
  427. model.setValue("/root/hidden/refparam/rsltstat" , "4");
  428. //전문의확인
  429. }else if (!rstGbn3 && rstGbn4) {
  430. model.setValue("/root/hidden/refparam/rsltstat" , "5");
  431. }
  432. }
  433. model.copyNode("/root/send/data1" , "/root/hidden/refparam");
  434. model.makeValue("/root/send/data1/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  435. model.makeValue("/root/send/data1/tclscdlist", model.getValue("/root/init/LB1002/etc01"));
  436. submit("TRLLR00501", false);
  437. model.copyNode("/root/send/data1" , "/root/hidden/default");
  438. model.refresh();
  439. }
  440. /* @group : 검사항목 조회
  441. * @ver : 2008.12.22
  442. * @by : 김성희
  443. * @-----------------------------------
  444. * @type : function
  445. * @access : public
  446. * @desc : 검사항목 조회 Function
  447. */
  448. function fGetTestSubList(){
  449. //grd_testlist.rebuildStyle();
  450. if(model.getValue("/root/hidden/refparam/rsltstat") == "4" || model.getValue("/root/hidden/refparam/rsltstat") == "5"){
  451. model.removeNodeset("/root/hidden/refparam/userid");
  452. model.removeNodeset("/root/hidden/usernm");
  453. model.removeNodeset("/root/hidden/readid");
  454. model.removeNodeset("/root/hidden/readnm");
  455. model.removeNodeset("/root/hidden/specdrid");
  456. }
  457. fGrdReMake();
  458. model.setValue("/root/hidden/refparam/pid" ,model.getValue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/pid"));
  459. //model.setValue("/root/hidden/refparam/testcdlist" ,model.getValue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/testlist"));
  460. model.setValue("/root/hidden/refparam/prcpgenrflag",model.getValue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/prcpgenrflag"));
  461. model.copyNode("/root/send/data2" , "/root/hidden/refparam");
  462. model.makeValue("/root/send/data2/userdeptflagcd" , model.getValue("/root/init/LB0000/nm"));
  463. model.makeValue("/root/send/data2/tclscdlist", model.getValue("/root/init/LB1002/etc01"));
  464. model.makeValue("/root/send/data2/testcdlist", model.getValue("/root/init/LB1003/etc01"));
  465. model.makeNode("/root/main/testinfo/donornm/formcd");
  466. submit("TRLLR00502", false);
  467. //input_lastdonor.currentText = model.getValue("/root/main/testinfo/donornm/finaldonor");
  468. //submit("TRLLP90201", false);
  469. if(model.getValue("/root/main/testinfo/testlist[1]/medispclid" ) !== ""){
  470. //model.removeNodeset("/root/hidden/refparam/userid");
  471. model.makeValue("/root/hidden/readid",model.getValue("/root/main/testinfo/testlist[1]/medispclid"));
  472. model.refresh();
  473. //model.makeValue("/root/hidden/refparam/userid",ipt_testpsn.currentText.toUpperCase());
  474. // model.refresh();
  475. // model.setValue("/root/hidden/refparam/userid",ipt_testpsn.currentText.toUpperCase());
  476. //alert("히든"+model.getValue("/root/hidden/readid"));
  477. fUserNMRef();
  478. }
  479. if(model.getValue("/root/main/testinfo/testlist[1]/lastreptid" ) !== ""){
  480. //model.removeNodeset("/root/hidden/refparam/userid");
  481. model.makeValue("/root/hidden/refparam/userid",model.getValue("/root/main/testinfo/testlist[1]/lastreptid"));
  482. model.refresh();
  483. //model.makeValue("/root/hidden/refparam/userid",ipt_testpsn.currentText.toUpperCase());
  484. // model.refresh();
  485. // model.setValue("/root/hidden/refparam/userid",ipt_testpsn.currentText.toUpperCase());
  486. //alert("히든"+model.getValue("/root/hidden/readid"));
  487. fUserNMRef2();
  488. }
  489. model.makeNode("/root/send/data2/bcnolist");
  490. var cnt = getNodesetCount("/root/main/testinfo/patlist");
  491. var hla2 ="";
  492. for( hlai=1;hlai<=cnt;hlai++){
  493. var hla = model.getValue("/root/main/testinfo/patlist["+hlai+"]/bcno");
  494. hla2 += hla+"▦";
  495. }
  496. model.setValue("/root/send/data2/bcnolist",hla2);
  497. //alert(hla2);
  498. model.makeValue("/root/send/data2/hlaflag","HLA");
  499. //alert(model.getValue("/root/send/data2/hlaflag"));
  500. var cnt1 = getNodesetCount("/root/main/testinfo/patlist");
  501. model.makeValue("/root/send/data2/testcdlist",model.getValue("/root/main/patinfo/patlist["+grd_patlist.row+"]/testlist"));
  502. model.makeValue("/root/send/data2/bcno",model.getValue("/root/main/testinfo/patlist[1]/bcno"));
  503. //alert(model.getValue("/root/send/data2/bcno"));
  504. submit("TRLLR00503",false);
  505. model.makevalue("/root/main/HLAresult/testinfo/patlist/tclsnm",model.getValue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/tclsnm"));
  506. model.makevalue("/root/main/HLAresult/testinfo/patlist/spcacptdt",model.getValue("/root/main/patinfo/patlist["+ grd_patlist.row +"]/spcacptdt"));
  507. model.makeValue("/root/main/HLAresult/testinfo/patlist/finaldonor",model.getValue("/root/main/testinfo/donornm/finaldonor"));
  508. // //alert(model.getValue("/root/main/testinfo/testlist[1]/medispclid"));
  509. //상단정보올리기
  510. fUpPatinfo();
  511. model.copyNode("/root/send/data2" , "/root/hidden/default");
  512. model.refresh();
  513. fGrdReMake2();
  514. //modal("SPLLP90200" , "","","","","/root/hidden/refparam" , "/root/hidden/refparam");
  515. }
  516. /* @group : 검사항목 그리드 셋팅
  517. * @ver : 2008.12.22
  518. * @by : 김성희
  519. * @-----------------------------------
  520. * @type : function
  521. * @access : public
  522. * @desc : 검사항목 그리드 셋팅 Function
  523. */
  524. function fGrdReMake(){
  525. model.removeNodeset("/root/main/testinfo/patlist");
  526. model.refresh();
  527. if(grd_testlist.cols > gStartCol){
  528. var cols = grd_testlist.cols
  529. for(i=cols ; i > gStartCol ; i--)
  530. grd_testlist.colHidden(i) = true;
  531. }
  532. var strCaption = "^공여자명^성별/나이^관계^바코드번호^결과일시";
  533. var caption = "";
  534. var vTclsnmA = model.getValue("/root/init/LB1003/etc02").split("▦");
  535. var vTclsnmB = model.getValue("/root/init/LB1003/nm").split("▦");
  536. caption = strCaption;
  537. for(i=0;i<vTclsnmA.length;i++){
  538. grd_testlist.colHidden(i + gStartCol) = false;
  539. caption += "^" + vTclsnmA[i];
  540. }
  541. caption += "|" + strCaption;
  542. for(i=0;i<vTclsnmB.length;i++){
  543. grd_testlist.colHidden(i + gStartCol) = false;
  544. caption += "^" + vTclsnmB[i];
  545. }
  546. model.makeValue("/root/send/caption", caption);
  547. grd_testlist.caption = caption;
  548. grd_testlist.rebuild();
  549. }
  550. //조회후 그리드 리메이크
  551. function fGrdReMake2(){
  552. var vCdList = model.getValue("/root/init/LB1003/etc01").split("▦");
  553. var vCdCount = vCdList.length;
  554. //alert(vCdCount);
  555. var vOrgrst = "";
  556. var curCol = 0;
  557. for (var row = 1; row < (grd_testlist.rows-1) ; row++) {
  558. for (var col=0; col < parseInt(vCdCount); col++) {
  559. vOrgrst = "inptrslt" + (eval(col+1) );
  560. if (model.getValue("/root/main/testinfo/patlist["+row+"]/"+vOrgrst+"/@readonly") == "true") {
  561. curCol = eval(gStartCol+col);
  562. //alert(curCol);
  563. grd_testlist.cellStyle("background-color", (row+1), curCol, (row+1),curCol) = "#eaeaea";
  564. grd_testlist.isReadOnly((row+1), curCol) = true;
  565. }
  566. }
  567. }
  568. //grd_testlist.
  569. }
  570. /* @group : 검사자 조회
  571. * @ver : 2008.12.22
  572. * @by : 김성희
  573. * @-----------------------------------
  574. * @type : function
  575. * @access : public
  576. * @desc : 검사자 조회 Function
  577. - 검사자 아이디 입력후 엔터치면 검사자명 조회.
  578. */
  579. function fUserNMRef(){
  580. model.removeNodeset("/root/send/userid");
  581. if(model.getvalue("/root/hidden/readid") != ""){
  582. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/readid"));
  583. //alert("센드" + model.getValue("/root/send/userid"));
  584. submit("TRLRR00406");
  585. model.makeValue("/root/hidden/readnm", model.getValue("/root/main/getUsernm/usernm"));
  586. model.makeValue("/root/hidden/userflag", model.getValue("/root/main/getUsernm/userflag"));
  587. if(model.getValue("/root/main/getUsernm/userflag") == "2"){
  588. model.setValue("/root/main/getUsernm/specdrid","");
  589. model.makeValue("/root/hidden/specdrid","");
  590. }
  591. else{
  592. model.makeValue("/root/hidden/specdrid",model.getValue("/root/main/getUsernm/specdrid"));
  593. }
  594. }
  595. model.refresh();
  596. }
  597. function fUserNMRef2(){
  598. if(model.getValue("/root/hidden/refparam/userid") != ""){
  599. model.makeValue("/root/send/userid" , model.getValue("/root/hidden/refparam/userid"));
  600. submit("TRLZZ00104");
  601. model.makeValue("/root/hidden/usernm",model.getValue("/root/main/getUsernm/usernm"));
  602. model.refresh();
  603. }
  604. }
  605. /* @group : 결과구분
  606. * @ver : 2008.12.22
  607. * @by : 김성희
  608. * @-----------------------------------
  609. * @type : function
  610. * @access : public
  611. * @desc : 결과구분 Function
  612. */
  613. function fRstGbn_XForms_Value_Changed(pIdx) {
  614. if (pIdx == "1" || pIdx == "2") {
  615. //결과미입력,결과입력 체크시 최종보고, 전문의확인 체크 해제
  616. if (model.getValue("/root/hidden/refparam/rsltstat1") == "1" || model.getValue("/root/hidden/refparam/rsltstat2") == "1") {
  617. model.setValue("/root/hidden/refparam/rsltstat3", "");
  618. model.setValue("/root/hidden/refparam/rsltstat4", "");
  619. }
  620. } else if (pIdx == "3" ) {
  621. //최종보고 체크시 결과미입력,결과입력,전문의확인 체크 해제
  622. if (model.getValue("/root/hidden/refparam/rsltstat3") == "1" ) {
  623. model.setValue("/root/hidden/refparam/rsltstat1", "");
  624. model.setValue("/root/hidden/refparam/rsltstat2", "");
  625. model.setValue("/root/hidden/refparam/rsltstat4", "");
  626. }
  627. } else if (pIdx == "4") {
  628. //전문의확인 체크시 결과미입력,결과입력,최종보고 체크 해제
  629. if (model.getValue("/root/hidden/refparam/rsltstat4") == "1") {
  630. model.setValue("/root/hidden/refparam/rsltstat1", "");
  631. model.setValue("/root/hidden/refparam/rsltstat2", "");
  632. model.setValue("/root/hidden/refparam/rsltstat3", "");
  633. }
  634. }
  635. model.refresh();
  636. }
  637. function fCheckChangeValue(pState){
  638. var nMaxRow = datagrid1.rows;
  639. var rkey = "";
  640. var vO_inptrslt = "";
  641. var vN_inptrslt = "";
  642. var vRstflag = "";
  643. var isErr = "false";
  644. for(var vRow = 1; vRow < nMaxRow; vRow++){
  645. isUpdate = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/iud");
  646. if(pState == "3"){
  647. //"권한관리"
  648. }
  649. if(isUpdate == "U"){
  650. datagrid1.addStatus(vRow , "update");
  651. rkey = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/rkey");
  652. vO_inptrslt = model.getValue("/root/main/testinfo/BAK_TESTITEM[rkey = '" + rkey + "']/inptrslt");
  653. vN_inptrslt = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/inptrslt");
  654. vRstflag = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/rsltstat");
  655. if(vO_inptrslt == vN_inptrslt){
  656. if(vRstflag == pState){
  657. model.setValue("/root/main/testinfo/testlist[" + vRow + "]/iud", "");
  658. datagrid1.removeStatus(vRow,"update");
  659. }
  660. }
  661. }
  662. // return;
  663. }
  664. return isErr;
  665. }
  666. function fValidation(pRstflag) {
  667. if(pRstflag == "6"){
  668. if(model.getvalue("/root/hidden/readid") == "" || model.getvalue("/root/hidden/readnm") == ""){
  669. messageBox("판독자를 " , "C001" ,"");
  670. model.setFocus("ipt_testpsn");
  671. return;
  672. }
  673. }
  674. else if(model.getvalue("/root/hidden/refparam/userid") == "" || model.getvalue("/root/hidden/usernm") == ""){
  675. messageBox("검사자를 " , "C001" ,"");
  676. model.setFocus("input_testbtn");
  677. return;
  678. }
  679. var nMaxRow = grd_testlist.rows - 1;
  680. var isErr = false;
  681. var sErrMsg = "";
  682. if (pRstflag == "1") {
  683. sErrMsg = "결과저장";
  684. } else if (pRstflag == "2") {
  685. sErrMsg = "중간(예비)보고";
  686. } else if (pRstflag == "4") {
  687. sErrMsg = "최종보고";
  688. }
  689. // 수정/선택한 환자 유무
  690. if (nMaxRow > 0) {
  691. var findRow = datagrid1.findRow("U", 1, 79, false, false);
  692. if (findRow < 0) isErr = true;
  693. } else {
  694. isErr = true;
  695. }
  696. if ( pRstflag != "6"){
  697. if (isErr) {
  698. // alert("!!!!!!!!!!!!!!!");
  699. messageBox( "수정된 항목이 없습니다.", "I");
  700. return false;
  701. }
  702. }
  703. // alert("@@@@@@@@");
  704. return true;
  705. }
  706. // 결과저장 및 전문의 확인
  707. function fInsRsltSave(flag){
  708. //model.setValue("/root/HideData/RstCode", "");
  709. if(fCheckChangeValue("1") == "false"){
  710. if (fValidation("1")) {
  711. model.setvalue("/root/hidden/updateparam/rsltstat" , "1") ;
  712. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  713. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  714. submit("TXLLR00401" , false);
  715. datagrid1.clearStatus();
  716. model.setValue("/root/hidden/currenRow", "");
  717. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  718. fSetClear2();
  719. }
  720. }
  721. }
  722. // 중간보고
  723. function fSetMdlRept(){
  724. if(fCheckChangeValue("2") == "false"){
  725. if (fValidation("2")) {
  726. model.setvalue("/root/hidden/updateparam/rsltstat" , "2") ;
  727. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  728. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  729. submit("TXLLR00401" , false);
  730. datagrid1.clearStatus();
  731. model.setValue("/root/hidden/currenRow", "");
  732. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  733. fSetClear2();
  734. }
  735. }
  736. }
  737. // 최종보고
  738. function fSetLstRept(){
  739. var node = instance1.selectSingleNode("/root/main/testinfo/donornm/finaldonor");
  740. var row = grd_patlist.row;
  741. if(fCheckChangeValue("4") == "false"){
  742. if (fValidation("4")) {
  743. //수정결과 팝업 띄우기
  744. if(fUpdtRslt() != 0) return;
  745. model.setvalue("/root/hidden/updateparam/rsltstat" , "4");
  746. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  747. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  748. }
  749. submit("TXLLR00401" , false);
  750. datagrid1.clearStatus();
  751. model.setValue("/root/hidden/currenRow", "");
  752. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  753. model.removeNodeset("/root/main/testinfo/donornm");
  754. input_lastdonor.refresh();
  755. fSetClear2();
  756. }
  757. }
  758. //donor 저장
  759. function fDonorSave(){
  760. var node = instance1.selectSingleNode("/root/main/testinfo/donornm/finaldonor");
  761. model.makevalue("/root/hidden/TestData/bcno",model.getValue("/root/main/testinfo/testlist[1]/bcno"));
  762. model.makevalue("/root/hidden/TestData/testcd",model.getValue("/root/main/testinfo/testlist[1]/testcd"));
  763. model.makevalue("/root/hidden/TestData/tclscd",model.getValue("/root/main/testinfo/testlist[1]/tclscd"));
  764. model.makevalue("/root/hidden/TestData/spccd",model.getValue("/root/main/testinfo/testlist[1]/spccd"));
  765. model.makevalue("/root/hidden/TestData/inptrslt","");
  766. model.makevalue("/root/hidden/TestData/rsltstat","6");
  767. model.makevalue("/root/hidden/TestData/descrslt",node.xml,true);
  768. model.makevalue("/root/hidden/TestData/inter","");
  769. //model.makevalue("/root/hidden/TestData/readid",model.getValue("/root/hidden/refparam/userid"));
  770. model.makevalue("/root/hidden/TestData/userid",model.getValue("/root/hidden/readid"));
  771. //alert(model.getValue("/root/hidden/TestData/userid"));
  772. if(model.getValue("/root/hidden/TestData/userid") == ""){
  773. messageBox("검사자를", "C001");
  774. model.setFocus("ipt_testpsn");
  775. model.refresh();
  776. return;
  777. }
  778. model.makeNode("/root/send/TestData");
  779. //model.copynode("/root/send/TestData",model.getValue("/root/hidden/TestData"));
  780. copyNodesetType("/root/send/TestData", "/root/hidden/TestData");
  781. submit("TXLRR00501", false);
  782. model.setValue("/root/main/testinfo/donornm/finaldonor","");
  783. input_lastdonor.refresh();
  784. model.removenodeset("/root/send/TestData");
  785. model.refresh();
  786. }
  787. // 전문의 확인
  788. function fSetMediSpcl(){
  789. var node = instance1.selectSingleNode("/root/main/testinfo/donornm/finaldonor");
  790. var nRow = datagrid1.rows
  791. for ( var row = 1 ;row < nRow ; row++){
  792. model.setValue("/root/main/testinfo/testlist[" + row + "]/iud", "U");
  793. }
  794. if(fCheckChangeValue("6") == "false"){
  795. if (fValidation("6")) {
  796. model.setvalue("/root/hidden/updateparam/rsltstat" , "6");
  797. model.makevalue("/root/hidden/updateparam/flag","HLA");
  798. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  799. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  800. model.makeValue("/root/send/bcno",model.getValue("/root/main/testinfo/testlist[1]/bcno"));
  801. model.makeValue("/root/send/tclscd",model.getValue("/root/main/testinfo/testlist[1]/tclscd"));
  802. //인증
  803. if(Sign.signprocess()){
  804. model.makeNode("/root/send/signdata");
  805. model.makeValue("/root/send/signdata/formcd",model.getValue("/root/main/testinfo/testinfo/formcdlist/formcd"));
  806. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  807. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]); //공인인증 처리후 데이터
  808. }else{
  809. messageBox("인증실패", "I");
  810. model.removeNodeset("/root/send/data1");
  811. model.removeNodeset("/root/send/data2");
  812. model.removeNodeset("/root/send/signdata");
  813. model.makeNode("/root/send/data1");
  814. model.makeNode("/root/send/data2");
  815. return false;
  816. }
  817. submit("TXLLR00401" , false);
  818. datagrid1.clearStatus();
  819. model.setValue("/root/hidden/currenRow", "");
  820. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  821. fSetClear2();
  822. }
  823. }
  824. }
  825. function fMake_SignData(){
  826. Sign.addnode("/root/main");
  827. }
  828. //수정결과 팝업 띄우기
  829. function fUpdtRslt(){
  830. var testlist = "";
  831. var returnyn = "";
  832. var bufDJGG = "";
  833. for(i = 0; i < datagrid1.rows; i++) {
  834. if(((model.getValue("/root/main/testinfo/testlist["+ i +"]/rsltstat") == "4") || (model.getValue("/root/main/testinfo/testlist["+ i +"]/rsltstat") == "5"))
  835. && (model.getvalue("/root/main/testinfo/testlist["+ i +"]/iud") == "U")) { //수정 및 선택된 경우
  836. var vPID = model.getValue("/root/main/testinfo/testlist["+ i +"]/pid"); //등록번호
  837. var vBcno = model.getValue("/root/main/testinfo/testlist["+ i +"]/bcno"); //바코드
  838. bufDJGG += model.getValue("/root/main/testinfo/testlist["+ i +"]/testcd") + "▦" + model.getValue("/root/main/testinfo/testlist["+ i +"]/reptrslt") + "▩";
  839. testlist += "'" + model.getValue("/root/main/testinfo/testlist["+ i +"]/testcd") + "',"; //'testcd', 'testcd',
  840. if((vPID != "") //pid가 있고
  841. && (vBcno != model.getValue("/root/main/testinfo/testlist["+ (i+1) +"]/bcno")) //이전바코드번호랑 다르고
  842. && (i != 0)){ //i != 0임
  843. model.makeValue("/root/hidden/DJGGParm/bcno" , vBcno);
  844. model.makeValue("/root/hidden/DJGGParm/testcdlist", testlist.substr(0, testlist.length - 1)); //'testcd', 'testcd', <-맨뒤의 ',' 빼기 위해
  845. model.makeValue("/root/hidden/DJGGParm/bufDJGG", bufDJGG);
  846. model.makeNode("/root/hidden/DJGGParm/userid");
  847. model.makeNode("/root/hidden/DJGGParm/rsltsaveYN");
  848. testlist = ""; //초기화
  849. modal("SMLLR90600" , "","","","","/root/hidden/DJGGParm" , "/root/hidden/DJGGParm");
  850. if(model.getvalue("/root/hidden/DJGGParm/rsltsaveYN") == "Y")
  851. returnyn = 0;
  852. else
  853. returnyn = 1;
  854. }
  855. }
  856. }
  857. return returnyn;
  858. }
  859. //onkeypress 이벤트시..
  860. function fGridKeyEvent(){
  861. var curRow = grd_testlist.row;
  862. var curCol = grd_testlist.col;
  863. var insRow = curRow - 1;
  864. if (event.keyCode == 13) {
  865. var refRow = fGetRow(curRow, curCol);
  866. if (refRow > 0) {
  867. // 입력 실제결과
  868. var vInptRslt = grd_testlist.valueMatrix(curRow, curCol).getTrim();
  869. fCvtViewResult(vInptRslt, refRow);
  870. if(vInptRslt == ""){
  871. if(model.getValue("/root/main/testinfo/testlist["+ refRow +"]/iud") != "") {
  872. model.setValue("/root/main/testinfo/testlist["+ refRow +"]/iud", "");
  873. datagrid1.rebuild();
  874. }
  875. model.setValue("/root/main/testinfo/patlist["+ insRow +"]/chk", "false");
  876. //return;
  877. } else {
  878. model.setValue("/root/main/testinfo/patlist["+ insRow +"]/chk", "true");
  879. }
  880. grd_testlist.cellStyle("background-color", curRow, curCol, curRow, curCol) = "#f3e1bf";
  881. if(model.getValue("/root/hidden/cursor") == "1") {
  882. // 다음 Row로 이동
  883. var max = grd_testlist.rows;
  884. var vRstNo = parseInt(eval(curCol - gStartCol + 1)).toString();
  885. var posRow = -1;
  886. for (var r = (curRow + 1); r < max; r++) {
  887. var isReadonly = model.getValue("/root/main/testinfo/patlist[" + r + "]/inptrslt" + vRstNo + "/@readonly");
  888. if (isReadonly == "false") {
  889. posRow = r;
  890. break;
  891. }
  892. }
  893. if (posRow > 0) {
  894. grd_testlist.row= posRow;
  895. grd_testlist.col = curCol;
  896. fPatGridClick(posRow, curCol);
  897. } else {
  898. fPatGridClick(curRow, curCol);
  899. }
  900. } else {
  901. // 다음 Col로 이동
  902. var max = grd_testlist.cols;
  903. var posCol = -1;
  904. for (var r = (curCol + 1); r < max; r++) {
  905. var vRstNo = parseInt(eval(r - gStartCol + 1)).toString();
  906. var isReadonly = model.getValue("/root/main/testinfo/patlist[" + insRow + "]/inptrslt" + vRstNo + "/@readonly");
  907. if (isReadonly == "false") {
  908. posCol = r;
  909. break;
  910. }
  911. }
  912. if (posCol > 0) {
  913. grd_testlist.row= curRow;
  914. grd_testlist.col = posCol;
  915. fPatGridClick(curRow, posCol);
  916. } else {
  917. fPatGridClick(curRow, curCol);
  918. }
  919. }
  920. } else {
  921. //fg.textMatrix(curRow, curCol) = "";
  922. }
  923. }
  924. }
  925. //선택한 testlist row 알기
  926. function fGetRow(pRow, pCol) {
  927. var findRow = pRow;
  928. if (!pRow>0) return 0;
  929. //alert(pRow +" / "+ pCol +" / "+ gStartCol);
  930. if (pCol < gStartCol) {
  931. //alert("여기?");
  932. } else {
  933. //alert("요기?");
  934. var vWorkno = model.getValue("/root/main/testinfo/patlist["+(pRow-1)+"]/workno").getTrim();
  935. //var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  936. var vCdList = model.getValue("/root/init/LB1003/etc01").split("▦");
  937. var vIdx = parseInt(pCol) - parseInt(gStartCol);
  938. if(vCdList.length > vIdx) {
  939. var vRkey = vWorkno+vCdList[vIdx].getTrim();
  940. findRow = datagrid1.findRow(vRkey, 1,1, false, true);
  941. }
  942. //alert(pRow + " / " + vWorkno+" / "+ vCdList[vIdx] +" / "+ vIdx+" / "+ findRow + " / " + vRkey);
  943. return findRow;
  944. }
  945. //alert(findRow);
  946. return 0;
  947. }
  948. function fCvtViewResult(pInptRslt, pRefRow, pMatch) {
  949. var vRow = pRefRow;
  950. if (typeof(pMatch) == "undefined") pMatch = false
  951. // 실제 결과
  952. var vBufInptRslt = pInptRslt;
  953. // 입력결과와 기존의 결과가 같으면 판정안함...
  954. if (!pMatch) {
  955. model.setValue("/root/main/testinfo/testlist["+vRow+"]/inptrslt", vBufInptRslt);
  956. var colorTF = false;
  957. var vRsltkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/testrsltkind");
  958. var vRsltintsize = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rsltintsize");
  959. var vRsltdcmlsize = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rsltdcmlsize");
  960. var vRundkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rundkind");
  961. var vNvalrsltlimyn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/nvalrsltlimyn");
  962. var vReptrslt = fCOMLIS_CvtReptrslt(vBufInptRslt, vRsltkind, vRsltintsize, vRsltdcmlsize, vRundkind,vNvalrsltlimyn);
  963. if(vReptrslt == "err") {
  964. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/bufinptrslt","");
  965. return;
  966. }
  967. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/inptrslt",vBufInptRslt);
  968. //LH 판정
  969. var vJudgkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/judgkind");
  970. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refl");
  971. var vRefLS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refls");
  972. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refh");
  973. var vRefHS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refhs");
  974. var vRefLT = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/reflt");
  975. var vRvalflag = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rvalflag");
  976. var vJudgLH = fCOMLIS_JudgLH(vReptrslt, vJudgkind, vRefL, vRefLS, vRefH, vRefHS, vRefLT,vRvalflag);
  977. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/judgmark",vJudgLH);
  978. if(vJudgLH == "H"){
  979. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#f7a08b";
  980. }
  981. else if(vJudgLH == "L"){
  982. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#b9e5fb";
  983. }
  984. else{
  985. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#fffff:"
  986. }
  987. //grd_TestInfoCnts.cellStyle("text-align",vRow,8) = "center";
  988. //panic 판정
  989. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicflag").getTrim();
  990. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicminval").getTrim();
  991. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicmaxval").getTrim();
  992. var vJudgPanic = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "P");
  993. if(vJudgPanic == "P"){
  994. datagrid2.cellStyle ("background-color", 1,1,1,1) = "#7BE6B7";
  995. //datagrid2.cellstyle ("background-color" , vRow,4,vRow,4) = "#7BE6B7";
  996. colorTF = true;
  997. }
  998. else{
  999. datagrid2.cellStyle ("background-color", 1,1,1,1) = "#ffffff";
  1000. }
  1001. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/panicmark", vJudgPanic);
  1002. // Panic판정의 전경/배경색 변경
  1003. // Delta판정
  1004. var vBfResult = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/bfreptrslt").getTrim();
  1005. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltaflag").getTrim();
  1006. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltamaxval").getTrim();
  1007. var vDeltaday = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltaterm").getTrim();
  1008. var vRstinterval = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rstinterval").getTrim();
  1009. var vJudgDelta = fCOMLIS_JudgDelta(vReptrslt, vBfResult, vJudgGbn, vRefH, vDeltaday, vRstinterval);
  1010. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/deltamark", vJudgDelta);
  1011. if(vJudgDelta == "D"){
  1012. datagrid2.cellStyle ("background-color", 1,2,1,2) = "#dec6a4";
  1013. //grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#7BE6B7";
  1014. colorTF = true;
  1015. }
  1016. else{
  1017. datagrid2.cellStyle ("background-color", 1,2,1,2) = "#ffffff";
  1018. }
  1019. // Critical판정
  1020. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalflag").getTrim();
  1021. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalminval").getTrim();
  1022. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalmaxval").getTrim();
  1023. var vJudgCritical = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "C");
  1024. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/criticalmark", vJudgCritical);
  1025. // Critical판정의 전경/배경색 변경
  1026. if(vJudgCritical == "C"){
  1027. datagrid2.cellStyle ("background-color", 1,3,1,3) = "#ffe79d";
  1028. //grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#7BE6B7";
  1029. colorTF = true;
  1030. }
  1031. else{
  1032. datagrid2.cellStyle ("background-color", 1,3,1,3) = "#ffffff";
  1033. }
  1034. // Alert판정
  1035. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertflag").getTrim();
  1036. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertminval").getTrim();
  1037. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertmaxval").getTrim();
  1038. var vJudgAlert = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "A");
  1039. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/alertmark", vJudgAlert)
  1040. // Alert판정의 전경/배경색 변경
  1041. if(vJudgAlert == "A"){
  1042. datagrid2.cellStyle ("background-color", 1,4,1,4) = "#fec34d";
  1043. colorTF = true;
  1044. }
  1045. else{
  1046. datagrid2.cellStyle ("background-color", 1,4,1,4) = "#ffffff";
  1047. }
  1048. // 허용참고치 판정
  1049. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitflag").getTrim();
  1050. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitminval").getTrim();
  1051. var vRefLS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitmaxval").getTrim();
  1052. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitmaxvalsinq").getTrim();
  1053. var vRefHS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimiminvalsinq").getTrim();
  1054. vReptrslt = fCOMLIS_JudgLimit(vReptrslt, vJudgGbn, vRefL, vRefLS, vRefH, vRefHS);
  1055. // 사용자정의판정 결과변경
  1056. var vUjudglt = new Array(3);
  1057. vUjudglt[0] = vJudgkind;
  1058. for (var i = 1; i <= 3; i++) {
  1059. vUjudglt[i] = model.getValue("/root/main/testinfo/testlist["+vRow+"]/userjudgchar" + i.toString());
  1060. }
  1061. vReptrslt = fCOMLIS_CvtUjudgRst(vBufInptRslt, vReptrslt, vJudgLH, vUjudglt);
  1062. model.setvalue ("/root/main/testinfo/testlist["+vRow+"]/reptrslt",vReptrslt);
  1063. // 수정데이타 반영
  1064. model.setValue("/root/main/testinfo/testlist["+vRow+"]/iud", "U");
  1065. model.refresh();
  1066. }
  1067. }
  1068. function fPatGridClick(pRow,pCol, Event){
  1069. var sDetilRow = fGetRow(pRow,pCol);
  1070. //결과코드 값 가져오기
  1071. var testcd = model.getvalue("/root/main/testinfo/testlist["+ sDetilRow +"]/testcd");
  1072. //cmb_rslt.choices.itemset.attribute("nodeset") = "/root/init/LB0109[etc01='"+ testcd +"']";
  1073. if(sDetilRow > 0){
  1074. model.setValue("/root/hidden/currenRow", sDetilRow);
  1075. model.makeValue("/root/main/testinfo/spcinfo/spcscrnnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/spcscrnnm"));
  1076. model.makeValue("/root/main/testinfo/spcinfo/refval" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/refval"));
  1077. model.makeValue("/root/main/testinfo/spcinfo/judgmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/judgmark"));
  1078. model.makeValue("/root/main/testinfo/spcinfo/panicmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/panicmark"));
  1079. model.makeValue("/root/main/testinfo/spcinfo/deltamark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/deltamark"));
  1080. model.makeValue("/root/main/testinfo/spcinfo/criticalmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/criticalmark"));
  1081. model.makeValue("/root/main/testinfo/spcinfo/alertmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/alertmark"));
  1082. model.makeValue("/root/main/testinfo/spcinfo/rsltmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/rsltmark"));
  1083. model.makeValue("/root/main/testinfo/spcinfo/reptrslt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/reptrslt"));
  1084. model.makeValue("/root/main/testinfo/spcinfo/bfreptrslt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/bfreptrslt"));
  1085. model.makeValue("/root/main/testinfo/spcinfo/bflastreptdt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/bflastreptdt"));
  1086. model.makeValue("/root/main/testinfo/spcinfo/testeqmtcd" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/testeqmtcd"));
  1087. model.makeValue("/root/main/testinfo/spcinfo/rsltrgsgnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/rsltrgsgnm"));
  1088. model.makeValue("/root/main/testinfo/spcinfo/mdlreptnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/mdlreptnm"));
  1089. model.makeValue("/root/main/testinfo/spcinfo/lastreptnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/lastreptnm"));
  1090. //model.makeValue("/root/main/testinfo/spcinfo/comment" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/comment"));
  1091. model.makeValue("/root/main/testinfo/spcinfo/testcmt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/testcmt"));
  1092. model.makeValue("/root/main/testinfo/spcinfo/testcont" , "");
  1093. var vJudg = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/judgmark")
  1094. if(vJudg == "H"){
  1095. datagrid2.cellStyle ("background-color",1,0,1,0) = "#f7a08b";
  1096. }
  1097. else if(vJudg == "L"){
  1098. datagrid2.cellStyle ("background-color",1,0,1,0) = "#b9e5fb";
  1099. }
  1100. else{
  1101. datagrid2.cellStyle ("background-color",1,0,1,0) = "#ffffff";
  1102. }
  1103. //panic
  1104. var vPanic = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/panicmark");
  1105. if(vPanic == "P"){
  1106. datagrid2.cellStyle ("background-color",1,1,1,1) = "#7BE6B7";
  1107. }
  1108. else{
  1109. datagrid2.cellStyle ("background-color",1,1,1,1) = "#ffffff";
  1110. }
  1111. //delta
  1112. var vDelta = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/deltamark");
  1113. if(vDelta == "D"){
  1114. datagrid2.cellStyle ("background-color",1,2,1,2) = "#dec6a4";
  1115. }
  1116. else{
  1117. datagrid2.cellStyle ("background-color",1,2,1,2) = "#ffffff";
  1118. }
  1119. //critical
  1120. var vCritical = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/criticalmark");
  1121. if(vCritical == "C"){
  1122. datagrid2.cellStyle ("background-color",1,3,1,3) = "#ffe79d";
  1123. }
  1124. else{
  1125. datagrid2.cellStyle ("background-color",1,3,1,3) = "#ffffff";
  1126. }
  1127. //alert
  1128. var vAlert= model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/alertmark");
  1129. if(vAlert == "A"){
  1130. datagrid2.cellStyle ("background-color",1,4,1,4) = "#fec34d";
  1131. }
  1132. else{
  1133. datagrid2.cellStyle ("background-color",1,4,1,4) = "#ffffff";
  1134. }
  1135. if(Event != "M") { //이벤트가 mousemove가 아닐때..
  1136. var vSectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/sectcd");
  1137. var vTsectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/tsectcd");
  1138. //fCMTPCD_ChangeNodeset(vSectcd, vTsectcd, sDetilRow);
  1139. //fInitializeSoGyeon(sDetilRow); //소견 조회초기화
  1140. }
  1141. model.refresh();
  1142. }
  1143. else{
  1144. model.setValue("/root/hidden/currenRow", "");
  1145. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  1146. model.refresh();
  1147. }
  1148. }
  1149. //onkeydown 이벤트시
  1150. function fGridKeyDown(){
  1151. var curRow = grd_testlist.row; //현재로우
  1152. var curCol = grd_testlist.col; //현재컬럼
  1153. if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) {
  1154. if (event.keyCode == 37) { //←
  1155. --curCol;
  1156. } else if (event.keyCode == 38) { //↑
  1157. --curRow;
  1158. } else if (event.keyCode == 39) { //→
  1159. ++curCol;
  1160. } else if (event.keyCode == 40) { //↓
  1161. ++curRow;
  1162. }
  1163. var refRow = fGetRow(curRow, curCol); //실제 데이터있는 그리드의 로우 검색
  1164. fPatGridClick(curRow, curCol); //검체정보 조회
  1165. if (refRow > 0) {
  1166. var vInptRslt = model.getValue("/root/main/testinfo/testlist["+refRow+"]/inptrslt");
  1167. grd_testlist.valueMatrix(curRow, curCol) = vInptRslt;
  1168. }
  1169. }
  1170. }
  1171. // 환자 선택, 취소 클릭
  1172. function fSelectCancle() {
  1173. var pCol = grd_testlist.col;
  1174. var pRow = grd_testlist.row;
  1175. //alert(pCol +" / " + pRow + " / " + grd_testlist.rows);
  1176. if(pRow == 0 || pRow == 1) {
  1177. for(i = 1; i < (grd_testlist.rows-1); i++) {
  1178. //alert(i);
  1179. var isChk = model.getValue("/root/main/testinfo/patlist[" + i + "]/chk");
  1180. var vWorkno = model.getValue("/root/main/testinfo/patlist[" + i + "]/workno");
  1181. //var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  1182. var vCdList = model.getValue("/root/init/LB1003/etc01").split("▦");
  1183. if (isChk == "true") {
  1184. grd_testlist.rowStyle(i+1, "data", "background-color") = "#f3e1bf";
  1185. } else {
  1186. grd_testlist.rowStyle(i+1, "data", "background-color") = "#FFFFFF";
  1187. fGrdReMake2();
  1188. }
  1189. for (var idx=0; idx < vCdList.length; idx++) {
  1190. var vInptRslt = "";
  1191. vInptRslt = "inptrslt" + (eval(idx+1) );
  1192. var readonly = model.getValue("/root/main/testinfo/patlist["+ i +"]/"+vInptRslt+"/@readonly");
  1193. var rstval = model.getValue("/root/main/testinfo/patlist["+ i +"]/"+vInptRslt);
  1194. if (readonly == "false") {
  1195. col = idx + gStartCol;
  1196. var refRow = fGetRow(i+1, col);
  1197. if(rstval == ""){
  1198. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", "");
  1199. }else{
  1200. // 수정된항목 색변경
  1201. // grd_testlist.cellStyle("background-color", i, col, i, col) = "#f3e1bf";
  1202. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", (isChk != "true") ? "" : "U");
  1203. }
  1204. }
  1205. }
  1206. }
  1207. } else {
  1208. var isChk = model.getValue("/root/main/testinfo/patlist[" + (pRow-1) + "]/chk");
  1209. var vWorkno = model.getValue("/root/main/testinfo/patlist[" + (pRow-1) + "]/workno");
  1210. //var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  1211. var vCdList = model.getValue("/root/init/LB1003/etc01").split("▦");
  1212. if (isChk == "true") {
  1213. grd_testlist.rowStyle(pRow, "data", "background-color") = "#f3e1bf";
  1214. } else {
  1215. grd_testlist.rowStyle(pRow, "data", "background-color") = "#FFFFFF";
  1216. fGrdReMake2();
  1217. }
  1218. for (var idx=0; idx < vCdList.length; idx++) {
  1219. var vInptRslt = "";
  1220. vInptRslt = "inptrslt" + (eval(idx+1) );
  1221. var readonly = model.getValue("/root/main/testinfo/patlist["+(pRow-1)+"]/"+vInptRslt+"/@readonly");
  1222. var rstval = model.getValue("/root/main/testinfo/patlist["+(pRow-1)+"]/"+vInptRslt);
  1223. if (readonly == "false") {
  1224. //var find = grd_testlist.findRow("true", 1, 1, true, true);
  1225. col = idx + gStartCol;
  1226. //grd_testlist.col = col;
  1227. //grd_testlist.row = pRow;
  1228. grd_testlist.select(pRow, col) = true;
  1229. var refRow = fGetRow(pRow, col);
  1230. if(rstval == ""){
  1231. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", "");
  1232. }else{
  1233. // 수정된항목 색변경
  1234. // grd_testlist.cellStyle("background-color", pRow, col, pRow, col) = "#f3e1bf";
  1235. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", (isChk != "true") ? "" : "U");
  1236. }
  1237. }
  1238. }
  1239. }
  1240. //결과코드 값 가져오기
  1241. var testcd = model.getvalue("/root/main/testinfo/testlist["+ refRow +"]/testcd");
  1242. //cmb_rslt.choices.itemset.attribute("nodeset") = "/root/init/LB0109[etc01='"+ testcd +"']";
  1243. model.refresh();
  1244. }
  1245. function fSetContCmt(pRow,pCol){
  1246. var sDetilRow = fGetRow(pRow,pCol); //testlist row 조회
  1247. if(model.getvalue("/root/hidden/readid") == "" || model.getvalue("/root/main/getUsernm/usernm") == ""){
  1248. messageBox("검사자를 " , "C001" ,"");
  1249. model.setFocus("ipt_testpsn");
  1250. return;
  1251. }
  1252. if(model.getvalue("/root/main/testinfo/testlist["+ sDetilRow +"]/rsltstat") == "-") {
  1253. messageBox("소견등록은 결과저장 이후에 가능합니다. " , "C" ,"");
  1254. return;
  1255. }
  1256. /*if(model.getvalue("/root/main/testpatlist/patlist["+grd_patList.row+"]/rsltstat") == "4") {
  1257. messageBox("최종보고된 검체의 소견은 수정할수 없습니다." , "C" ,"");
  1258. return;
  1259. }*/
  1260. if (model.getValue("/root/hidden/refflag/p_isedit") != "true") {
  1261. messageBox("소견입력을 하세요!" , "C" ,"");
  1262. return;
  1263. }
  1264. model.setvalue("/root/send/data1", "m▦rownum▦selchk▦tclsscrnm▦bufinptrslt▦reptrslt▦multiflag▦rstdt▦refval▦rsltunit▦judgmark▦panicmark▦deltamark▦criticalmark▦alertmark▦▦▦rsltmark▦erprcpflag▦bfreptrslt▦bflastreptdt▦rstnm▦eqmtnm▦testcmt▦tclskind▦testcd▦spccd▦rsltseq▦inptrslt▩");
  1265. model.makeValue("/root/hidden/refflag/bcno", model.getvalue("/root/main/testinfo/testlist["+ sDetilRow +"]/bcno"));
  1266. model.makeValue("/root/hidden/refflag/rsltstat", "1");
  1267. model.makeValue("/root/hidden/refflag/testlrgkind", "-");
  1268. model.makeValue("/root/hidden/refflag/userid", model.getValue("/root/hidden/refparam/userid"));
  1269. fMakeSendSoGyeon();
  1270. model.copyNode("/root/send/data2" , "/root/hidden/refflag");
  1271. submit("TXLLR80101",false);
  1272. }
  1273. //소견 저장을 위한 소견 데이터 만들기
  1274. function fMakeSendSoGyeon(){
  1275. var cntSG = getNodesetCount("/root/main/testinfo/testcont"); //소견 저장 개수
  1276. var vSndSG = "m▦testcontcd▦execdeptcd▦testcont▦testcontkind▩";
  1277. for(var i = 1; i <= cntSG; i++){
  1278. if(model.getValue("/root/main/testinfo/testcont[" + i + "]/iud") != ""){
  1279. vSndSG += "u" + "▦"
  1280. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcontcd") + "▦"
  1281. + model.getValue("/root/main/testinfo/testcont[" + i + "]/execdeptcd") + "▦"
  1282. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcont") + "▦"
  1283. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcontkind") + "▩";
  1284. }
  1285. }
  1286. model.makeValue("/root/send/data3", vSndSG);
  1287. }
  1288. //소견내용이 바뀔경우
  1289. function fSoGyeonJeoJang(){
  1290. var curSlip = model.getValue("/root/hidden/testcont/tsectcd");
  1291. var curCmptcd = model.getValue("/root/hidden/testcont/testcontcd");
  1292. var vCmtp = model.getValue("/root/main/testinfo/spcinfo/testcont");
  1293. if(curSlip == "-"){
  1294. return;
  1295. }
  1296. model.setValue("/root/main/testinfo/testcont[execdeptcd = '" + curSlip + "' ]/testcontcd", curCmptcd);
  1297. model.setValue("/root/main/testinfo/testcont[execdeptcd = '" + curSlip + "' ]/testcont", vCmtp);
  1298. model.setValue("/root/main/testinfo/testcont[execdeptcd = '" + curSlip + "' ]/testcontkind", "3");
  1299. //model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/cmtprstflag",
  1300. // model.getValue("/root/MainData/GSHMSangSe/HwanJaJeongBo/cmtprstflag"));
  1301. model.setValue("/root/main/testinfo/testcont[execdeptcd = '" + curSlip + "' ]/iud", "i");
  1302. model.setValue("/root/hidden/refflag/p_isedit", "true");
  1303. model.refresh();
  1304. }
  1305. // function fCMTPCD_ChangeNodeset(pSectcd, pTsectcd, refRow) {
  1306. // model.resetInstanceNode("/root/hidden/testconttsectcd");
  1307. //
  1308. // if(typeof(pSectcd) == "undefined") {
  1309. //// cmb_cmt.choices.itemset.attribute("nodeset") ="/root/init/LB0210[cd='00']";
  1310. // //model.setValue("/root/hidden/testcont/testcontcd", "-");
  1311. // } else {
  1312. //// cmb_cmt.choices.itemset.attribute("nodeset")="/root/init/LB0210[cd='00' or (etc01='" + pSectcd + "' and etc02='" + pTsectcd + "')]";
  1313. // }
  1314. // model.setvalue("/root/hidden/testcont/testcontcd" , "00");
  1315. // cmb_cmt.refresh();
  1316. //
  1317. // var vCmtTsect = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/tsectcd");
  1318. //
  1319. // model.setValue("/root/hidden/testconttsectcd[1]/cd", "00");
  1320. // model.setValue("/root/hidden/testconttsectcd[1]/nm", "- 시행부서선택 -");
  1321. //
  1322. // if(vCmtTsect != ""){
  1323. // model.makeValue("/root/hidden/testconttsectcd[2]/cd" , vCmtTsect);
  1324. // model.makeValue("/root/hidden/testconttsectcd[2]/nm" ,
  1325. // model.getValue("/root/init/LB0106[cd='" + vCmtTsect + "']/nm"));
  1326. // }
  1327. // else{
  1328. // model.setvalue("/root/hidden/testcont/tsectcd" , "00");
  1329. // }
  1330. //
  1331. // cmb_sect.refresh();
  1332. // }
  1333. //
  1334. // //시행부서선택시 소견노드 셋팅
  1335. // function fCMTPCD_ChangeNodeset2(){
  1336. // var tsectcd = model.getvalue("/root/hidden/testcont/tsectcd");
  1337. //
  1338. // if(tsectcd == "00"){
  1339. // cmb_cmt.choices.itemset.attribute("nodeset") ="/root/init/LB0210[cd='00']";
  1340. // }
  1341. // else{
  1342. // cmb_cmt.choices.itemset.attribute("nodeset")="/root/init/LB0210[cd='00' or (etc02='" + tsectcd + "')]" ;
  1343. // }
  1344. //
  1345. //
  1346. // model.setvalue("/root/hidden/testcont/testcontcd" , "00");
  1347. // cmb_cmt.refresh();
  1348. // }
  1349. //
  1350. // //소견 초기화
  1351. // function fInitializeSoGyeon(refRow){
  1352. // var cntTsect = getNodesetCount("/root/hidden/testconttsectcd");
  1353. // var cntSG = getNodesetCount("/root/main/testinfo/testcont");
  1354. // var curTsect = "";
  1355. // var strSG = "";
  1356. // var plusIdx = 1;
  1357. //
  1358. // if(cntSG == 0){
  1359. // model.makenode("/root/main/testinfo/testcont");
  1360. // }
  1361. //
  1362. // for(var sNum = 2; sNum <= cntTsect; sNum++){
  1363. // curTsect = model.getValue("/root/hidden/testconttsectcd[" + sNum + "]/cd");
  1364. //
  1365. // if(model.getValue("/root/main/testinfo/testcont[execdeptcd='"+ curTsect + "']/execdeptcd") == ""){
  1366. // var SG = parseInt(cntSG)+parseInt(plusIdx);
  1367. // model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcontcd");
  1368. // model.makeNode("/root/main/testinfo/testcont[" + SG + "]/execdeptcd");
  1369. // model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcont");
  1370. // model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcontkind");
  1371. // //model.makeNode("/root/main/TestInfo/testcont[" + (cntSG+plusIdx) + "]/rsltstat");
  1372. // model.makeNode("/root/main/testinfo/testcont[" + SG+ "]/iud");
  1373. //
  1374. // model.setValue("/root/main/testinfo/testcont[" +SG + "]/execdeptcd", curTsect);
  1375. // model.setValue("/root/main/testinfo/testcont[" + SG + "]/iud", "n");
  1376. // plusIdx++;
  1377. // }
  1378. // }
  1379. //
  1380. // if(cntTsect == 2){
  1381. // model.setValue("/root/hidden/testcont/tsectcd", model.getValue("/root/hidden/testconttsectcd[2]/cd"));
  1382. // model.setValue("/root/hidden/testcont/testcontcd", "00");
  1383. // }else{
  1384. // model.setValue("/root/hidden/testcont/tsectcd", "00");
  1385. // model.setValue("/root/hidden/testcont/testcontcd", "00");
  1386. // }
  1387. //
  1388. // fSelectTestContTsect(refRow);
  1389. //
  1390. // model.makeValue("/root/hidden/refflag/p_isedit", "");
  1391. // model.refresh();
  1392. // }
  1393. //
  1394. // //선택 시행부서 소견
  1395. // function fSelectTestContTsect(refRow){
  1396. // var selTsectcd = model.getValue("/root/hidden/testcont/tsectcd").getTrim();
  1397. // var vSectcd = "";
  1398. // var vTsectcd = "";
  1399. // var vBcno = "";
  1400. //
  1401. // if(refRow != "") {
  1402. // vSectcd = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/sectcd");
  1403. // vTsectcd = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/tsectcd");
  1404. // vBcno = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/bcno");
  1405. // }
  1406. //
  1407. // var cntSoGyeon = getNodesetCount("/root/main/testinfo/testcont"); //소견 저장 개수
  1408. // var strSG = "";
  1409. //
  1410. // if(selTsectcd == "00"){
  1411. // for(var slipR = 1; slipR <= cntSoGyeon; slipR++){
  1412. // if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/iud") != "n"){
  1413. // strSG += "【" + model.getValue("/root/main/testinfo/testcont[" + slipR + "]/execdeptcd") + "】"
  1414. // + model.getValue("/root/main/testinfo/testcont[" + slipR + "]/testcont") + "\n";
  1415. // }
  1416. // }
  1417. // }else{
  1418. // for(var slipR = 1; slipR <= cntSoGyeon; slipR++){
  1419. // if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/execdeptcd") == vTsectcd){
  1420. // if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/bcno") == vBcno){
  1421. // strSG += model.getValue("/root/main/testinfo/testcont[" + slipR + "]/testcont") + "\n";
  1422. // /*strSG += "【" + selSlip + "】"
  1423. // + model.getValue("/root/MainData/GSHMSangSe/GeomSaSoGyeon[" + slipR + "]/cmtp") + "\n";*/
  1424. // }
  1425. // }
  1426. // }
  1427. // }
  1428. //
  1429. // model.setValue("/root/main/testinfo/spcinfo/testcont", strSG);
  1430. // model.refresh();
  1431. //
  1432. // }
  1433. //
  1434. // //소견 선택시
  1435. // function fSetCmt(pRow,pCol){
  1436. // var sDetilRow = fGetRow(pRow,pCol); //testlist row 조회
  1437. //
  1438. // var curSlip = model.getValue("/root/hidden/testcont/tsectcd");
  1439. // var curCmptcd = model.getValue("/root/hidden/testcont/testcontcd");
  1440. //
  1441. // if(curSlip == "00"){
  1442. // //TFGetMsgBox( -1, "소견을 입력할 슬립을 지정하여 주세요", "소견입력오류", "I", "OK" );
  1443. // model.setValue("/root/hidden/testcont/testcontcd", "00");
  1444. // model.refresh();
  1445. // return;
  1446. // }
  1447. //
  1448. // var vSectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/sectcd");
  1449. // var vTsectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/tsectcd");
  1450. //
  1451. // var curCmt = model.getValue("/root/main/testinfo/spcinfo/testcont");
  1452. //
  1453. // var newCmt = model.getValue("/root/init/LB0210[cd='" + curCmptcd + "' and etc01='" + vSectcd + "' and etc02='" + vTsectcd + "']/etc03");
  1454. //
  1455. // if(curCmt == "\n" || curCmt=="")
  1456. // var rstCmt = newCmt;
  1457. // else
  1458. // var rstCmt = curCmt + "\n" + newCmt;
  1459. //
  1460. // model.setValue("/root/main/testinfo/spcinfo/testcont", rstCmt);
  1461. // model.refresh();
  1462. // fSoGyeonJeoJang();
  1463. // }
  1464. ]]>
  1465. </script>
  1466. </xhtml:head>
  1467. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1468. <group id="group3" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  1469. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:1194px; y2:70px; "/>
  1470. <caption id="caption2" class="tit_2" style="left:5px; top:55px; width:134px; height:13px; ">환자목록</caption>
  1471. <group id="group1" style="left:0px; top:10px; width:1195px; height:40px; ">
  1472. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  1473. <button id="button1" class="btn1_letter2" style="left:680px; top:7px; width:56px; height:22px; ">
  1474. <caption>조회</caption>
  1475. <script type="javascript" ev:event="DOMActivate">
  1476. <![CDATA[
  1477. fGetTestList();
  1478. ]]>
  1479. </script>
  1480. </button>
  1481. <line id="line11" class="line_4" style="x1:675px; y1:5px; x2:675px; y2:32px; "/>
  1482. <caption id="caption1" class="search_name" style="left:5px; top:9px; width:90px; height:17px; ">접수일자 :</caption>
  1483. <caption id="caption3" class="search_no_b" style="left:183px; top:8px; width:12px; height:17px; ">~</caption>
  1484. <input id="ipt_startdd" ref="/root/hidden/refparam/startdd" class="input_search" inputtype="date" style="left:95px; top:8px; width:85px; height:19px; "/>
  1485. <input id="ipt_enddd" ref="/root/hidden/refparam/enddd" class="input_search" inputtype="date" style="left:199px; top:8px; width:85px; height:19px; "/>
  1486. <caption id="caption8" class="search_name" style="left:289px; top:9px; width:90px; height:17px; ">결과구분 :</caption>
  1487. <select id="chk_rsltstat1" ref="/root/hidden/refparam/rsltstat1" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:377px; top:11px; width:78px; height:13px; border-style:none; ">
  1488. <choices>
  1489. <item>
  1490. <label>결과미입력</label>
  1491. <value>1</value>
  1492. </item>
  1493. </choices>
  1494. <script type="javascript" ev:event="xforms-value-changed">
  1495. <![CDATA[
  1496. fRstGbn_XForms_Value_Changed("1");
  1497. ]]>
  1498. </script>
  1499. </select>
  1500. <select id="chk_rsltstat2" ref="/root/hidden/refparam/rsltstat2" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:455px; top:11px; width:70px; height:13px; border-style:none; ">
  1501. <choices>
  1502. <item>
  1503. <label>결과입력</label>
  1504. <value>1</value>
  1505. </item>
  1506. </choices>
  1507. <script type="javascript" ev:event="xforms-value-changed">
  1508. <![CDATA[
  1509. fRstGbn_XForms_Value_Changed("2");
  1510. ]]>
  1511. </script>
  1512. </select>
  1513. <select id="chk_rsltstat3" ref="/root/hidden/refparam/rsltstat3" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:521px; top:11px; width:66px; height:13px; border-style:none; ">
  1514. <choices>
  1515. <item>
  1516. <label>최종보고</label>
  1517. <value>1</value>
  1518. </item>
  1519. </choices>
  1520. <script type="javascript" ev:event="xforms-value-changed">
  1521. <![CDATA[
  1522. fRstGbn_XForms_Value_Changed("3");
  1523. ]]>
  1524. </script>
  1525. </select>
  1526. <select id="chk_rsltstat4" ref="/root/hidden/refparam/rsltstat4" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:588px; top:11px; width:85px; height:13px; border-style:none; ">
  1527. <choices>
  1528. <item>
  1529. <label>전문의확인</label>
  1530. <value>1</value>
  1531. </item>
  1532. </choices>
  1533. <script type="javascript" ev:event="xforms-value-changed">
  1534. <![CDATA[
  1535. fRstGbn_XForms_Value_Changed("4");
  1536. ]]>
  1537. </script>
  1538. </select>
  1539. <input id="ipt_testpsn" ref="/root/hidden/readid" class="input_essential" style="left:1005px; top:7px; width:65px; height:19px; ">
  1540. <script type="javascript" ev:event="onkeyup">
  1541. <![CDATA[
  1542. if(event.keyCode == "13"){
  1543. model.makeValue("/root/hidden/readid",ipt_testpsn.currentText);
  1544. model.refresh();
  1545. //alert(model.getValue("/root/hidden/refparam/userid"));
  1546. //검사자명조회
  1547. fUserNMRef();
  1548. ipt_testpsn.selBegin = 0;
  1549. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  1550. }
  1551. ]]>
  1552. </script>
  1553. </input>
  1554. <output id="opt_testpsn" ref="/root/hidden/readnm" class="output_fix" style="left:1075px; top:7px; width:55px; height:19px; "/>
  1555. <caption id="caption19" class="tit_2" style="left:943px; top:10px; width:66px; height:13px; ">판독자:</caption>
  1556. <output id="output4" ref="/root/hidden/specdrid" class="output_fix" style="left:1135px; top:7px; width:55px; height:19px; "/>
  1557. <caption id="caption7" class="tit_2" style="left:742px; top:10px; width:66px; height:13px; ">검사자 :</caption>
  1558. <input id="input_testbtn" ref="/root/hidden/refparam/userid" class="input_essential" style="left:810px; top:7px; width:65px; height:19px; ">
  1559. <script type="javascript" ev:event="onkeyup">
  1560. <![CDATA[
  1561. if(event.keyCode == "13"){
  1562. model.makeValue("/root/hidden/refparam/userid",input_testbtn.currentText);
  1563. model.refresh();
  1564. //alert(model.getValue("/root/hidden/refparam/userid"));
  1565. //검사자명조회
  1566. fUserNMRef2();
  1567. ipt_testpsn.selBegin = 0;
  1568. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  1569. }
  1570. ]]>
  1571. </script>
  1572. </input>
  1573. <output id="output5" ref="/root/hidden/usernm" class="output_fix" style="left:881px; top:7px; width:55px; height:19px; "/>
  1574. </group>
  1575. <caption id="caption4" class="tit_2" style="left:5px; top:375px; width:134px; height:13px; ">공여자목록</caption>
  1576. <line id="line9" class="line_1" style="x1:0px; y1:390px; x2:1194px; y2:390px; "/>
  1577. <datagrid id="grd_patlist" nodeset="/root/main/patinfo/patlist" backcoloralternate="transparent" caption="처방일시^접수일시^등록번호^환자명^성별/나이^병동/병실^진료과^검사명" colsep="^" colwidth="110, 110, 90, 80, 60, 88, 66, 528" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="32" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:1194px; height:280px; ">
  1578. <col ref="rgstdt" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
  1579. <col ref="spcacptdt" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
  1580. <col ref="pid"/>
  1581. <col ref="patnm"/>
  1582. <col ref="sexage"/>
  1583. <col ref="wardroom"/>
  1584. <col ref="orddeptnm" style="text-align:center; "/>
  1585. <col ref="tclsnm"/>
  1586. <script type="javascript" ev:event="onclick">
  1587. <![CDATA[
  1588. if(grd_patlist.isCell(event.target) && grd_patlist.row >= grd_patlist.fixedRows){
  1589. fGetTestSubList();
  1590. }
  1591. ]]>
  1592. </script>
  1593. </datagrid>
  1594. <datagrid id="grd_testlist" nodeset="/root/main/testinfo/patlist" autoresize="true" backcoloralternate="transparent" caption="^공여자명^성별/나이^관계^바코드번호^결과일시^inptrslt1^inptrslt2^inptrslt3^inptrslt4^inptrslt5^inptrslt6^inptrslt7^inptrslt8^inptrslt9^inptrslt10^inptrslt11^inptrslt12^inptrslt13^inptrslt14^inptrslt15^inptrslt16^inptrslt17^inptrslt18^inptrslt19^inptrslt20^inptrslt21^inptrslt22^inptrslt23^inptrslt24^inptrslt25^inptrslt26^inptrslt27^inptrslt28^inptrslt29^inptrslt30" colsep="^" colwidth="25, 66, 66, 77, 80, 120, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80" dataheight="23" defaultrows="1" ellipsis="true" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="32" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:395px; width:1194px; height:340px; ">
  1595. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  1596. <col ref="dnornm" style="text-align:center; "/>
  1597. <col ref="sexage" style="text-align:center; "/>
  1598. <col ref="dnorrela"/>
  1599. <col ref="bcno"/>
  1600. <col ref="rsltdt" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
  1601. <col ref="inptrslt1" type="input" style="text-align:center; "/>
  1602. <col ref="inptrslt2" type="input" style="text-align:center; "/>
  1603. <col ref="inptrslt3" type="input" style="text-align:center; "/>
  1604. <col ref="inptrslt4" type="input" style="text-align:center; "/>
  1605. <col ref="inptrslt5" type="input" style="text-align:center; "/>
  1606. <col ref="inptrslt6" type="input" style="text-align:center; "/>
  1607. <col ref="inptrslt7" type="input" style="text-align:center; "/>
  1608. <col ref="inptrslt8" type="input" style="text-align:center; "/>
  1609. <col ref="inptrslt9" type="input" style="text-align:center; "/>
  1610. <col ref="inptrslt10" type="input" style="text-align:center; "/>
  1611. <col ref="inptrslt11" type="input" style="text-align:center; "/>
  1612. <col ref="inptrslt12" type="input" style="text-align:center; "/>
  1613. <col ref="inptrslt13" type="input" style="text-align:center; "/>
  1614. <col ref="inptrslt14" type="input" style="text-align:center; "/>
  1615. <col ref="inptrslt15" type="input" style="text-align:center; "/>
  1616. <col ref="inptrslt16" type="input" style="text-align:center; "/>
  1617. <col ref="inptrslt17" type="input" style="text-align:center; "/>
  1618. <col ref="inptrslt18" type="input" style="text-align:center; "/>
  1619. <col ref="inptrslt19" type="input" style="text-align:center; "/>
  1620. <col ref="inptrslt20" type="input" style="text-align:center; "/>
  1621. <col ref="inptrslt21" type="input" style="text-align:center; "/>
  1622. <col ref="inptrslt22" type="input" style="text-align:center; "/>
  1623. <col ref="inptrslt23" type="input" style="text-align:center; "/>
  1624. <col ref="inptrslt24" type="input" style="text-align:center; "/>
  1625. <col ref="inptrslt25" type="input" style="text-align:center; "/>
  1626. <col ref="inptrslt26" type="input" style="text-align:center; "/>
  1627. <col ref="inptrslt27" type="input" style="text-align:center; "/>
  1628. <col ref="inptrslt28" type="input" style="text-align:center; "/>
  1629. <col ref="inptrslt29" type="input" style="text-align:center; "/>
  1630. <col ref="inptrslt30" type="input" style="text-align:center; "/>
  1631. <script type="javascript" ev:event="onclick">
  1632. <![CDATA[
  1633. if((grd_testlist.isCell(event.target) && grd_testlist.row >= grd_testlist.fixedRows) && grd_testlist.col >= 6 ){ //검사항목
  1634. //fPatGridClick(grd_testlist.row,grd_testlist.col);
  1635. } else if(grd_testlist.col == 1) { //체크박스
  1636. fSelectCancle();
  1637. }
  1638. var row = grd_testlist.row
  1639. if(model.getValue("/root/main/testinfo/patlist["+ row +"]/chk") == "true"){
  1640. grd_testlist.rowStatus(row) = "2"
  1641. }
  1642. //alert(model.getValue("/root/main/testinfo/patlist["+ (grd_testlist.row -1) +"]/pid"));
  1643. //alert(model.getValue("/root/main/testinfo/patlist["+ (grd_testlist.row -1) +"]/bcno"));
  1644. ]]>
  1645. </script>
  1646. <script type="javascript" ev:event="onkeypress">
  1647. <![CDATA[
  1648. fGridKeyEvent();
  1649. ]]>
  1650. </script>
  1651. <script type="javascript" ev:event="onkeydown">
  1652. <![CDATA[
  1653. fGridKeyDown();
  1654. ]]>
  1655. </script>
  1656. <script type="javascript" ev:event="onmousedown">
  1657. <![CDATA[
  1658. fGetMouseDown();
  1659. ]]>
  1660. </script>
  1661. <script type="javascript" ev:event="DOMFocusOut">
  1662. <![CDATA[
  1663. window.setPopupMenu(false);
  1664. ]]>
  1665. </script>
  1666. <script type="javascript" ev:event="onmouseout">
  1667. <![CDATA[
  1668. window.setPopupMenu(false);
  1669. ]]>
  1670. </script>
  1671. </datagrid>
  1672. <datagrid id="datagrid1" nodeset="/root/main/testinfo/testlist" class="datagrid2" visibility="hidden" caption="rkey^workno^bcno^execprcpuniqno^pid^orddd^cretno^orddeptcd^orddrid^testcd^spccd^bufinptrslt^reptrslt^rsltunit^judgmark^panicmark^deltamark^criticalmark^alertmark^rsltmark^rsltstat^bfbcno^bflastreptdt^testeqmtcd^comment^tclskind^spcacptid^spcacptdt^spcacptnm^rsltrgsgid^rsltrgstdt^rsltrgstnm^mdlreptid^mdlreptdt^mdlreptnm^lastreptid^lastreptdt^lastreptnm^tclscd^bfinptrslt^bfreptrslt^rsltseq^prcpgenrflag^rsltkind^rsltintsize^rsltdcmlsize^rundkind^rvalflag^descrval^judgkind^userjudgchar1^userjudgchar2^userjudgchar3^panicflag^panicminval^panicmaxval^deltaflag^deltaminval^deltamaxval^deltaterm^criticflag^criticminval^criticmaxval^alertflag^alertminval^allertmaxval^alimitls^alimitflag^alimitminval^alimith^alimiths^alimitls^refl^refls^refh^refhs^reflt^rstinterval^iud^spcscrnnm^inptrslt^testcmt" colsep="^" colwidth="118, 118, 104, 58, 100, 100, 100, 100, 100, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:10px; top:495px; width:1160px; height:150px; ">
  1673. <col ref="rkey"/>
  1674. <col ref="workno"/>
  1675. <col ref="bcno"/>
  1676. <col ref="execprcpuniqno"/>
  1677. <col ref="pid"/>
  1678. <col ref="orddd"/>
  1679. <col ref="cretno"/>
  1680. <col ref="orddeptcd"/>
  1681. <col ref="orddrid"/>
  1682. <col ref="testcd"/>
  1683. <col ref="spccd"/>
  1684. <col ref="bufinptrslt"/>
  1685. <col ref="reptrslt"/>
  1686. <col ref="rsltunit"/>
  1687. <col ref="judgmark"/>
  1688. <col ref="panicmark"/>
  1689. <col ref="deltamark"/>
  1690. <col ref="criticalmark"/>
  1691. <col ref="alertmark"/>
  1692. <col ref="rsltmark"/>
  1693. <col ref="rsltstat"/>
  1694. <col ref="bfbcno"/>
  1695. <col ref="bflastreptdt"/>
  1696. <col ref="testeqmtcd"/>
  1697. <col ref="comment"/>
  1698. <col ref="tclskind"/>
  1699. <col ref="spcacptid"/>
  1700. <col ref="spcacptdt"/>
  1701. <col ref="spcacptnm"/>
  1702. <col ref="rsltrgsgid"/>
  1703. <col ref="rsltrgstdt"/>
  1704. <col ref="rsltrgstnm"/>
  1705. <col ref="mdlreptid"/>
  1706. <col ref="mdlreptdt"/>
  1707. <col ref="mdlreptnm"/>
  1708. <col ref="lastreptid"/>
  1709. <col ref="lastreptdt"/>
  1710. <col ref="lastreptnm"/>
  1711. <col ref="tclscd"/>
  1712. <col ref="bfinptrslt"/>
  1713. <col ref="bfreptrslt"/>
  1714. <col ref="rsltseq"/>
  1715. <col ref="prcpgenrflag"/>
  1716. <col ref="rsltkind"/>
  1717. <col ref="rsltintsize"/>
  1718. <col ref="rsltdcmlsize"/>
  1719. <col ref="rundkind"/>
  1720. <col ref="rvalflag"/>
  1721. <col ref="descrval"/>
  1722. <col ref="judgkind"/>
  1723. <col ref="userjudgchar1"/>
  1724. <col ref="userjudgchar2"/>
  1725. <col ref="userjudgchar3"/>
  1726. <col ref="panicflag"/>
  1727. <col ref="panicminval"/>
  1728. <col ref="panicmaxval"/>
  1729. <col ref="deltaflag"/>
  1730. <col ref="deltaminval"/>
  1731. <col ref="deltamaxval"/>
  1732. <col ref="deltaterm"/>
  1733. <col ref="criticflag"/>
  1734. <col ref="criticminval"/>
  1735. <col ref="criticmaxval"/>
  1736. <col ref="alertflag"/>
  1737. <col ref="alertminval"/>
  1738. <col ref="allertmaxval"/>
  1739. <col ref="alimitls"/>
  1740. <col ref="alimitflag"/>
  1741. <col ref="alimitminval"/>
  1742. <col ref="alimith"/>
  1743. <col ref="alimiths"/>
  1744. <col ref="alimitls"/>
  1745. <col ref="refl"/>
  1746. <col ref="refls"/>
  1747. <col ref="refh"/>
  1748. <col ref="refhs"/>
  1749. <col ref="reflt"/>
  1750. <col ref="rstinterval"/>
  1751. <col ref="iud"/>
  1752. <col ref="spcscrnnm"/>
  1753. <col ref="inptrslt"/>
  1754. <col ref="testcmt"/>
  1755. </datagrid>
  1756. <caption id="caption5" class="cell_1" style="left:755px; top:365px; width:238px; height:23px; font-weight:bold; ">A , B , C DR locus matched donor</caption>
  1757. <input id="input_lastdonor" ref="/root/main/testinfo/donornm/finaldonor" class="input_fix" visibility="visible" editable="true" imemode="hangul" style="left:996px; top:367px; width:115px; height:19px; ">
  1758. <script type="javascript" ev:event="xforms-value-changed">
  1759. <![CDATA[
  1760. // alert(input_lastdonor.currentText);
  1761. // model.makeValue("/root/main/testinfo/donornm/finaldonor",input_lastdonor.currentText);
  1762. // model.refresh();
  1763. ]]>
  1764. </script>
  1765. <script type="javascript" ev:event="onmouseout">
  1766. <![CDATA[
  1767. model.makeValue("/root/main/testinfo/donornm/finaldonor",input_lastdonor.currentText);
  1768. model.refresh();
  1769. ]]>
  1770. </script>
  1771. </input>
  1772. <button id="button2" class="btn2_letter5" disable.background-image="../../../com/commonweb/images/dis_btn4_letter5.gif" style="left:1115px; top:367px; width:75px; height:19px; background-image:../../../com/commonweb/images/btn4_letter5.gif; ">
  1773. <caption>Donor저장</caption>
  1774. <script type="javascript" ev:event="onclick">
  1775. <![CDATA[
  1776. if(model.getValue("/root/main/testinfo/donornm/finaldonor") !=""){
  1777. fDonorSave();
  1778. }
  1779. else{
  1780. messageBox("Donor명을", "C001");
  1781. model.setFocus("input_lastdonor");
  1782. model.refresh();
  1783. return;
  1784. }
  1785. ]]>
  1786. </script>
  1787. </button>
  1788. <group id="group4" visibility="hidden" style="left:610px; top:135px; width:540px; height:180px; ">
  1789. <input id="ipt_bfdt" ref="/root/main/testinfo/spcinfo/bflastreptdt" class="input_fix" format="yyyy-mm-dd hh:nn:ss" style="left:350px; top:60px; width:179px; height:19px; "/>
  1790. <output id="output6" ref="/root/main/testinfo/spcinfo/testeqmtcd" class="output_fix" style="left:350px; top:84px; width:179px; height:19px; "/>
  1791. <output id="output10" ref="/root/main/testinfo/spcinfo/lastreptnm" class="output_fix" style="left:443px; top:114px; width:85px; height:19px; "/>
  1792. <output id="output8" ref="/root/main/testinfo/spcinfo/rsltrgsgnm" class="output_fix" style="left:90px; top:114px; width:85px; height:19px; "/>
  1793. <caption id="caption20" class="cell_1" style="left:7px; top:113px; width:80px; height:23px; ">결과입력자</caption>
  1794. <output id="output9" ref="/root/main/testinfo/spcinfo/mdlreptnm" class="output_fix" style="left:281px; top:114px; width:85px; height:19px; "/>
  1795. <caption id="caption21" class="cell_1" style="left:178px; top:113px; width:100px; height:23px; ">중간보고자</caption>
  1796. <input id="ipt_bf" ref="/root/main/testinfo/spcinfo/bfreptrslt" class="input_fix" style="left:350px; top:36px; width:179px; height:19px; "/>
  1797. <caption id="caption11" class="cell_1" style="left:7px; top:9px; width:80px; height:23px; ">검체명</caption>
  1798. <caption id="caption22" class="cell_1" style="left:370px; top:113px; width:70px; height:23px; ">최종보고자</caption>
  1799. <caption id="caption12" class="cell_1" style="left:7px; top:33px; width:80px; height:78px; ">
  1800. <![CDATA[참고치&판정]]>
  1801. </caption>
  1802. <caption id="caption13" class="cell_1" style="left:274px; top:11px; width:73px; height:23px; ">보이는결과</caption>
  1803. <caption id="caption14" class="cell_1" style="left:274px; top:35px; width:73px; height:23px; ">이전결과</caption>
  1804. <caption id="caption15" class="cell_1" style="left:274px; top:59px; width:73px; height:23px; ">이전결과일</caption>
  1805. <caption id="caption16" class="cell_1" style="left:274px; top:83px; width:73px; height:23px; ">검사장비</caption>
  1806. <output id="output1" ref="/root/main/testinfo/spcinfo/spcscrnnm" class="output_fix" style="left:90px; top:10px; width:179px; height:19px; "/>
  1807. <line id="line5" class="line_2" style="x1:90px; y1:55px; x2:269px; y2:55px; "/>
  1808. <output id="output2" ref="/root/main/testinfo/spcinfo/refval" class="output_fix" style="left:90px; top:34px; width:179px; height:19px; "/>
  1809. <output id="output3" ref="/root/main/testinfo/spcinfo/reptrslt" class="output_fix" style="left:350px; top:12px; width:179px; height:19px; "/>
  1810. <datagrid id="datagrid2" nodeset="/root/main/testinfo/spcinfo" caption="N^P^D^C^A^R" colsep="^" colwidth="30, 30, 30, 30, 30, 27" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:90px; top:60px; width:179px; height:48px; ">
  1811. <col ref="judgmark" style="text-align:center; "/>
  1812. <col ref="panicmark" style="text-align:center; "/>
  1813. <col ref="deltamark" style="left:60px; top:25px; width:30px; height:25px; text-align:center; "/>
  1814. <col ref="criticalmark" style="text-align:center; "/>
  1815. <col ref="alertmark" style="text-align:center; "/>
  1816. <col ref="rsltmark" style="text-align:center; "/>
  1817. </datagrid>
  1818. <caption id="caption6" style="left:10px; top:145px; width:370px; height:30px; ">화면에 보지 않음. 결과 입력, 수정할때 있어야 하므로 일단 숨김</caption>
  1819. </group>
  1820. </group>
  1821. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  1822. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  1823. <button id="btn_save" class="btn4_letter4" visibility="hidden" style="left:868px; top:3px; width:80px; height:22px; ">
  1824. <caption>예비결과</caption>
  1825. <script type="javascript" ev:event="onclick">
  1826. <![CDATA[
  1827. //fInsRsltSave();
  1828. ]]>
  1829. </script>
  1830. </button>
  1831. <button id="btn_lstrept" class="btn4_letter4" style="left:951px; top:3px; width:80px; height:22px; ">
  1832. <caption>최종보고</caption>
  1833. <script type="javascript" ev:event="onclick">
  1834. <![CDATA[
  1835. for(i = 1; i < datagrid1.rows; i++) {
  1836. if(model.getValue("/root/main/testinfo/testlist/reptrslt") == "") {
  1837. model.setValue("/root/main/testinfo/testlist/iud", "");
  1838. }
  1839. }
  1840. fSetLstRept();
  1841. ]]>
  1842. </script>
  1843. </button>
  1844. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  1845. <caption>초기화</caption>
  1846. <script type="javascript" ev:event="onclick">
  1847. <![CDATA[
  1848. //fSetInit(1);
  1849. ]]>
  1850. </script>
  1851. </button>
  1852. <button id="button3" class="btn4_letter5" disable.background-image="../../../com/commonweb/images/dis_btn4_letter5.gif" style="left:1033px; top:3px; width:92px; height:22px; background-image:../../../com/commonweb/images/btn4_letter5.gif; ">
  1853. <caption>전문의확인</caption>
  1854. <script type="javascript" ev:event="onclick">
  1855. <![CDATA[
  1856. fSetMediSpcl();
  1857. ]]>
  1858. </script>
  1859. </button>
  1860. <button id="button40" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
  1861. <caption>출력</caption>
  1862. <script type="javascript" ev:event="DOMActivate">
  1863. <![CDATA[
  1864. /* model.setValue("/root/hidden/xslt/signno", model.getValue("/root/main/testinfo/spcltestinfo/signno"));
  1865. model.setValue("/root/hidden/xslt/form", "0000002916");
  1866. modal("SPLRR90900 ","","","","","/root/hidden/xslt","/root/init");*/
  1867. var signno = model.getValue("/root/main/testinfo/testlist[1]/signno");
  1868. var formcd = model.getValue("/root/main/testinfo/testinfo/formcdlist/formcd");//"0000002916";
  1869. //alert(formcd);
  1870. if(signno != 0) {
  1871. setParameter("SPMRI02400_prtrecinfo","E▦" + signno + "▦" + formcd + "▩");
  1872. // alert("E▦" + signno + "▦" + formcd + "▩");
  1873. modal("SPMRI02400");
  1874. } else {
  1875. messageBox("전문의 확인이 되지", "E007");
  1876. }
  1877. ]]>
  1878. </script>
  1879. </button>
  1880. </group>
  1881. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  1882. <caption id="caption17" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">HLA 검사 결과관리</caption>
  1883. </group>
  1884. <script type="javascript" ev:event="onmenu">
  1885. <![CDATA[
  1886. //var popupParam = event.description;
  1887. //fOnmenu(popupParam);
  1888. ]]>
  1889. </script>
  1890. </xhtml:body>
  1891. </xhtml:html>