SMLBR00400_혈액은행검사항목별결과관리.xrw 85 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBR00400.xrw
  4. * 설 명 : 혈액은행 검사항목별결과관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 송요셉
  7. * 작 성 일 : 2007.5.21
  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>혈액은행 검사항목별 결과관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <TestInfo>
  20. <getTestInfoCnts>
  21. <selchk value=""/>
  22. <workno2/>
  23. <bcno2/>
  24. <pid2/>
  25. <patnm2/>
  26. <testnm/>
  27. <bufinptrslt/>
  28. <reptrslt/>
  29. <dnor/>
  30. <rstnm/>
  31. <bfreptrslt/>
  32. <bfrstnm/>
  33. <bflastreptdt/>
  34. <medispclid/>
  35. <medispcdt/>
  36. <testcmt/>
  37. <workno/>
  38. <bcno/>
  39. <pid/>
  40. <patnm/>
  41. <testcd/>
  42. <inptrslt/>
  43. <rsltseq/>
  44. <tclskind/>
  45. <testlrgkind/>
  46. <spccd/>
  47. <inptrslt/>
  48. <num/>
  49. </getTestInfoCnts>
  50. <testgrupdetl>
  51. <tclsnm/>
  52. <tclscd/>
  53. </testgrupdetl>
  54. </TestInfo>
  55. <getUsernm>
  56. <usernm>
  57. </usernm>
  58. </getUsernm>
  59. </main>
  60. <send>
  61. <data1/>
  62. <data2/>
  63. </send>
  64. <init>
  65. </init>
  66. <hidden>
  67. <refflag>
  68. <userid/>
  69. <bcno/>
  70. <testlrgkind/>
  71. <rsltstat/>
  72. </refflag>
  73. <searchflag>
  74. <searchtype>0</searchtype>
  75. <searchtext/>
  76. <startdd/>
  77. <enddd/>
  78. <sworkseq>0000</sworkseq>
  79. <eworkseq>9999</eworkseq>
  80. <rsltstat0>1</rsltstat0>
  81. <rsltstat1/>
  82. <rsltstat2/>
  83. <testgrupseqno/>
  84. <tclscdlist/>
  85. <tclscdlist2/>
  86. <rsltstatflag/>
  87. <tsectcd>B1</tsectcd>
  88. </searchflag>
  89. <ref>
  90. <tclscdlist>
  91. <tclsnmlist/>
  92. <tclscdlist/>
  93. <tclscdlist2/>
  94. <testgrup/>
  95. </tclscdlist>
  96. </ref>
  97. <default/>
  98. <DJGGParm>
  99. <testcdlist/>
  100. <uprsltYN/>
  101. <bufDJGG/>
  102. <bcno/>
  103. <userid/>
  104. </DJGGParm>
  105. </hidden>
  106. </root>
  107. </instance>
  108. <script type="javascript" ev:event="xforms-model-construct-done">
  109. <![CDATA[
  110. fSetInit();
  111. group4.disabled = true;
  112. model.setFocus("ID_txt");
  113. ]]>
  114. </script>
  115. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  117. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  118. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  119. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  121. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  122. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  123. <submission id="TRLLF90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testgrupdetl"/>
  124. <submission id="TRLBR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/TestInfo"/>
  125. <submission id="TXLBR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  126. </model>
  127. <script type="javascript">
  128. <![CDATA[
  129. //초기화
  130. function fSetInit(ref) {
  131. if(ref != 2) {
  132. model.setvalue("/root/hidden/searchflag/startdd",getCurrentDate());
  133. model.setvalue("/root/hidden/searchflag/enddd",getCurrentDate());
  134. model.setValue("/root/hidden/searchflag/searchtype", "0");
  135. model.setValue("/root/hidden/searchflag/searchtext", "");
  136. model.setValue("/root/hidden/searchflag/sworkseq", "0000");
  137. model.setValue("/root/hidden/searchflag/eworkseq", "9999");
  138. model.setValue("/root/hidden/searchflag/rsltstat0", "1");
  139. model.setValue("/root/hidden/searchflag/rsltstat1", "");
  140. model.setValue("/root/hidden/searchflag/rsltstat2", "");
  141. model.setValue("/root/hidden/ref/tclscdlist/tclsnmlist", "");
  142. model.setValue("/root/hidden/ref/tclscdlist/testgrup", "");
  143. if(ref != 1) {
  144. model.setValue("/root/hidden/refflag/userid", "");
  145. model.setValue("/root/main/getUsernm/usernm", "");
  146. }
  147. }
  148. fBaseInfoRef("0106|0103|0109|1301|0402|");
  149. model.refresh();
  150. }
  151. function fValidation(pRsltstat) {
  152. if(model.getvalue("/root/hidden/refflag/userid") == "" || model.getvalue("/root/main/getUsernm/usernm") == ""){
  153. messageBox("검사자를 " , "C001" ,"");
  154. model.setFocus("ipt_testpsn");
  155. return;
  156. }
  157. var rept = 6;
  158. var flag = 0;
  159. var bcno;
  160. for(i = 1 ; i < grd_TestInfoCnts.rows; i++) {
  161. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value") == "true"){
  162. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd").getTrim() == model.getValue("/root/init/LB1301[etc01= '100']/cd")
  163. && model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/tclscd").getTrim() != "LBR002"){
  164. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+(i+1)+"]/rstnm").getTrim().toString() == model.getValue("/root/main/getUsernm/usernm").getTrim().toString()){
  165. rept = messageBox(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/bcno") + " 검체의 Serum Type 검사자와 Cell Type 검사자가 동일 합니다.", "S001", "");
  166. bcno = model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/bcno");
  167. if(rept == 6){
  168. }
  169. else{
  170. grd_TestInfoCnts.cellstyle("background-image", i, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT0.gif";
  171. grd_TestInfoCnts.cellstyle("background-position", i, grd_TestInfoCnts.colRef("selchk")) = "center";
  172. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value", "false");
  173. }
  174. }
  175. }
  176. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd").getTrim() == model.getValue("/root/init/LB1301[etc01= '101']/cd")){
  177. if(bcno != model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/bcno")){
  178. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+(i-1)+"]/rstnm").getTrim().toString() == model.getValue("/root/main/getUsernm/usernm").getTrim().toString()){
  179. rept = messageBox(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/bcno") + " 검체의 Serum Type 검사자와 Cell Type 검사자가 동일 합니다.", "S002", "");
  180. if(rept == 6){
  181. }
  182. else{
  183. grd_TestInfoCnts.cellstyle("background-image", i, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT0.gif";
  184. grd_TestInfoCnts.cellstyle("background-position", i, grd_TestInfoCnts.colRef("selchk")) = "center";
  185. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value", "false");
  186. }
  187. }
  188. }
  189. }
  190. }
  191. }
  192. var isChk = false;
  193. //var vCmtpRstflag = model.getValue("/root/MainData/GSHMSangSe/HwanJaJeongBo/cmtprstflag"); // 소견 결과상태(검체의 최종보고여부)
  194. var vRetval = fCOMLIS_ResultValidation("/root/main/TestInfo/getTestInfoCnts", grd_TestInfoCnts, pRsltstat, "false");
  195. if ( vRetval == "0") {
  196. // 결과입력 오류가 아닌경우
  197. isChk = true;
  198. }
  199. return isChk;
  200. }
  201. // 결과저장
  202. function fInsRsltSave(){
  203. if(fValidation("1")){
  204. model.removeNodeset("/root/send/data1");
  205. model.makeNode("/root/send/data1");
  206. for(i = 1 ; i < grd_TestInfoCnts.rows ; i++){
  207. var choi = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value");
  208. if(choi == "true"){
  209. }else{
  210. grd_TestInfoCnts.rowStatus(i) = 0;
  211. }
  212. }
  213. model.setvalue("/root/send/data1", grd_TestInfoCnts.getUpdateData(2));
  214. //model.setvalue("/root/hidden/refflag/bcno",model.getvalue("/root/main/TestInfo/getSpcInfo/bcno"));
  215. model.setvalue("/root/hidden/refflag/rsltstat","1");
  216. model.setvalue("/root/hidden/refflag/testlrgkind","B");
  217. //fMakeSendSoGyeon();
  218. model.copyNode("/root/send/data2" , "/root/hidden/refflag");
  219. submit("TXLBR00401",false);
  220. //fSetClear2();
  221. }else {
  222. return 0;
  223. }
  224. }
  225. // 중간보고
  226. function fSetMdlRept(){
  227. if(fValidation("2")){
  228. //alert("중간보고");
  229. model.removeNodeset("/root/send/data1");
  230. model.makeNode("/root/send/data1");
  231. for(i = 1 ; i < grd_TestInfoCnts.rows ; i++){
  232. var choi = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value");
  233. if(choi == "true"){
  234. }else{
  235. grd_TestInfoCnts.rowStatus(i) = 0;
  236. }
  237. }
  238. model.setvalue("/root/send/data1", grd_TestInfoCnts.getUpdateData(2));
  239. //model.setvalue("/root/hidden/refflag/bcno",model.getvalue("/root/main/TestInfo/getSpcInfo/bcno"));
  240. model.setvalue("/root/hidden/refflag/rsltstat","2");
  241. model.setvalue("/root/hidden/refflag/testlrgkind","B");
  242. //fMakeSendSoGyeon();
  243. model.copyNode("/root/send/data2" , "/root/hidden/refflag");
  244. submit("TXLBR00401",false);
  245. //fSetClear2();
  246. }else {
  247. return 0;
  248. }
  249. //alert(model.getvalue("/root/main/TestInfo/getSpcInfo/testcont"))
  250. }
  251. // 최종보고
  252. function fSetLstRept(){
  253. if(fValidation("4")){
  254. if(fUpdtRslt() != 0) return;
  255. model.removeNodeset("/root/send/data1");
  256. model.makeNode("/root/send/data1");
  257. for(i = 1 ; i < grd_TestInfoCnts.rows ; i++){
  258. var choi = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/selchk/@value");
  259. if(choi == "true"){
  260. }else{
  261. grd_TestInfoCnts.rowStatus(i) = 0;
  262. }
  263. }
  264. model.setvalue("/root/send/data1", grd_TestInfoCnts.getUpdateData(2));
  265. //model.setvalue("/root/hidden/refflag/bcno",model.getvalue("/root/main/TestInfo/getSpcInfo/bcno"));
  266. model.setvalue("/root/hidden/refflag/rsltstat","4");
  267. model.setvalue("/root/hidden/refflag/testlrgkind","B");
  268. //fMakeSendSoGyeon();
  269. model.copyNode("/root/send/data2" , "/root/hidden/refflag");
  270. //alert(model.getValue("/root/send/data1"));
  271. submit("TXLBR00401",false);
  272. //fSetClear2();
  273. }else {
  274. return 0;
  275. }
  276. }
  277. function fUpdtRslt(){
  278. var vPID = model.getValue("/root/main/TestInfo/getSpcInfo/pid");
  279. var vBcno = model.getValue("/root/main/TestInfo/getSpcInfo/bcno");
  280. model.setvalue("/root/hidden/DJGGParm/bcno" , vBcno);
  281. model.setvalue("/root/hidden/DJGGParm/userid" , model.getvalue("/root/hidden/refflag/userid"));
  282. if(vPID != "" && model.getvalue("/root/hidden/DJGGParm/uprsltYN") == "Y"){
  283. modal("SMLLR90600" , "","","","","/root/hidden/DJGGParm" , "/root/hidden/DJGGParm");
  284. if(model.getvalue("/root/hidden/DJGGParm/rsltsaveYN") == "Y")
  285. return 0;
  286. else
  287. return 1;
  288. }
  289. return 0;
  290. }
  291. function fOnclick_btnRef(){
  292. grd_TestInfoCnts.rebuildStyle();
  293. model.removeNodeset("/root/main/TestInfo/getTestInfoCnts");
  294. //grd_testlist.rebuildStyle();
  295. if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist") == ""){
  296. messageBox("검사항목을","C002","") ;
  297. return;
  298. }
  299. var sworkseq = model.getvalue("/root/hidden/searchflag/sworkseq");
  300. var eworkseq = model.getvalue("/root/hidden/searchflag/eworkseq");
  301. sworkseq = sworkseq.getLeftPad(4,"0");
  302. eworkseq = eworkseq.getLeftPad(4,"0");
  303. model.setvalue("/root/hidden/searchflag/sworkseq" , sworkseq);
  304. model.setvalue("/root/hidden/searchflag/eworkseq" , eworkseq);
  305. model.setvalue("/root/hidden/searchflag/tclscdlist" , model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist"));
  306. model.setvalue("/root/hidden/searchflag/tclscdlist2" , model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist2"));
  307. var rsltstat0 = model.getvalue("/root/hidden/searchflag/rsltstat0");
  308. var rsltstat1 = model.getvalue("/root/hidden/searchflag/rsltstat1");
  309. var rsltstat2 = model.getvalue("/root/hidden/searchflag/rsltstat2");
  310. if(rsltstat0 == "" && rsltstat1 == "" && rsltstat2 == ""){
  311. messageBox("결과구분을 하나이상","C002","");
  312. return;
  313. }
  314. // 결과구분 정의
  315. var isRstGbn0 = false; //결과미입력
  316. var isRstGbn1 = false; //결과입력
  317. var isRstGbn2 = false; //최종보고
  318. if(rsltstat0 == "1") isRstGbn0 = true;
  319. if(rsltstat1 == "1") isRstGbn1 = true;
  320. if(rsltstat2 == "1") isRstGbn2 = true;
  321. if (isRstGbn2) {
  322. model.setvalue("/root/hidden/searchflag/rsltstatflag" , "3");
  323. } else {
  324. if (isRstGbn0 && isRstGbn1) {
  325. model.setvalue("/root/hidden/searchflag/rsltstatflag" , "2");
  326. } else if (isRstGbn1) {
  327. model.setvalue("/root/hidden/searchflag/rsltstatflag" , "1");
  328. } else {
  329. model.setvalue("/root/hidden/searchflag/rsltstatflag" , "0");
  330. }
  331. }
  332. model.copyNode("/root/send/data1" , "/root/hidden/searchflag");
  333. submit("TRLBR00401");
  334. model.copyNode("/root/send/data1" , "/root/hidden/default");
  335. var HiddenYN = model.getValue("/root/init/LB0402/nm");
  336. if(HiddenYN == "Y"){
  337. fhiddenrow();
  338. }
  339. //fhiddenrow();
  340. fRemakeList();
  341. model.refresh();
  342. //fGrdReMake2();
  343. }
  344. //리스트조회후 그리드 변경사항
  345. function fRemakeList(){
  346. grd_TestInfoCnts.rebuildStyle(1, 1,grd_TestInfoCnts.rows,grd_TestInfoCnts.cols );
  347. for(i=1;i<grd_TestInfoCnts.rows;i++){
  348. var vTclsKind = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/tclskind");
  349. var bufinptrslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/bufinptrslt");
  350. var reptrslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+i+"]/reptrslt");
  351. if (vTclsKind == "2" || vTclsKind == "3"){
  352. grd_TestInfoCnts.cellstyle("background-image", i, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT0.gif";
  353. grd_TestInfoCnts.cellstyle("background-position", i, grd_TestInfoCnts.colRef("selchk")) = "center";
  354. }
  355. //positive 를 포함한 결과 배경색 빨간색으로 표시
  356. var bufpositiveYN = isSearchString(bufinptrslt.toUpperCase(), "POSITIVE");
  357. var reptpositiveYN = isSearchString(reptrslt.toUpperCase(), "POSITIVE");
  358. if(bufpositiveYN || reptpositiveYN){
  359. //grd_TestInfoCnts.rowStyle(i, "data", "background-color") = "#f7a08b";
  360. grd_TestInfoCnts.cellStyle("color", i, grd_TestInfoCnts.colRef("bufinptrslt"), i, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 결과값 글씨색 빨간색
  361. }
  362. // Cell Typing, Cell Typing (교차시험용) 일때 Negative 있으면 font 빨간색으로
  363. // 변경요청번호 10555 2010-01-26 박정은
  364. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  365. model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){ // cell 일때
  366. var bufnegativeYN = isSearchString(bufinptrslt.toUpperCase(), "NEGATIVE");
  367. var reptnegativeYN = isSearchString(reptrslt.toUpperCase(), "NEGATIVE");
  368. if(bufnegativeYN || reptnegativeYN){
  369. grd_TestInfoCnts.cellStyle("color", i, grd_TestInfoCnts.colRef("bufinptrslt"), i, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 결과값 글씨색 빨간색
  370. }
  371. // cell serum 혈액형 다를때 빨간색으로
  372. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/reptrslt").replace("+","").replace(" Negative","").toUpperCase() !=
  373. model.getValue("/root/main/TestInfo/getTestInfoCnts["+(i+1)+"]/reptrslt").toUpperCase() &&
  374. model.getValue("/root/main/TestInfo/getTestInfoCnts["+(i+1)+"]/reptrslt") != ""){
  375. // 변경요청번호 10083 2010-01-28 박정은
  376. grd_TestInfoCnts.cellStyle("color", i, grd_TestInfoCnts.colRef("bufinptrslt"), i, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  377. grd_TestInfoCnts.cellStyle("color", (i+1), grd_TestInfoCnts.colRef("bufinptrslt"), (i+1), grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  378. }
  379. } // 변경요청번호 10555 2010-01-26 박정은
  380. }
  381. }
  382. function fRstGbn_XForms_Value_Changed(pIdx) {
  383. // alert(pIdx);
  384. if (pIdx == "0") {
  385. // 결과미입력 클릭
  386. if (model.getValue("/root/hidden/searchflag/rsltstat0") == "1") {
  387. model.setValue("/root/hidden/searchflag/rsltstat2", "");
  388. }
  389. } else if (pIdx == "1") {
  390. // 결과입력 클릭
  391. if (model.getValue("/root/hidden/searchflag/rsltstat1") == "1") {
  392. model.setValue("/root/hidden/searchflag/rsltstat2", "");
  393. }
  394. } else {
  395. // 최종보고 클릭
  396. if (model.getValue("/root/hidden/searchflag/rsltstat2") == "1") {
  397. model.setValue("/root/hidden/searchflag/rsltstat0", "");
  398. model.setValue("/root/hidden/searchflag/rsltstat1", "");
  399. }
  400. }
  401. model.refresh();
  402. }
  403. function fhiddenrow(){
  404. var testcd;
  405. if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist").indexOf(model.getValue("/root/init/LB1301[etc01= '100']/cd")) != -1 &&
  406. model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist").indexOf(model.getValue("/root/init/LB1301[etc01= '101']/cd")) == -1){
  407. testcd = model.getValue("/root/init/LB1301[etc01= '101']/cd");
  408. }
  409. else if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist").indexOf(model.getValue("/root/init/LB1301[etc01= '100']/cd")) == -1 &&
  410. model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist").indexOf(model.getValue("/root/init/LB1301[etc01= '101']/cd")) != -1){
  411. testcd = model.getValue("/root/init/LB1301[etc01= '100']/cd");
  412. }
  413. else{
  414. }
  415. var vSeq = 1;
  416. for(i=1; i < grd_TestInfoCnts.rows; i++){
  417. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '102']/cd") ||
  418. model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '105']/cd") ||
  419. model.getValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/testcd") == testcd){
  420. grd_TestInfoCnts.rowHidden(i) = true;
  421. }else{
  422. model.setValue("/root/main/TestInfo/getTestInfoCnts["+i+"]/num", vSeq);
  423. vSeq += 1;
  424. }
  425. }
  426. }
  427. function fGrdReMake2(){
  428. var vCdList = model.getValue("/root/hidden/ref/tclscdlist/tclscdlist2").split("▦");
  429. var vCdCount = vCdList.length;
  430. var vOrgrst = "";
  431. var curCol = 0;
  432. for (var row = 1; row < grd_testlist.rows; row++) {
  433. for (var col=0; col < parseInt(vCdCount); col++) {
  434. vOrgrst = "inptrslt" + (eval(col+1) );
  435. if (model.getValue("/root/main/testinfo/patlist["+row+"]/"+vOrgrst+"/@readonly") == "true") {
  436. curCol = eval(gStartCol+col);
  437. grd_TestInfoCnts.cellStyle("background-color", row, curCol, row, curCol) = "#eaeaea";
  438. }
  439. }
  440. }
  441. }
  442. function fUserNMRef(){
  443. if(model.getvalue("/root/hidden/refflag/userid") != ""){
  444. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/refflag/userid"));
  445. submit("TRLZZ00104");
  446. }
  447. }
  448. function fSelectTestGrup(){
  449. model.makeValue("/root/send/testgrupnm", combo1.label);
  450. submit("TRLLF90401" ,false);
  451. fSetPopUpTclscdList();
  452. }
  453. function fSetPopUpTclscdList(){
  454. var count = getNodesetCount("/root/main/testgrupdetl")
  455. if(count > 0){
  456. var sendtclsnm = model.getValue("/root/main/testgrupdetl[1]/tclsnm");
  457. var sendtclscd = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  458. var sendtclscd2 = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  459. // 검사그룹 상세 목록 없을때
  460. if(sendtclsnm == ""){
  461. model.setValue("/root/hidden/tclscdlist/tclscdlist", "");
  462. model.setValue("/root/hidden/tclscdlist/tclsnmlist", "");
  463. }else{ // 검사그룹 상세 목록 있을때
  464. for(i=2; i<= count; i++){
  465. sendtclsnm = sendtclsnm + ", " + model.getValue("/root/main/testgrupdetl["+i+"]/tclsnm");
  466. //sendtclscd = sendtclscd + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  467. sendtclscd = sendtclscd + "','" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  468. sendtclscd2 = sendtclscd2 + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  469. }
  470. model.setValue("/root/hidden/ref/tclscdlist/tclsnmlist", sendtclsnm);
  471. model.setValue("/root/hidden/ref/tclscdlist/tclscdlist", "'" + sendtclscd + "'");
  472. model.setValue("/root/hidden/ref/tclscdlist/tclscdlist2", sendtclscd2);
  473. }
  474. model.refresh();
  475. }
  476. }
  477. function fCvtResultCode(row){
  478. var pRef = "/root/main/TestInfo/getTestInfoCnts";
  479. var vTestcd = model.getValue(pRef + "["+row+"]/testcd");
  480. var vInptRslt = model.getValue(pRef + "["+row+"]/bufinptrslt");
  481. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/cd");
  482. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/nm");
  483. var vRstcontLower ="";
  484. var vRstcontUpper = "";
  485. for (i = 1; i <= cdNodes.length; i++) {
  486. var cd = cdNodes.item(i - 1).text;
  487. var nm = cdNodes2.item(i - 1).text;
  488. if(vInptRslt.toLowerCase() == cd) vRstcontLower = nm;
  489. if(vInptRslt.toUpperCase() == cd) vRstcontUpper = nm;
  490. }
  491. if (vRstcontLower.getTrim() != "" || vRstcontUpper.getTrim() != "" ) {
  492. var vRstcont = (vRstcontLower.getTrim() != "") ? vRstcontLower.getTrim() : vRstcontUpper.getTrim();
  493. model.setValue(pRef + "["+row+"]/bufinptrslt", vRstcont);
  494. model.setValue(pRef + "["+row+"]/inptrslt", vRstcont);
  495. }
  496. }
  497. function fCvtViewResult(pMatch, pMulty, pRow){
  498. var vRow = grd_TestInfoCnts.row;
  499. var vCol = grd_TestInfoCnts.col;
  500. var vMaxRow = grd_TestInfoCnts.rows-1;
  501. if (typeof(pMatch) == "undefined") pMatch = false;
  502. if (typeof(pMulty) == "undefined") pMulty = false;
  503. if (typeof(pRow) != "undefined") vRow = pRow;
  504. var vBufinptrslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt");
  505. if(!pMatch){
  506. var colorTF = false;
  507. var vRsltkind = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/testrsltkind");
  508. var vRsltintsize = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/rsltintsize");
  509. var vRsltdcmlsize = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/rsltdcmlsize");
  510. var vRundkind = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/rundkind");
  511. var vNvalrsltlimyn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/nvalrsltlimyn");
  512. var vReptrslt = fCOMLIS_CvtReptrslt(vBufinptrslt, vRsltkind, vRsltintsize, vRsltdcmlsize, vRundkind,vNvalrsltlimyn);
  513. if(vReptrslt == "err") {
  514. //alert("너니?");
  515. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt","");
  516. return;
  517. }
  518. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/inptrslt",vBufinptrslt);
  519. //LH 판정
  520. var vJudgkind = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/judgkind");
  521. var vRefL = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/refl");
  522. var vRefLS = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/refls");
  523. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/refh");
  524. var vRefHS = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/refhs");
  525. var vRefLT = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/reflt");
  526. var vRvalflag = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/rvalflag");
  527. var vJudgLH = fCOMLIS_JudgLH(vReptrslt, vJudgkind, vRefL, vRefLS, vRefH, vRefHS, vRefLT,vRvalflag);
  528. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/judgmark",vJudgLH);
  529. if(vJudgLH == "H"){
  530. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("dnor") ,vRow,grd_TestInfoCnts.colRef("dnor") ) = "#f7a08b";
  531. }
  532. else if(vJudgLH == "L"){
  533. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("dnor") ,vRow,grd_TestInfoCnts.colRef("dnor") ) = "#b9e5fb";
  534. }
  535. else{
  536. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("dnor") ,vRow,grd_TestInfoCnts.colRef("dnor") ) = "#fffff:"
  537. }
  538. //panic 판정
  539. var vJudgGbn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/panicflag").getTrim();
  540. var vRefL = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/panicminval").getTrim();
  541. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/panicmaxval").getTrim();
  542. var vJudgPanic = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "P");
  543. if(vJudgPanic == "P"){
  544. grd_TestInfoCnts.cellStyle ("background-color", vRow,grd_TestInfoCnts.colRef("rstnm"),vRow,grd_TestInfoCnts.colRef("rstnm")) = "#7BE6B7";
  545. grd_TestInfoCnts.cellstyle ("background-color" , vRow,grd_TestInfoCnts.colRef("pid2"),vRow,grd_TestInfoCnts.colRef("pid2")) = "#7BE6B7";
  546. colorTF = true;
  547. }
  548. else{
  549. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("rstnm"),vRow,grd_TestInfoCnts.colRef("rstnm")) = "#ffffff";
  550. }
  551. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/panicmark", vJudgPanic);
  552. // Panic판정의 전경/배경색 변경
  553. // Delta판정
  554. var vBfResult = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bfreptrslt").getTrim();
  555. var vJudgGbn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/deltaflag").getTrim();
  556. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/deltamaxval").getTrim();
  557. var vDeltaday = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/deltaterm").getTrim();
  558. var vRstinterval = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/rstinterval").getTrim();
  559. var vJudgDelta = fCOMLIS_JudgDelta(vReptrslt, vBfResult, vJudgGbn, vRefH, vDeltaday, vRstinterval);
  560. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/deltamark", vJudgDelta);
  561. if(vJudgDelta == "D"){
  562. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bfreptrslt"),vRow,grd_TestInfoCnts.colRef("bfreptrslt")) = "#dec6a4";
  563. grd_TestInfoCnts.cellstyle("background-color" , vRow,grd_TestInfoCnts.colRef("pid2")) = "#7BE6B7";
  564. colorTF = true;
  565. }
  566. else{
  567. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bfreptrslt"),vRow,grd_TestInfoCnts.colRef("bfreptrslt")) = "#ffffff";
  568. }
  569. // Critical판정
  570. var vJudgGbn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/criticalflag").getTrim();
  571. var vRefL = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/criticalminval").getTrim();
  572. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/criticalmaxval").getTrim();
  573. var vJudgCritical = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "C");
  574. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/criticalmark", vJudgCritical);
  575. // Critical판정의 전경/배경색 변경
  576. if(vJudgCritical == "C"){
  577. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bfrstnm"),vRow,grd_TestInfoCnts.colRef("bfrstnm")) = "#ffe79d";
  578. grd_TestInfoCnts.cellstyle("background-color" , vRow,grd_TestInfoCnts.colRef("pid2")) = "#7BE6B7";
  579. colorTF = true;
  580. }
  581. else{
  582. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bfrstnm"),vRow,grd_TestInfoCnts.colRef("bfrstnm")) = "#ffffff";
  583. }
  584. // Alert판정
  585. var vJudgGbn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alertflag").getTrim();
  586. var vRefL = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alertminval").getTrim();
  587. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alertmaxval").getTrim();
  588. var vJudgAlert = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "A");
  589. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alertmark", vJudgAlert)
  590. // Alert판정의 전경/배경색 변경
  591. if(vJudgAlert == "A"){
  592. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bflastreptdt"),vRow,grd_TestInfoCnts.colRef("bflastreptdt")) = "#fec34d";
  593. grd_TestInfoCnts.cellstyle("background-color" , vRow,grd_TestInfoCnts.colRef("pid2")) = "#7BE6B7";
  594. colorTF = true;
  595. }
  596. else{
  597. grd_TestInfoCnts.cellStyle ("background-color",vRow,grd_TestInfoCnts.colRef("bflastreptdt"),vRow,grd_TestInfoCnts.colRef("bflastreptdt")) = "#ffffff";
  598. }
  599. if(!colorTF) grd_TestInfoCnts.cellstyle("background-color" , vRow,grd_TestInfoCnts.colRef("pid2")) = "#FFFFFA";
  600. // 허용참고치 판정
  601. var vJudgGbn = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alimitflag").getTrim();
  602. var vRefL = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alimitminval").getTrim();
  603. var vRefLS = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alimitmaxval").getTrim();
  604. var vRefH = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alimitmaxvalsinq").getTrim();
  605. var vRefHS = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/alimiminvalsinq").getTrim();
  606. vReptrslt = fCOMLIS_JudgLimit(vReptrslt, vJudgGbn, vRefL, vRefLS, vRefH, vRefHS);
  607. // 사용자정의판정 결과변경
  608. var vUjudglt = new Array(3);
  609. vUjudglt[0] = vJudgkind;
  610. for (var i = 1; i <= 3; i++) {
  611. vUjudglt[i] = model.getValue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/userjudgchar" + i.toString());
  612. }
  613. vReptrslt = fCOMLIS_CvtUjudgRst(vBufinptrslt, vReptrslt, vJudgLH, vUjudglt);
  614. model.setvalue ("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/reptrslt",vReptrslt);
  615. var tclskind = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/tclskind");
  616. if(tclskind == "2"){
  617. if(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/selchk/@value") == "false" ||
  618. model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/selchk@value") == "true" ){
  619. if(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/reptrslt") != ""){
  620. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/selchk/@value", "true");
  621. grd_TestInfoCnts.cellstyle("background-image", vRow, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT1.gif";
  622. grd_TestInfoCnts.cellstyle("background-position",vRow, grd_TestInfoCnts.colRef("selchk")) = "center";
  623. }
  624. }
  625. }
  626. else if(tclskind=="3" || tclskind=="4" || tclskind=="5"){
  627. var parentidx = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/parentidx");
  628. if(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/reptrslt") != ""){
  629. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+parentidx+"]/selchk/@value", "true");
  630. grd_TestInfoCnts.cellstyle("background-image", parentidx, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT1.gif";
  631. grd_TestInfoCnts.cellstyle("background-position", parentidx, grd_TestInfoCnts.colRef("selchk")) = "center";
  632. }
  633. }
  634. }
  635. if (pMulty) {
  636. //alert("유?");
  637. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt", "");
  638. } else {
  639. var vMoveRow = "";
  640. if(vMaxRow == parseInt(vRow))
  641. vMoveRow = parseInt(vRow);
  642. else
  643. vMoveRow = parseInt(vRow) + 1;
  644. if( vMaxRow >= vMoveRow ) {
  645. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+vMoveRow+"]/bufinptrslt/@readonly") == "true" ) {
  646. vMoveRow += 1;
  647. }
  648. } else {
  649. vMoveRow -= 1;
  650. }
  651. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt", "");
  652. if(vMoveRow >grd_TestInfoCnts.rows- 1) vMoveRow = grd_TestInfoCnts.rows- 1;
  653. grd_TestInfoCnts.row = vMoveRow;
  654. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  655. //alert(vMoveRow);
  656. //alert(vMaxRow);
  657. //alert(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/inptrslt"));
  658. //alert(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt"));
  659. //model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vMoveRow+"]/bufinptrslt",
  660. // model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vMoveRow+"]/inptrslt"));
  661. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/bufinptrslt",
  662. model.getvalue("/root/main/TestInfo/getTestInfoCnts["+vRow+"]/inptrslt"));
  663. }
  664. }
  665. function fBlodTypeClick(blodtype){
  666. var row = grd_TestInfoCnts.row;
  667. var retrunValue = "Y";
  668. //Rh 검사코드 row 찾기
  669. var findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  670. if(findRowNum < 1){ // 교차시험결과 수정할때 에러안나게
  671. findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '105']/cd"), 1, grd_TestInfoCnts.colRef("testcd"), true, true);
  672. }
  673. //2011.5.6. ljo 추가
  674. var findRowNumA = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '106']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  675. if(findRowNumA < 1) {
  676. findRowNumA = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '106']/cd"), 1, grd_TestInfoCnts.colRef("testcd"), true, true);
  677. }
  678. //2011.5.8. ljo 추가 blodtype 추가
  679. var findRowNumB = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '101']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  680. if(findRowNumB < 1) {
  681. findRowNumB = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '101']/cd"), 1, grd_TestInfoCnts.colRef("testcd"), true, true);
  682. }
  683. //2011.5.8. ljo 추가 blodtype 추가
  684. var findRowNumC = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '104']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  685. if(findRowNumC < 1) {
  686. findRowNumC = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '104']/cd"), 1, grd_TestInfoCnts.colRef("testcd"), true, true);
  687. }
  688. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#000000"; // 결과값 글씨색 검정색
  689. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '101']/cd") ||
  690. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '104']/cd")){
  691. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" , blodtype);
  692. //alert("1 " + model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd"));
  693. retrunValue = fCompareOldData(row);
  694. if(retrunValue == "N"){
  695. return;
  696. }
  697. fCompareCellAnti(2, row);
  698. fBlodTypeIns();
  699. }
  700. grd_TestInfoCnts.row= row;
  701. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  702. model.getValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){
  703. model.setValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/bufinptrslt" , blodtype + "+");
  704. retrunValue = fCompareOldData(row);
  705. if(retrunValue == "N"){
  706. return;
  707. }
  708. fCompareCellAnti(1, row);
  709. fBlodTypeIns();
  710. model.setValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/bufinptrslt","");
  711. //var rr = grd_TestInfoCnts.row+1;
  712. grd_TestInfoCnts.row = findRowNum;
  713. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "+");
  714. //이재오 수정
  715. //model.refresh();
  716. fBlodTypeIns();
  717. //2011.5.6. ljo 추가
  718. if(findRowNumA > 0) {
  719. //grd_TestInfoCnts.row = row + 3 ;
  720. grd_TestInfoCnts.row = findRowNumA;
  721. model.setValue("/root/main/TestInfo/getTestInfoCnts["+findRowNumA+"]/bufinptrslt", "Negative");
  722. //alert("test 0" + blodtype );
  723. }
  724. //이재오 막다.
  725. //model.refresh();
  726. fBlodTypeIns();
  727. //2011.5.12. ljo 추가 , blodtype 추가
  728. if(findRowNumB > 0) {
  729. grd_TestInfoCnts.row = findRowNumB;
  730. model.setValue("/root/main/TestInfo/getTestInfoCnts["+findRowNumB+"]/bufinptrslt", blodtype);
  731. //alert("test 1" + blodtype );
  732. }
  733. fBlodTypeIns();
  734. //2011.5.12. ljo 추가
  735. //2011.5.12. ljo 추가 , blodtype 추가
  736. if(findRowNumC > 0) {
  737. grd_TestInfoCnts.row = findRowNumC;
  738. model.setValue("/root/main/TestInfo/getTestInfoCnts["+findRowNumC+"]/bufinptrslt", blodtype);
  739. //alert("test 2" + blodtype );
  740. }
  741. fBlodTypeIns();
  742. //2011.5.12. ljo 추가
  743. }
  744. grd_TestInfoCnts.row= row;
  745. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  746. grd_TestInfoCntsClick();
  747. //이재오
  748. var nextRow = row;
  749. do{
  750. //nextRow = nextRow+1; 이재오 막다.
  751. nextRow = nextRow+ 1;
  752. }while(grd_TestInfoCnts.rowHidden(nextRow) == true)
  753. grd_TestInfoCnts.row = nextRow;
  754. }
  755. function fBlodTypeIns(){
  756. var row = grd_TestInfoCnts.row;
  757. var vBufInptRslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt");
  758. var InptRslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt");
  759. if(vBufInptRslt == "" && InptRslt==""){
  760. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt",vBufInptRslt);
  761. return;
  762. }
  763. else{
  764. if(vBufInptRslt == InptRslt){
  765. fCvtViewResult(true);
  766. return;
  767. }
  768. }
  769. fCvtResultCode(row);
  770. //alert(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt"));
  771. fCvtViewResult();
  772. //alert(model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt"));
  773. }
  774. function fGridKeyEvent(){
  775. var row = grd_TestInfoCnts.row;
  776. var col = grd_TestInfoCnts.col;
  777. if(col == 7){
  778. if(event.keyCode == "13"){
  779. //model.setvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt",grd_TestInfoCnts.input.text);
  780. //model.refresh();
  781. var vBufInptRslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt");
  782. var InptRslt = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt");
  783. if(vBufInptRslt == "" && InptRslt==""){
  784. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt",vBufInptRslt);
  785. return;
  786. }
  787. else{
  788. if(vBufInptRslt == InptRslt){
  789. fCvtViewResult(true);
  790. return;
  791. }
  792. }
  793. fCvtResultCode(row);
  794. fCvtViewResult();
  795. }
  796. }
  797. }
  798. function fBlodNegative(){
  799. var row = grd_TestInfoCnts.row;
  800. var retrunValue = "Y";
  801. //Rh 검사코드 row 찾기
  802. var findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  803. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 결과값 글씨색 빨간색
  804. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  805. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){
  806. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  807. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").replace("+","") + " Negative");
  808. retrunValue = fCompareOldData(row);
  809. if(retrunValue == "N"){
  810. return;
  811. }
  812. fBlodTypeIns();
  813. model.setValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/bufinptrslt","");
  814. //var rr = grd_TestInfoCnts.row+1;
  815. grd_TestInfoCnts.row = findRowNum;
  816. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "-");
  817. model.refresh();
  818. fBlodTypeIns();
  819. }
  820. grd_TestInfoCnts.row= row;
  821. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  822. grd_TestInfoCntsClick();
  823. }
  824. function fBlodWeakD(){
  825. var row = grd_TestInfoCnts.row;
  826. var retrunValue = "Y";
  827. //Rh 검사코드 row 찾기
  828. var findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  829. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  830. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){
  831. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  832. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").replace("+","") + " Weak D");
  833. retrunValue = fCompareOldData(row);
  834. if(retrunValue == "N"){
  835. return;
  836. }
  837. fBlodTypeIns();
  838. model.setValue("/root/main/TestInfo/getTestInfoCnts["+grd_TestInfoCnts.row+"]/bufinptrslt","");
  839. //var rr = grd_TestInfoCnts.row+1;
  840. grd_TestInfoCnts.row = findRowNum;
  841. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "Weak D");
  842. model.refresh();
  843. fBlodTypeIns();
  844. }
  845. grd_TestInfoCnts.row= row;
  846. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  847. grd_TestInfoCntsClick();
  848. }
  849. function fcellclick(celltype) {
  850. var row = grd_TestInfoCnts.row;
  851. var retrunValue = "Y";
  852. //Rh 검사코드 row 찾기
  853. var findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  854. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '101']/cd") ||
  855. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '104']/cd")){
  856. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").indexOf("Cell") != -1){
  857. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  858. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt") + " " + celltype);
  859. retrunValue = fCompareOldData(row);
  860. if(retrunValue == "N"){
  861. return;
  862. }
  863. fBlodTypeIns();
  864. //var rr = grd_TestInfoCnts.row;
  865. grd_TestInfoCnts.row = findRowNum;
  866. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "+");
  867. model.refresh();
  868. fBlodTypeIns();
  869. }else{
  870. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" , celltype);
  871. retrunValue = fCompareOldData(row);
  872. if(retrunValue == "N"){
  873. return;
  874. }
  875. fBlodTypeIns();
  876. //var rr = grd_TestInfoCnts.row;
  877. grd_TestInfoCnts.row = findRowNum;
  878. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "+");
  879. model.refresh();
  880. fBlodTypeIns();
  881. }
  882. }
  883. grd_TestInfoCnts.row= row;
  884. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  885. grd_TestInfoCntsClick();
  886. }
  887. function fAnticlick(Antitype) {
  888. var row = grd_TestInfoCnts.row;
  889. var retrunValue = "Y";
  890. //Rh 검사코드 row 찾기
  891. var findRowNum = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  892. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  893. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){
  894. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").indexOf("Anti") != -1){
  895. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  896. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt") + " " + Antitype);
  897. retrunValue = fCompareOldData(row);
  898. if(retrunValue == "N"){
  899. return;
  900. }
  901. fBlodTypeIns();
  902. //var rr = grd_TestInfoCnts.row+1;
  903. grd_TestInfoCnts.row = findRowNum;
  904. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "+");
  905. model.refresh();
  906. fBlodTypeIns();
  907. }else{
  908. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" , Antitype);
  909. retrunValue = fCompareOldData(row);
  910. if(retrunValue == "N"){
  911. return;
  912. }
  913. fBlodTypeIns();
  914. //var rr = grd_TestInfoCnts.row+1;
  915. grd_TestInfoCnts.row = findRowNum;
  916. model.setValue("/root/main/TestInfo/getTestInfoCnts["+ findRowNum +"]/bufinptrslt" , "+");
  917. model.refresh();
  918. fBlodTypeIns();
  919. }
  920. }
  921. grd_TestInfoCnts.row= row;
  922. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  923. grd_TestInfoCntsClick();
  924. }
  925. function fpuls(mark) {
  926. var row = grd_TestInfoCnts.row;
  927. var retrunValue = "Y";
  928. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  929. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '101']/cd") ||
  930. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd") ||
  931. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '104']/cd")){
  932. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").indexOf("Anti") != -1 ||
  933. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").indexOf("Cell") != -1){
  934. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  935. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt") + mark);
  936. retrunValue = fCompareOldData(row);
  937. if(retrunValue == "N"){
  938. return;
  939. }
  940. fBlodTypeIns();
  941. }
  942. }
  943. grd_TestInfoCnts.row= row;
  944. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").indexOf("tive") != -1){
  945. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  946. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt") + mark);
  947. retrunValue = fCompareOldData(row);
  948. if(retrunValue == "N"){
  949. return;
  950. }
  951. fBlodTypeIns();
  952. }
  953. grd_TestInfoCnts.row= row;
  954. grd_TestInfoCnts.col = grd_TestInfoCnts.colRef("bufinptrslt");
  955. grd_TestInfoCntsClick();
  956. }
  957. function fCompareOldData(row){
  958. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bfreptrslt") != ""){
  959. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bfreptrslt").toUpperCase() !=
  960. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").toUpperCase()){
  961. //이전결과와 다른 경우에 생성되는 팝업창에 [Y] 와 [N]를 추가하여 [Y]를 선택하면 결과가 입력되고 [N]를 선택하면 결과가 입력되지 않게 하여 주십시오
  962. //변경요청사항 - 요청번호 2302 2009.09.22 김성희 수정
  963. var msgRsltValue = messageBox("입력한 결과는 이전결과와 다름니다.","Q002"); //메세지에서 선택한 값. - 저장 하시겠습니까 ? 예-6, 아니오-7
  964. //예
  965. if(msgRsltValue == "6"){
  966. return "Y";
  967. //아니오
  968. }else if(msgRsltValue == "7"){
  969. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt", "");
  970. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt", "");
  971. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/reptrslt", "");
  972. return "N";
  973. }
  974. }
  975. }
  976. }
  977. function fCompareCellAnti(type, row){
  978. var tclscd = model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/tclscd");
  979. if(tclscd != "LBR002" && type == 1 && model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").replace("+","").replace(" Negative","").toUpperCase() !=
  980. model.getValue("/root/main/TestInfo/getTestInfoCnts["+(row+1)+"]/reptrslt").toUpperCase() &&
  981. model.getValue("/root/main/TestInfo/getTestInfoCnts["+(row+1)+"]/reptrslt") != ""){
  982. //alert("Serum Type 과 Cell Type 이 다름니다.");
  983. //alert("저장하시겠습니까?");
  984. // 변경요청번호 10083 2010-01-28 박정은
  985. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  986. grd_TestInfoCnts.cellStyle("color", (row+1), grd_TestInfoCnts.colRef("bufinptrslt"), (row+1), grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  987. var msgRsltValue = messageBox("Serum Type 과 Cell Type 이 다름니다.","Q002"); //메세지에서 선택한 값. - 저장 하시겠습니까 ? 예-6, 아니오-7
  988. if(msgRsltValue == "6"){ //예
  989. return "Y";
  990. }else if(msgRsltValue == "7"){ //아니오
  991. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt", "");
  992. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt", "");
  993. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/reptrslt", "");
  994. return "N";
  995. }
  996. }else{
  997. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#000000"; // 빨간색으로
  998. grd_TestInfoCnts.cellStyle("color", (row+1), grd_TestInfoCnts.colRef("bufinptrslt"), (row+1), grd_TestInfoCnts.colRef("reptrslt")) = "#000000"; // 빨간색으로
  999. }
  1000. /*alert(model.getXPathValue("position(/root/main/TestInfo/getTestInfoCnts[tclscd = 'LBR101' and bcno = 'I23R90040'])"));
  1001. alert(model.getXPathValue("row(/root/main/TestInfo/getTestInfoCnts[testcd = 'LBR100'])"));
  1002. alert(model.getXPathValue("position(/root/main/TestInfo/getTestInfoCnts[testcd = 'LBR101' and bcno = 'I23R90040'])"));
  1003. alert(model.getXPathValue("position(/root/main/TestInfo/getTestInfoCnts[testcd = 'LBR102' and bcno = 'I23R90040'])"));*/
  1004. if(type == 2 && model.getValue("/root/main/TestInfo/getTestInfoCnts["+(row-1)+"]/reptrslt").replace("+","").replace(" Negative","").toUpperCase() !=
  1005. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt").toUpperCase() &&
  1006. model.getValue("/root/main/TestInfo/getTestInfoCnts["+(row-1)+"]/reptrslt") != ""){
  1007. //alert("Serum Type 과 Cell Type 이 다름니다.");
  1008. //alert("저장하시겠습니까?");
  1009. // 변경요청번호 10083 2010-01-28 박정은
  1010. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  1011. grd_TestInfoCnts.cellStyle("color", (row-1), grd_TestInfoCnts.colRef("bufinptrslt"), (row-1), grd_TestInfoCnts.colRef("reptrslt")) = "#EE0000"; // 빨간색으로
  1012. var msgRsltValue = messageBox("Serum Type 과 Cell Type 이 다름니다.","Q002"); //메세지에서 선택한 값. - 저장 하시겠습니까 ? 예-6, 아니오-7
  1013. if(msgRsltValue == "6"){ //예
  1014. return "Y";
  1015. }else if(msgRsltValue == "7"){ //아니오
  1016. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/inptrslt", "");
  1017. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt", "");
  1018. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/reptrslt", "");
  1019. return "N";
  1020. }
  1021. }else{
  1022. grd_TestInfoCnts.cellStyle("color", row, grd_TestInfoCnts.colRef("bufinptrslt"), row, grd_TestInfoCnts.colRef("reptrslt")) = "#000000"; // 빨간색으로
  1023. grd_TestInfoCnts.cellStyle("color", (row-1), grd_TestInfoCnts.colRef("bufinptrslt"), (row-1), grd_TestInfoCnts.colRef("reptrslt")) = "#000000"; // 빨간색으로
  1024. }
  1025. }
  1026. function fposneg(blodtype){
  1027. var row = grd_TestInfoCnts.row;
  1028. var retrunValue = "Y";
  1029. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") != model.getValue("/root/init/LB1301[etc01= '100']/cd") &&
  1030. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") != model.getValue("/root/init/LB1301[etc01= '101']/cd")){
  1031. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" , blodtype);
  1032. retrunValue = fCompareOldData(row);
  1033. if(retrunValue == "N"){
  1034. return;
  1035. }
  1036. fBlodTypeIns();
  1037. }
  1038. grd_TestInfoCnts.row= row;
  1039. var nextRow = row;
  1040. do{
  1041. nextRow = nextRow+1;
  1042. }while(grd_TestInfoCnts.rowHidden(nextRow) == true)
  1043. grd_TestInfoCnts.row = nextRow;
  1044. }
  1045. function grd_TestInfoCntsClick(){
  1046. var row = grd_TestInfoCnts.row;
  1047. var col = grd_TestInfoCnts.col;
  1048. //Rh 검사코드 row 찾기
  1049. var findRowRH = grd_TestInfoCnts.findRow(model.getValue("/root/init/LB1301[etc01= '102']/cd"), row, grd_TestInfoCnts.colRef("testcd"), true, true);
  1050. if(row < 1) return;
  1051. if(grd_TestInfoCnts.isCell(event.target) && grd_TestInfoCnts.row >= grd_TestInfoCnts.fixedRows ){
  1052. if(col == grd_TestInfoCnts.colRef("selchk")){
  1053. var vSelValue = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/selchk/@value");
  1054. if(vSelValue == "") return;
  1055. vSelValue = (vSelValue=="true") ? "false": "true";
  1056. grd_TestInfoCnts.cellstyle("background-image", row, grd_TestInfoCnts.colRef("selchk")) = "../../../lis/commonweb/images/chkRPT" + ((vSelValue=="true") ? "1": "0") + ".gif";
  1057. grd_TestInfoCnts.cellstyle("background-position", row, grd_TestInfoCnts.colRef("selchk")) = "center";
  1058. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/selchk/@value",vSelValue);
  1059. //RH 체크하기
  1060. if(model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '100']/cd") ||
  1061. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/testcd") == model.getValue("/root/init/LB1301[etc01= '103']/cd")){
  1062. //model.setvalue("/root/main/TestInfo/getTestInfoCnts["+(row+2)+"]/selchk/@value",vSelValue);
  1063. var vSelValue = model.getvalue("/root/main/TestInfo/getTestInfoCnts["+row+"]/selchk/@value");
  1064. model.setvalue("/root/main/TestInfo/getTestInfoCnts["+findRowRH+"]/selchk/@value",vSelValue); //cell typing 이 체크되면 rh도 체크
  1065. }
  1066. }
  1067. }
  1068. }
  1069. function fmom(mom){
  1070. var row = grd_TestInfoCnts.row;
  1071. var retrunValue = "Y";
  1072. model.setValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt" ,
  1073. model.getValue("/root/main/TestInfo/getTestInfoCnts["+row+"]/bufinptrslt") + mom);
  1074. retrunValue = fCompareOldData(row);
  1075. if(retrunValue == "N"){
  1076. return;
  1077. }
  1078. fBlodTypeIns();
  1079. grd_TestInfoCnts.row= row;
  1080. }
  1081. ]]>
  1082. </script>
  1083. </xhtml:head>
  1084. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1085. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  1086. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  1087. <button id="btn_save" class="btn4_letter4" visibility="hidden" style="left:854px; top:3px; width:80px; height:22px; ">
  1088. <caption>결과저장</caption>
  1089. <script type="javascript" ev:event="onclick">
  1090. <![CDATA[
  1091. i = fInsRsltSave();
  1092. if(i != 0) {
  1093. fOnclick_btnRef();
  1094. }
  1095. ]]>
  1096. </script>
  1097. </button>
  1098. <button id="btn_mdlrept" class="btn4_letter4" style="left:962px; top:3px; width:80px; height:22px; ">
  1099. <caption>예비결과</caption>
  1100. <script type="javascript" ev:event="onclick">
  1101. <![CDATA[
  1102. i = fSetMdlRept();
  1103. if(i != 0) {
  1104. fOnclick_btnRef();
  1105. }
  1106. ]]>
  1107. </script>
  1108. </button>
  1109. <button id="btn_lstrept" class="btn4_letter4" style="left:1044px; top:3px; width:80px; height:22px; ">
  1110. <caption>최종보고</caption>
  1111. <script type="javascript" ev:event="onclick">
  1112. <![CDATA[
  1113. i = fSetLstRept();
  1114. if(i != 0) {
  1115. fOnclick_btnRef();
  1116. }
  1117. ]]>
  1118. </script>
  1119. </button>
  1120. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  1121. <caption>초기화</caption>
  1122. <script type="javascript" ev:event="onclick">
  1123. <![CDATA[
  1124. fSetInit(1);
  1125. ]]>
  1126. </script>
  1127. </button>
  1128. </group>
  1129. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  1130. <caption id="caption17" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">혈액은행 검사항목별결과관리</caption>
  1131. </group>
  1132. <group id="group4" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  1133. <line id="line2" class="line_1" style="x1:0px; y1:95px; x2:990px; y2:95px; "/>
  1134. <caption id="caption6" class="tit_2" style="left:5px; top:80px; width:134px; height:14px; ">검사항목내역</caption>
  1135. <button id="button20" class="btn2_letter2" style="left:945px; top:75px; width:42px; height:19px; ">
  1136. <caption>엑셀</caption>
  1137. <script type="javascript" ev:event="onclick">
  1138. <![CDATA[
  1139. //addData();
  1140. //datagrid1.saveExcel();
  1141. var fileName = window.fileDialog("save", ",", false, "검사항목별결과관리", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  1142. if (fileName != "")
  1143. {
  1144. grd_TestInfoCnts.saveExcel(fileName);
  1145. }
  1146. ]]>
  1147. </script>
  1148. </button>
  1149. <group id="group5" style="left:0px; top:10px; width:1195px; height:60px; ">
  1150. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:60px; "/>
  1151. <button id="button21" class="btn1_letter2" style="left:1123px; top:31px; width:56px; height:22px; ">
  1152. <caption>조회</caption>
  1153. <script type="javascript" ev:event="DOMActivate">
  1154. <![CDATA[
  1155. fOnclick_btnRef();
  1156. ]]>
  1157. </script>
  1158. </button>
  1159. <line id="line3" class="line_4" style="x1:1078px; y1:31px; x2:1078px; y2:53px; "/>
  1160. <select id="checkbox4" ref="/root/hidden/searchflag/rsltstat0" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:108px; top:36px; width:81px; height:13px; border-style:none; ">
  1161. <choices>
  1162. <item>
  1163. <label>결과미입력</label>
  1164. <value>1</value>
  1165. </item>
  1166. </choices>
  1167. <script type="javascript" ev:event="xforms-value-changed">
  1168. <![CDATA[
  1169. fRstGbn_XForms_Value_Changed("0");
  1170. ]]>
  1171. </script>
  1172. </select>
  1173. <caption id="caption10" class="search_name" style="left:364px; top:9px; width:90px; height:17px; ">작업일자 :</caption>
  1174. <caption id="caption11" class="search_no_b" style="left:542px; top:10px; width:12px; height:17px; ">~</caption>
  1175. <caption id="caption12" class="search_name" style="left:653px; top:9px; width:90px; height:17px; ">작업번호 :</caption>
  1176. <input id="input5" ref="/root/hidden/searchflag/startdd" class="input_search" inputtype="date" style="left:454px; top:8px; width:85px; height:19px; "/>
  1177. <caption id="caption13" class="search_no_b" style="left:818px; top:10px; width:12px; height:17px; ">~</caption>
  1178. <input id="input6" ref="/root/hidden/searchflag/enddd" class="input_search" inputtype="date" style="left:558px; top:8px; width:85px; height:19px; "/>
  1179. <caption id="caption14" class="search_name" style="left:15px; top:34px; width:90px; height:17px; ">결과구분 :</caption>
  1180. <input id="input7" ref="/root/hidden/searchflag/sworkseq" class="input_search" style="left:741px; top:8px; width:70px; height:19px; "/>
  1181. <input id="input8" ref="/root/hidden/searchflag/eworkseq" class="input_search" style="left:836px; top:8px; width:70px; height:19px; "/>
  1182. <caption id="caption15" class="search_name" style="left:364px; top:34px; width:90px; height:17px; ">검사항목 :</caption>
  1183. <button id="button22" class="icon_search" style="left:1016px; top:32px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  1184. <caption/>
  1185. <script type="javascript" ev:event="DOMActivate">
  1186. <![CDATA[
  1187. modal("SMLLF90400", "", "", "", "", "/root/hidden/ref/tclscdlist/testgrup", "/root/hidden/tclscdlist/testgrup");
  1188. ]]>
  1189. </script>
  1190. </button>
  1191. <input id="input9" ref="/root/hidden/ref/tclscdlist/tclsnmlist" class="input_search" style="left:575px; top:33px; width:434px; height:19px; "/>
  1192. <select id="checkbox5" ref="/root/hidden/searchflag/rsltstat1" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:190px; top:36px; width:69px; height:13px; border-style:none; ">
  1193. <choices>
  1194. <item>
  1195. <label>결과입력</label>
  1196. <value>1</value>
  1197. </item>
  1198. </choices>
  1199. <script type="javascript" ev:event="xforms-value-changed">
  1200. <![CDATA[
  1201. fRstGbn_XForms_Value_Changed("1");
  1202. ]]>
  1203. </script>
  1204. </select>
  1205. <select id="checkbox6" ref="/root/hidden/searchflag/rsltstat2" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:259px; top:36px; width:86px; height:13px; border-style:none; ">
  1206. <choices>
  1207. <item>
  1208. <label>최종보고</label>
  1209. <value>1</value>
  1210. </item>
  1211. </choices>
  1212. <script type="javascript" ev:event="xforms-value-changed">
  1213. <![CDATA[
  1214. fRstGbn_XForms_Value_Changed("2");
  1215. ]]>
  1216. </script>
  1217. </select>
  1218. <select1 id="combo1" ref="/root/hidden/ref/tclscdlist/testgrup" class="combo_search" appearance="minimal" style="left:454px; top:33px; width:118px; height:19px; ">
  1219. <choices>
  1220. <itemset nodeset="/root/init/LB0103">
  1221. <label ref="nm"/>
  1222. <value ref="cd"/>
  1223. </itemset>
  1224. </choices>
  1225. <script type="javascript" ev:event="xforms-value-changed">
  1226. <![CDATA[
  1227. fSelectTestGrup();
  1228. ]]>
  1229. </script>
  1230. </select1>
  1231. <input id="ipt_testpsn" ref="/root/hidden/refflag/userid" class="input_essential" style="left:1018px; top:7px; width:76px; height:19px; ">
  1232. <script type="javascript" ev:event="onkeyup">
  1233. <![CDATA[
  1234. if(event.keyCode == "13"){
  1235. model.setvalue("/root/hidden/refflag/userid", ipt_testpsn.currentText);
  1236. model.refresh();
  1237. fUserNMRef();
  1238. ipt_testpsn.selBegin = 0;
  1239. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  1240. }
  1241. ]]>
  1242. </script>
  1243. </input>
  1244. <output id="output1" ref="/root/main/getUsernm/usernm" class="output_fix" style="left:1096px; top:7px; width:82px; height:19px; "/>
  1245. <caption id="caption16" class="tit_2" style="left:938px; top:10px; width:66px; height:13px; ">검사자 :</caption>
  1246. <caption id="caption18" class="search_name" style="left:15px; top:9px; width:90px; height:17px; ">등록번호 :</caption>
  1247. <input id="input11" ref="/root/hidden/searchflag/searchtext" class="input_button" navindex="1" inputtype="button" style="left:213px; top:8px; width:137px; height:19px; ">
  1248. <script type="javascript" ev:event="onbuttonclick">
  1249. <![CDATA[
  1250. fOnclick_btnRef();
  1251. ]]>
  1252. </script>
  1253. <script type="javascript" ev:event="onkeydown">
  1254. <![CDATA[
  1255. if(event.keyCode == "13"){
  1256. model.setvalue("/root/hidden/searchflag/searchtext", input11.currentText);
  1257. model.refresh();
  1258. fOnclick_btnRef();
  1259. }
  1260. ]]>
  1261. </script>
  1262. </input>
  1263. <select1 id="combo3" ref="/root/hidden/searchflag/searchtype" class="combo_search" appearance="minimal" style="left:109px; top:8px; width:100px; height:19px; ">
  1264. <choices>
  1265. <item>
  1266. <label>전체</label>
  1267. <value>0</value>
  1268. </item>
  1269. <item>
  1270. <label>환자명</label>
  1271. <value>1</value>
  1272. </item>
  1273. <item>
  1274. <label>등록번호</label>
  1275. <value>2</value>
  1276. </item>
  1277. <item>
  1278. <label>바코드번호</label>
  1279. <value>3</value>
  1280. </item>
  1281. </choices>
  1282. </select1>
  1283. </group>
  1284. <button id="button23" class="btn2_letter6" visibility="hidden" style="left:1097px; top:488px; width:86px; height:19px; ">
  1285. <caption>B - Cell</caption>
  1286. <script type="javascript" ev:event="onclick">
  1287. <![CDATA[
  1288. fcellclick("B-Cell");
  1289. ]]>
  1290. </script>
  1291. </button>
  1292. <button id="button24" class="btn2_letter2" visibility="hidden" style="left:1052px; top:395px; width:42px; height:19px; ">
  1293. <caption>B</caption>
  1294. <script type="javascript" ev:event="onclick">
  1295. <![CDATA[
  1296. fBlodTypeClick("B");
  1297. ]]>
  1298. </script>
  1299. </button>
  1300. <button id="button25" class="btn2_letter6" visibility="hidden" style="left:1097px; top:511px; width:86px; height:19px; ">
  1301. <caption>Negative</caption>
  1302. <script type="javascript" ev:event="onclick">
  1303. <![CDATA[
  1304. fposneg("Negative");
  1305. ]]>
  1306. </script>
  1307. </button>
  1308. <shape id="roundrect4" class="roundrect_btnset" appearance="roundrect" style="left:1000px; top:100px; width:190px; height:438px; "/>
  1309. <button id="button26" class="btn2_letter2" visibility="hidden" style="left:1097px; top:395px; width:42px; height:19px; ">
  1310. <caption>O</caption>
  1311. <script type="javascript" ev:event="onclick">
  1312. <![CDATA[
  1313. fBlodTypeClick("O");
  1314. ]]>
  1315. </script>
  1316. </button>
  1317. <button id="button27" class="btn2_letter6" visibility="hidden" style="left:1007px; top:511px; width:86px; height:19px; ">
  1318. <caption>Positive</caption>
  1319. <script type="javascript" ev:event="onclick">
  1320. <![CDATA[
  1321. fposneg("Positive");
  1322. ]]>
  1323. </script>
  1324. </button>
  1325. <button id="button28" class="btn2_letter2" visibility="hidden" style="left:1142px; top:395px; width:42px; height:19px; ">
  1326. <caption>AB</caption>
  1327. <script type="javascript" ev:event="onclick">
  1328. <![CDATA[
  1329. fBlodTypeClick("AB");
  1330. ]]>
  1331. </script>
  1332. </button>
  1333. <button id="button29" class="btn2_letter2" visibility="hidden" style="left:1142px; top:370px; width:42px; height:19px; ">
  1334. <caption>-</caption>
  1335. <script type="javascript" ev:event="onclick">
  1336. <![CDATA[
  1337. fBlodNegative();
  1338. ]]>
  1339. </script>
  1340. </button>
  1341. <button id="button30" class="btn2_letter6" visibility="hidden" style="left:1007px; top:419px; width:86px; height:19px; ">
  1342. <caption>Anti - A</caption>
  1343. <script type="javascript" ev:event="onclick">
  1344. <![CDATA[
  1345. fAnticlick("Anti-A");
  1346. ]]>
  1347. </script>
  1348. </button>
  1349. <button id="button31" class="btn2_letter6" visibility="hidden" style="left:1097px; top:419px; width:86px; height:19px; ">
  1350. <caption>Anti - B</caption>
  1351. <script type="javascript" ev:event="onclick">
  1352. <![CDATA[
  1353. fAnticlick("Anti-B");
  1354. ]]>
  1355. </script>
  1356. </button>
  1357. <button id="button32" class="btn2_letter2" visibility="hidden" style="left:1052px; top:442px; width:42px; height:19px; ">
  1358. <caption>±</caption>
  1359. <script type="javascript" ev:event="onclick">
  1360. <![CDATA[
  1361. fpuls(" (±)");
  1362. ]]>
  1363. </script>
  1364. </button>
  1365. <button id="button33" class="btn2_letter2" visibility="hidden" style="left:1007px; top:442px; width:42px; height:19px; ">
  1366. <caption>-</caption>
  1367. <script type="javascript" ev:event="onclick">
  1368. <![CDATA[
  1369. fpuls(" (-)");
  1370. ]]>
  1371. </script>
  1372. </button>
  1373. <button id="button34" class="btn2_letter2" visibility="hidden" style="left:1052px; top:465px; width:42px; height:19px; ">
  1374. <caption>++</caption>
  1375. <script type="javascript" ev:event="onclick">
  1376. <![CDATA[
  1377. fpuls(" (2+)");
  1378. ]]>
  1379. </script>
  1380. </button>
  1381. <button id="button35" class="btn2_letter2" visibility="hidden" style="left:1097px; top:465px; width:42px; height:19px; ">
  1382. <caption>+++</caption>
  1383. <script type="javascript" ev:event="onclick">
  1384. <![CDATA[
  1385. fpuls(" (3+)");
  1386. ]]>
  1387. </script>
  1388. </button>
  1389. <button id="button36" class="btn2_letter2" visibility="hidden" style="left:1007px; top:395px; width:42px; height:19px; ">
  1390. <caption>A</caption>
  1391. <script type="javascript" ev:event="onclick">
  1392. <![CDATA[
  1393. fBlodTypeClick("A");
  1394. ]]>
  1395. </script>
  1396. </button>
  1397. <button id="button37" class="btn2_letter2" visibility="hidden" style="left:1142px; top:465px; width:42px; height:19px; ">
  1398. <caption>++++</caption>
  1399. <script type="javascript" ev:event="onclick">
  1400. <![CDATA[
  1401. fpuls(" (4+)");
  1402. ]]>
  1403. </script>
  1404. </button>
  1405. <button id="button38" class="btn2_letter2" visibility="hidden" style="left:1007px; top:465px; width:42px; height:19px; ">
  1406. <caption>+</caption>
  1407. <script type="javascript" ev:event="onclick">
  1408. <![CDATA[
  1409. fpuls(" (1+)");
  1410. ]]>
  1411. </script>
  1412. </button>
  1413. <button id="button39" class="btn2_letter6" visibility="hidden" style="left:1007px; top:488px; width:86px; height:19px; ">
  1414. <caption>A - Cell</caption>
  1415. <script type="javascript" ev:event="onclick">
  1416. <![CDATA[
  1417. fcellclick("A-Cell");
  1418. ]]>
  1419. </script>
  1420. </button>
  1421. <datagrid id="grd_TestInfoCnts" nodeset="/root/main/TestInfo/getTestInfoCnts" class="datagrid2" backcoloralternate="transparent" caption="Seq^^작업번호^바코드번호^등록번호^성명^검사항목명^결과^결과^공여자^검사자^이전결과^이전검사자^이전결과일시^전문의^확인일시^Comment" colsep="▦" colwidth="30, 23, 120, 90, 80, 70, 180, 80, 80, 80, 80, 80, 80, 125, 80, 125, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" fixedcols="2" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="32" rowsep="▩" selectionmode="free" tooltip="true" style="left:0px; top:100px; width:990px; height:615px; ">
  1422. <col ref="num" type="output" style="text-align:right; "/>
  1423. <col ref="selchk" type="output" style="background-image:../../../lis/commonweb/images/chkRPT0.gif; background-position:center; "/>
  1424. <col ref="workno2" type="output"/>
  1425. <col ref="bcno2" type="output"/>
  1426. <col ref="pid2" type="output"/>
  1427. <col ref="patnm2" type="output"/>
  1428. <col ref="testnm" type="output"/>
  1429. <col ref="bufinptrslt" type="input"/>
  1430. <col ref="reptrslt" type="output"/>
  1431. <col ref="dnor" type="output"/>
  1432. <col ref="rstnm" type="output"/>
  1433. <col ref="bfreptrslt" type="output"/>
  1434. <col ref="bfrstnm" type="output"/>
  1435. <col ref="bflastreptdt" type="output" format="yyyy-mm-dd hh:nn:ss"/>
  1436. <col ref="medispclnm" type="output"/>
  1437. <col ref="medispcldt" type="output" format="yyyy-mm-dd hh:nn:ss"/>
  1438. <col ref="testcmt" type="output"/>
  1439. <col ref="workno" visibility="hidden"/>
  1440. <col ref="bcno" visibility="hidden"/>
  1441. <col ref="pid" visibility="hidden"/>
  1442. <col ref="patnm" visibility="hidden"/>
  1443. <col ref="testcd" visibility="hidden"/>
  1444. <col ref="inptrslt" visibility="hidden"/>
  1445. <col ref="rsltseq" visibility="hidden"/>
  1446. <col ref="tclskind" visibility="hidden"/>
  1447. <col ref="testlrgkind" visibility="hidden"/>
  1448. <col ref="spccd" visibility="hidden"/>
  1449. <col ref="inptrslt" visibility="hidden"/>
  1450. <script type="javascript" ev:event="onclick">
  1451. <![CDATA[
  1452. grd_TestInfoCntsClick();
  1453. ]]>
  1454. </script>
  1455. <script type="javascript" ev:event="onkeypress">
  1456. <![CDATA[
  1457. fGridKeyEvent();
  1458. ]]>
  1459. </script>
  1460. </datagrid>
  1461. <button id="button1" class="btn2_letter2" visibility="hidden" style="left:1142px; top:442px; width:42px; height:19px; ">
  1462. <caption>Mom</caption>
  1463. <script type="javascript" ev:event="onclick">
  1464. <![CDATA[
  1465. fmom(" (Mom)");
  1466. ]]>
  1467. </script>
  1468. </button>
  1469. <button id="button2" class="btn2_letter6" visibility="hidden" style="left:1007px; top:370px; width:86px; height:19px; ">
  1470. <caption>Weak D</caption>
  1471. <script type="javascript" ev:event="onclick">
  1472. <![CDATA[
  1473. fBlodWeakD();
  1474. ]]>
  1475. </script>
  1476. </button>
  1477. <button id="button3" style="left:1008px; top:290px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis2.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1478. <caption>Positive</caption>
  1479. <script type="javascript" ev:event="onclick">
  1480. <![CDATA[
  1481. fposneg("Positive");
  1482. ]]>
  1483. </script>
  1484. </button>
  1485. <button id="button4" style="left:1008px; top:170px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1486. <caption>Anti - A</caption>
  1487. <script type="javascript" ev:event="onclick">
  1488. <![CDATA[
  1489. fAnticlick("Anti-A");
  1490. ]]>
  1491. </script>
  1492. </button>
  1493. <button id="button5" style="left:1096px; top:290px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1494. <caption>Negative</caption>
  1495. <script type="javascript" ev:event="onclick">
  1496. <![CDATA[
  1497. fposneg("Negative");
  1498. ]]>
  1499. </script>
  1500. </button>
  1501. <button id="button6" style="left:1096px; top:170px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1502. <caption>Anti - B</caption>
  1503. <script type="javascript" ev:event="onclick">
  1504. <![CDATA[
  1505. fAnticlick("Anti-B");
  1506. ]]>
  1507. </script>
  1508. </button>
  1509. <button id="button7" style="left:1008px; top:110px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1510. <caption>Weak D</caption>
  1511. <script type="javascript" ev:event="onclick">
  1512. <![CDATA[
  1513. fBlodWeakD();
  1514. ]]>
  1515. </script>
  1516. </button>
  1517. <button id="button8" style="left:1052px; top:200px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1518. <caption>±</caption>
  1519. <script type="javascript" ev:event="onclick">
  1520. <![CDATA[
  1521. fpuls(" (±)");
  1522. ]]>
  1523. </script>
  1524. </button>
  1525. <button id="button9" style="left:1008px; top:200px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1526. <caption>-</caption>
  1527. <script type="javascript" ev:event="onclick">
  1528. <![CDATA[
  1529. fpuls(" (-)");
  1530. ]]>
  1531. </script>
  1532. </button>
  1533. <button id="button40" style="left:1140px; top:110px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1534. <caption>-</caption>
  1535. <script type="javascript" ev:event="onclick">
  1536. <![CDATA[
  1537. fBlodNegative();
  1538. ]]>
  1539. </script>
  1540. </button>
  1541. <button id="button10" style="left:1008px; top:260px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1542. <caption>A - Cell</caption>
  1543. <script type="javascript" ev:event="onclick">
  1544. <![CDATA[
  1545. fcellclick("A-Cell");
  1546. ]]>
  1547. </script>
  1548. </button>
  1549. <button id="button11" style="left:1140px; top:200px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1550. <caption>Mom</caption>
  1551. <script type="javascript" ev:event="onclick">
  1552. <![CDATA[
  1553. fmom(" (Mom)");
  1554. ]]>
  1555. </script>
  1556. </button>
  1557. <button id="button12" style="left:1052px; top:230px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1558. <caption>++</caption>
  1559. <script type="javascript" ev:event="onclick">
  1560. <![CDATA[
  1561. fpuls(" (2+)");
  1562. ]]>
  1563. </script>
  1564. </button>
  1565. <button id="button13" style="left:1008px; top:230px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1566. <caption>+</caption>
  1567. <script type="javascript" ev:event="onclick">
  1568. <![CDATA[
  1569. fpuls(" (1+)");
  1570. ]]>
  1571. </script>
  1572. </button>
  1573. <button id="button14" style="left:1052px; top:140px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1574. <caption>B</caption>
  1575. <script type="javascript" ev:event="onclick">
  1576. <![CDATA[
  1577. fBlodTypeClick("B");
  1578. ]]>
  1579. </script>
  1580. </button>
  1581. <button id="button15" style="left:1096px; top:230px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1582. <caption>+++</caption>
  1583. <script type="javascript" ev:event="onclick">
  1584. <![CDATA[
  1585. fpuls(" (3+)");
  1586. ]]>
  1587. </script>
  1588. </button>
  1589. <button id="button16" style="left:1008px; top:140px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1590. <caption>A</caption>
  1591. <script type="javascript" ev:event="onclick">
  1592. <![CDATA[
  1593. fBlodTypeClick("A");
  1594. ]]>
  1595. </script>
  1596. </button>
  1597. <button id="button17" style="left:1140px; top:230px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1598. <caption>++++</caption>
  1599. <script type="javascript" ev:event="onclick">
  1600. <![CDATA[
  1601. fpuls(" (4+)");
  1602. ]]>
  1603. </script>
  1604. </button>
  1605. <button id="button18" style="left:1096px; top:140px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1606. <caption>O</caption>
  1607. <script type="javascript" ev:event="onclick">
  1608. <![CDATA[
  1609. fBlodTypeClick("O");
  1610. ]]>
  1611. </script>
  1612. </button>
  1613. <button id="button19" style="left:1096px; top:260px; width:86px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1614. <caption>B - Cell</caption>
  1615. <script type="javascript" ev:event="onclick">
  1616. <![CDATA[
  1617. fcellclick("B-Cell");
  1618. ]]>
  1619. </script>
  1620. </button>
  1621. <button id="button41" style="left:1140px; top:140px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1622. <caption>AB</caption>
  1623. <script type="javascript" ev:event="onclick">
  1624. <![CDATA[
  1625. fBlodTypeClick("AB");
  1626. ]]>
  1627. </script>
  1628. </button>
  1629. </group>
  1630. <group id="Group_idChk" style="left:466px; top:240px; width:280px; height:165px; background-color:#ff99cc; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1631. <caption id="caption9" style="left:19px; top:19px; width:242px; height:70px; font-size:18pt; font-weight:bold; ">검사자를 입력하세요</caption>
  1632. <textarea id="ID_txt" overflow="hidden" style="left:34px; top:89px; width:195px; height:55px; font-size:22pt; ">
  1633. <script type="javascript" ev:event="onkeypress">
  1634. <![CDATA[
  1635. if(event.keyCode == "13"){
  1636. var I_txt = ID_txt.currentText;
  1637. model.setValue("/root/hidden/refflag/userid",I_txt);
  1638. model.setValue("/root/hidden/refflag/userid", model.getvalue("/root/hidden/refflag/userid").replace("\n", ""));
  1639. model.refresh();
  1640. fUserNMRef();
  1641. if(model.getValue("/root/main/getUsernm/usernm") == ""){
  1642. }else{
  1643. Group_idChk.visible = false;
  1644. group4.disabled = false;
  1645. }
  1646. }
  1647. ]]>
  1648. </script>
  1649. </textarea>
  1650. <button id="button44" style="left:232px; top:119px; width:42px; height:25px; font-size:8pt; font-weight:bold; color:#003399; text-align:center; background-image:../../../lis\commonweb\images\btn_lis.gif; background-repeat:no-repeat; background-stretch:stretch; ">
  1651. <caption>닫기</caption>
  1652. <script type="javascript" ev:event="onclick">
  1653. <![CDATA[
  1654. Group_idChk.visible = false;
  1655. ]]>
  1656. </script>
  1657. </button>
  1658. </group>
  1659. </xhtml:body>
  1660. </xhtml:html>