SMLBT80200_혈액준비관리상세.xrw 98 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBT80200_혈액준비관리상세.xrw
  4. * 설 명 : 혈액준비관리상세
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 박정은
  7. * 작 성 일 : 2007.06.14
  8. * 수정이력 : 2007.10.20 장현식 선생님 요청
  9. - 등록번호를 반드시 입력해야지만 준비완료 할 수 있게 수정
  10. - 준비완료
  11. - 신청취소 접수취소 합치기
  12. 2009.07.29 장현식 선생님 요청 (변경요청번호 1951)
  13. - 보관검체가 없는경우(보관검체등록안된것) 메시지 출력
  14. * 기 타 : 111
  15. -->
  16. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  17. <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">
  18. <xhtml:head>
  19. <xhtml:title>혈액준비관리상세</xhtml:title>
  20. <model id="model1">
  21. <instance id="instance1">
  22. <root xmlns="">
  23. <main>
  24. <getblodprcplist>
  25. <pid/>
  26. <patnm/>
  27. <tclsscrnnm/>
  28. <abo/>
  29. <iryn/>
  30. <no/>
  31. <erprcpflag/>
  32. <prcphopedd/>
  33. <tnsreqacptdt/>
  34. <h/>
  35. <blodcomcd/>
  36. <blodbarcd/>
  37. <tnsreqacptno/>
  38. <prcperflag/>
  39. <prcpgenrflag/>
  40. <keep/>
  41. <prcpdd/>
  42. <abrnblodyn/>
  43. <kabo/>
  44. <keepspcno/>
  45. <orddeptnm/>
  46. <dnorcnt/>
  47. <wbcnt/>
  48. <prcpremfact/>
  49. <jjno/>
  50. </getblodprcplist>
  51. <getbloodinfo>
  52. <getblooddetllist>
  53. <prcphopedd/>
  54. <blodcomnm/>
  55. <aborh/>
  56. <iryn/>
  57. <reqqty/>
  58. <cno/>
  59. <tclsnmabbr/>
  60. <blodcomcd/>
  61. <tnsreqacptno/>
  62. <blodbarcd/>
  63. </getblooddetllist>
  64. <getpatinfo>
  65. <pid/>
  66. <patnm/>
  67. <sexage/>
  68. <rstno/>
  69. <prcpgenrflag/>
  70. <orddeptnm/>
  71. <wardroom/>
  72. <aborh/>
  73. <orddrnm/>
  74. <reqqnt/>
  75. <blodcomcd/>
  76. <f1/>
  77. <f2/>
  78. <f3/>
  79. <abrnblodyn/>
  80. <tnssideeffect/>
  81. </getpatinfo>
  82. <getpatcmt>
  83. <rgstdt/>
  84. <patcmt/>
  85. </getpatcmt>
  86. <getbloodinfo>
  87. <ast/>
  88. <id>ANTI - I</id>
  89. <coomsd>NEGATIVE</coomsd>
  90. <coomsid>POSITIVE (+)</coomsid>
  91. </getbloodinfo>
  92. <getbloodinfo>
  93. <ast>2007-07-10</ast>
  94. <id>2007-07-10</id>
  95. <coomsd>2007-07-10</coomsd>
  96. <coomsid>2007-07-10</coomsid>
  97. </getbloodinfo>
  98. <blodrslthistory>
  99. <rsltdd>20070505</rsltdd>
  100. <rsltval>A+</rsltval>
  101. </blodrslthistory>
  102. <blodrslthistory>
  103. <rsltdd>20070309</rsltdd>
  104. <rsltval>A+</rsltval>
  105. </blodrslthistory>
  106. <blodrslthistory>
  107. <rsltdd>20070204</rsltdd>
  108. <rsltval>A+</rsltval>
  109. </blodrslthistory>
  110. <blodrslthistory>
  111. <rsltdd>20070110</rsltdd>
  112. <rsltval>A+</rsltval>
  113. </blodrslthistory>
  114. <blodrslthistory>
  115. <rsltdd>20061109</rsltdd>
  116. <rsltval>A+</rsltval>
  117. </blodrslthistory>
  118. <blodrslthistory>
  119. <rsltdd>20061020</rsltdd>
  120. <rsltval>A+</rsltval>
  121. </blodrslthistory>
  122. <blodrslthistory>
  123. <rsltdd>20060907</rsltdd>
  124. <rsltval>A+</rsltval>
  125. </blodrslthistory>
  126. <getcomment/>
  127. <getbloodcom>
  128. <blodcomnm/>
  129. <fromno/>
  130. <tono/>
  131. <pcnt/>
  132. <blodcomcd/>
  133. </getbloodcom>
  134. <getblodinfolist>
  135. <dt/>
  136. <rslt/>
  137. <tclsnm/>
  138. <testcd/>
  139. <unit/>
  140. </getblodinfolist>
  141. <getblodinforslt>
  142. <row>
  143. <a1/>
  144. </row>
  145. <row>
  146. <a1/>
  147. </row>
  148. <hearder/>
  149. </getblodinforslt>
  150. <blodrslthistory>
  151. <rsltdt/>
  152. <rslt/>
  153. </blodrslthistory>
  154. <getASTRsltYN>
  155. <astrsltyn/>
  156. </getASTRsltYN>
  157. </getbloodinfo>
  158. <gettestpsnnm>
  159. <testpsnnm/>
  160. </gettestpsnnm>
  161. <blod>
  162. <getprepbloodlist>
  163. <chk/>
  164. <pno/>
  165. <blodno/>
  166. <blodcomnm/>
  167. <abo/>
  168. <iryn/>
  169. <prepdt/>
  170. <blodcomcd/>
  171. <blodbarcd/>
  172. <blodstat/>
  173. <blodcmt/>
  174. <pid/>
  175. <tnsreqacptno/>
  176. <prcpblodbarcd/>
  177. <prcpblodcomcd/>
  178. <testpsnid/>
  179. <tnsreqacptno/>
  180. </getprepbloodlist>
  181. </blod>
  182. <temp>
  183. <getprepbloodlisth>
  184. <chk/>
  185. <pno/>
  186. <blodno/>
  187. <blodbarcd/>
  188. <blodcomcd/>
  189. <blodcomnm/>
  190. <abo/>
  191. <iryn/>
  192. <blodstat/>
  193. <validt/>
  194. <blodcmt/>
  195. <execprcpuniqno/>
  196. <tnsrpid/>
  197. <donflag/>
  198. </getprepbloodlisth>
  199. <getapntselfinfo>
  200. <blodno/>
  201. <blodbarcd/>
  202. <blodstat/>
  203. <blodkind/>
  204. <btype/>
  205. <blodcomcd/>
  206. <blodcomnm/>
  207. <tnsrpid/>
  208. <dnornm/>
  209. <dnorpid/>
  210. <execprcpuniqno/>
  211. <donflag/>
  212. </getapntselfinfo>
  213. </temp>
  214. <temp2>
  215. <getprepbloodlist>
  216. <chk/>
  217. <pno/>
  218. <blodno/>
  219. <blodbarcd/>
  220. <blodcomcd/>
  221. <blodcomnm/>
  222. <abo/>
  223. <iryn/>
  224. <prepdt/>
  225. <blodstat/>
  226. <blodcmt/>
  227. <tnsreqacptno/>
  228. </getprepbloodlist>
  229. </temp2>
  230. <barcdprntsetup>
  231. <prntsetupinfo>
  232. <setupinfo/>
  233. </prntsetupinfo>
  234. </barcdprntsetup>
  235. <temp3>
  236. <rsltlist/>
  237. </temp3>
  238. <getKeepnoBlodcnt>
  239. <bno/>
  240. <keepno/>
  241. </getKeepnoBlodcnt>
  242. <comment>
  243. <pid/>
  244. <regdd/>
  245. <cmt/>
  246. </comment>
  247. <getBMTInfo>
  248. <getBMTInfo>
  249. <pid/>
  250. <btype/>
  251. <dnorbtype/>
  252. <trnptdg/>
  253. <trnptdd/>
  254. </getBMTInfo>
  255. <getBMTInfoList>
  256. <pid/>
  257. <btype/>
  258. <dnorbtype/>
  259. <trnptdg/>
  260. </getBMTInfoList>
  261. </getBMTInfo>
  262. <getUsernm>
  263. <usernm/>
  264. </getUsernm>
  265. </main>
  266. <send>
  267. <fromdd/>
  268. <todd/>
  269. <fromtm/>
  270. <totm/>
  271. <testpsnid/>
  272. <pid/>
  273. <blodno/>
  274. <tnsreqacptno/>
  275. <spclyn/>
  276. <send/>
  277. <blodcomcd/>
  278. <gbn/>
  279. <prcpblodbarcd/>
  280. <blodcd/>
  281. <barcdflag/>
  282. <tclscd/>
  283. <erflag/>
  284. <prepend/>
  285. <prcpdd/>
  286. <iogbn/>
  287. <aborh/>
  288. <blodnolist/>
  289. <cancelflag/>
  290. <blodbarcd/>
  291. <abrnblodyn/>
  292. <dispflag/>
  293. <cmt/>
  294. <blodcmt/>
  295. <codeflag/>
  296. <clickflag/>
  297. <prcphopedd/>
  298. <acptnolist/>
  299. <prepblod/>
  300. <apntselyn/>
  301. <iryn/>
  302. <preplog/>
  303. <tnsrsrv>
  304. <pid/>
  305. <tnsreqacptno/>
  306. <blodcomcd/>
  307. <rsrvdd/>
  308. <rsrvtm/>
  309. </tnsrsrv>
  310. <bmtsearchgbn/>
  311. <prcpgenrflag/>
  312. </send>
  313. <init>
  314. <prcpinfo>
  315. <execprcpuniqno/>
  316. <prcpdd/>
  317. <instcd/>
  318. </prcpinfo>
  319. </init>
  320. <hidden>
  321. <ref>
  322. <reffromdd/>
  323. <reffromtm/>
  324. <reftodd/>
  325. <reftotm/>
  326. <testpsnid/>
  327. <testpsnnm/>
  328. <pid/>
  329. <bloodno/>
  330. <spclblood/>
  331. </ref>
  332. <prepimport/>
  333. <temp>
  334. <rsltlist/>
  335. </temp>
  336. <barcd/>
  337. <todd/>
  338. <totm/>
  339. <prepend/>
  340. <cancel>
  341. <cancelgbn/>
  342. <prepLog/>
  343. </cancel>
  344. <barcode>
  345. <barcodeinfo/>
  346. </barcode>
  347. <eventtarget/>
  348. <popupmenu>
  349. <grid>
  350. <item>
  351. <name>▶예약일시변경</name>
  352. <func>fGetTnsRsrv</func>
  353. </item>
  354. </grid>
  355. </popupmenu>
  356. <rsrvinfo>
  357. <rsrvdd/>
  358. <rsrvtm/>
  359. </rsrvinfo>
  360. <prcpremfact/>
  361. </hidden>
  362. </root>
  363. </instance>
  364. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  365. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  366. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  367. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  368. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  369. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  370. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  371. <script type="javascript" src="../../../lis/commonweb/js/HanFont24.js"/>
  372. <script type="javascript" src="../../../lis/commonweb/js/HanFont32.js"/>
  373. <script type="javascript" ev:event="xforms-ready">
  374. <![CDATA[
  375. //LIS 공통코드 조회
  376. model.setValue("/root/send/codeflag", "0122|1201|"); // 0122 수혈 반납/폐기 사유, 1201 알람소리
  377. submit("TRLZZ00101");
  378. model.setValue("/root/hidden/todd", getCurrentDate());
  379. model.setValue("/root/hidden/totm", getCurrentTime());
  380. delPatientInfos(); //환자정보 전체 삭제
  381. //바코드 OCX Object 생성
  382. lzzfMakeBrcdPrntObjHanDo("CommAX");
  383. // 그리드 전체 선택 기능
  384. grd_prepblood.fixedcellcheckbox(0,1)=true;
  385. // 간호부전송
  386. fSetNurseBtn();
  387. ]]>
  388. </script>
  389. <!-- 혈액준비-->
  390. <submission id="TXLBT10201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  391. <submission id="TRLBT10201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getblodprcplist"/>
  392. <submission id="TRLBT10202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getbloodinfo"/>
  393. <!--혈액번호 리딩-->
  394. <submission id="TRLBT10203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/temp/getprepbloodlisth"/>
  395. <submission id="TRLBT10208" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/temp/getapntselfinfo"/>
  396. <submission id="TRLBT10204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/gettestpsnnm"/>
  397. <submission id="TRLBT10205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/temp2"/>
  398. <submission id="TRLLC90101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdprntsetup"/>
  399. <submission id="TRLBT10206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/temp3/rsltlist"/>
  400. <submission id="TXLBT10207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/tnsrsrv" replace="instance"/>
  401. <submission id="TRLBT10209" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getBMTInfo/getBMTInfo"/>
  402. <submission id="TRLBT10210" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getBMTInfo/getBMTInfoList"/>
  403. <!-- 혈액준비 바코드 출력-->
  404. <submission id="TRLBT10406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/barcd"/>
  405. <submission id="TRLBT10407" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getbloodinfo/blodrslthistory"/>
  406. <submission id="TXLBT10204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  407. <submission id="TRLBT10207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getKeepnoBlodcnt"/>
  408. <submission id="TRLZZ00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  409. <submission id="TXLBT10203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  410. <submission id="TXLLB00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  411. <submission id="TXLBT10205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  412. <submission id="TXLBT10206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  413. <submission id="TXLBT10303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  414. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0122"/>
  415. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  416. </model>
  417. <script type="javascript">
  418. <![CDATA[
  419. // 프린터 설정 초기정보 조회
  420. function fPrinterRef(){
  421. model.makeValue("/root/send/scrnid", getScreenID());
  422. submit("TRLLC90101");
  423. }
  424. // 준비관리 화면 구분
  425. function fSetPrepImport(ref){
  426. if(ref == "SAME"){
  427. model.setValue("/root/hidden/prepimport", "SAME");
  428. }else if(ref == "DIFF"){
  429. model.setValue("/root/hidden/prepimport", "DIFF");
  430. }
  431. }
  432. // 초기화 버튼
  433. function fSetClear(){
  434. model.reset();
  435. }
  436. // 조회 버튼 클릭시
  437. function fGetBloodPrcpList(ref){
  438. //준비중인 혈액이 있는지 체크
  439. var prepTF = fPrepBlodYN(ref);
  440. if(prepTF){
  441. return;
  442. }else if(!prepTF){
  443. model.setValue("/root/send/fromdd", model.getValue("/root/hidden2/ref/reffromdd"));
  444. model.setValue("/root/send/todd", model.getValue("/root/hidden2/ref/reftodd"));
  445. model.setValue("/root/send/fromtm", model.getValue("/root/hidden2/ref/reffromtm"));
  446. model.setValue("/root/send/totm", model.getValue("/root/hidden2/ref/reftotm"));
  447. model.setValue("/root/send/testpsnid", model.getValue("/root/hidden2/ref/testpsnid"));
  448. model.setValue("/root/send/pid", model.getValue("/root/hidden2/ref/pid"));
  449. model.setValue("/root/send/spclyn", model.getValue("/root/hidden2/ref/spclblood"));
  450. model.setValue("/root/send/gbn", ref);
  451. model.setValue("/root/send/prepend", model.getValue("/root/hidden/prepend"));
  452. //model.setValue("/root/send/dispflag", model.getValue("/root/send/dispflag"));
  453. if(submit("TRLBT10201")==true){
  454. //조회한뒤 혈액성분,수혈내역 초기화가 안되어서..초기화..
  455. if(getNodesetCount("/root/main/getblodprcplist") == 0){
  456. model.removeNodeset("/root/main/getbloodinfo/getbloodcom");
  457. model.removeNodeset("/root/main/getbloodinfo/getblooddetllist");
  458. grd_com.refresh();
  459. grd_detllist.refresh();
  460. }
  461. grd_prcplist.rebuildStyle();
  462. // er 처방에서 erprcpflag '1' 로 왔을때 readonly
  463. for(i=1; i<grd_prcplist.rows; i++){
  464. var pcnt = model.getValue("/root/main/getblodprcplist["+i+"]/no");
  465. var reqcnt = model.getValue("/root/main/getblodprcplist["+i+"]/h");
  466. if(model.getValue("/root/main/getblodprcplist["+i+"]/prcperflag")=="1"){
  467. grd_prcplist.isReadOnly(i, 7) = true;
  468. }else{
  469. grd_prcplist.isReadOnly(i, 7) = false;
  470. }
  471. //이형 type 빨간색으로 표시되게
  472. if(model.getValue("/root/main/getblodprcplist["+i+"]/abrnblodyn")=="Y"){
  473. grd_prcplist.cellStyle("color", i, 4, i, 4) = "red";
  474. }
  475. if(pcnt != reqcnt){
  476. grd_prcplist.cellstyle("color", i,1, i, 11) = "#EE0000";
  477. }
  478. if(model.getValue("/root/main/getblodprcplist["+i+"]/dnorcnt") > 0){
  479. grd_prcplist.cellstyle("background-color",i,1,i,11) = "#c8e67b";
  480. }
  481. if(model.getValue("/root/main/getblodprcplist["+i+"]/iryn")=="Y"){
  482. grd_prcplist.cellStyle("color", i, 5, i, 5) = "red";
  483. }
  484. }
  485. if(grd_prcplist.rows >1){
  486. var pid = "";
  487. if(ref == "bcd" || ref == "cancel"){
  488. grd_prcplist.row = 1;
  489. // 혈액정보조회
  490. if(ref == "bcd"){
  491. pid = model.getValue("/root/hidden2/ref/pid");
  492. fGetBloodInfo(pid , "bcd");
  493. model.setValue("/root/hidden/prcpremfact", model.getValue("/root/main/getblodprcplist["+ 1 +"]/prcpremfact"));
  494. }else{
  495. pid = model.getValue("/root/main/getblodprcplist[1]/pid");
  496. fGetBloodInfo(pid , "Auto");
  497. }
  498. }
  499. //----------------------------------------------------------
  500. //처방목록이 없으면 기존 수혈내역 바로 조회
  501. }else{
  502. if(ref == "bcd"|| ref == "cancel"){
  503. var pid = model.getValue("/root/hidden2/ref/pid");
  504. // 혈액정보조회
  505. if(ref == "bcd"){
  506. fGetBloodInfo(pid , "bcd");
  507. }else{
  508. fGetBloodInfo(pid , "Auto");
  509. }
  510. }
  511. }
  512. }
  513. //조회 된 후에 현재시간으로 셋팅.
  514. fSettingDate();
  515. if(ref == "btn"){
  516. model.setFocus("ipt_testpsn");
  517. //탑정보 초기화.
  518. delPatientInfos();
  519. }else if(ref == "bcd"){
  520. model.setFocus("ipt_bloodno");
  521. }
  522. }
  523. }
  524. //키이벤트 엔터키 입력시
  525. function fKeyEvent(){
  526. if(event.keyCode == "13"){
  527. // 검사자 바코드 리딩시
  528. if(event.target == "ipt_testpsn"){
  529. model.setvalue("/root/hidden2/ref/testpsnid", (ipt_testpsn.currentText).toUpperCase());
  530. fGetTestPsn();
  531. model.setFocus("ipt_pid");
  532. ipt_testpsn.selBegin = 0;
  533. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  534. }
  535. // 등록번호 바코드 리딩시
  536. if(event.target == "ipt_pid"){
  537. model.setValue("/root/hidden2/ref/pid", ipt_pid.currentText);
  538. //자동접수- 혈액준비관리 화면만....이형준비관리는 자동접수 안함.
  539. if(getScreenID() == "SMLBT10200"){
  540. fAutoAcpt("N");
  541. }
  542. fGetBloodPrcpList("bcd");
  543. model.setFocus("ipt_bloodno");
  544. ipt_pid.selBegin = 0;
  545. ipt_pid.selEnd = ipt_pid.currentText.length;
  546. }
  547. // 혈액번호 바코드 리딩시
  548. if(event.target=="ipt_bloodno"){
  549. if(ipt_bloodno.currentText == "XXXXXX"){
  550. fSetReady();
  551. return;
  552. }
  553. if(model.getValue("/root/hidden2/ref/pid") == ""){
  554. messageBox("등록번호를 " , "C001", ""); //등록번호를 입력하십시오
  555. model.setFocus("ipt_pid");
  556. return;
  557. }
  558. if(grd_prcplist.row < 1){
  559. messageBox("처방을 선택하세요. ", "I");
  560. return;
  561. }
  562. model.setValue("/root/hidden2/ref/bloodno", "");
  563. model.setValue("/root/hidden2/ref/bloodno", (ipt_bloodno.currentText).substr(0,10));
  564. fGetPrepBlodList();
  565. model.setValue("/root/hidden2/ref/bloodno", "");
  566. ipt_bloodno.refresh();
  567. //model.setFocus("ipt_bloodno");
  568. ipt_bloodno.selBegin = 0;
  569. ipt_bloodno.selEnd = ipt_bloodno.currentText.length;
  570. }
  571. }
  572. }
  573. //검사자 조회
  574. function fGetTestPsn(){
  575. //model.setValue("/root/send/testpsnid", model.getValue("/root/hidden2/ref/testpsnid"));
  576. //submit("TRLBT10204");
  577. model.makeValue("/root/send/userid" , model.getValue("/root/hidden2/ref/testpsnid"));
  578. submit("TRLZZ00104");
  579. model.setValue("/root/hidden2/ref/tmptestpsnid", model.getValue("/root/hidden2/ref/testpsnid"));
  580. model.setValue("/root/hidden2/ref/testpsnnm", model.getValue("/root/main/getUsernm/usernm"));
  581. opt_testpsn.refresh();
  582. }
  583. // 준비완료 버튼
  584. function fSetReady(){
  585. if(model.getValue("/root/hidden2/ref/testpsnid")=="" || model.getValue("/root/hidden2/ref/testpsnnm") == ""){
  586. messageBox("접수자를 " , "C001", ""); //접수자를 입력하십시오
  587. model.setFocus("ipt_testpsn");
  588. return;
  589. }
  590. if(model.getValue("/root/hidden2/ref/testpsnid") != model.getValue("/root/hidden2/ref/tmptestpsnid")
  591. || model.getValue("/root/main/getUsernm/usernm") != model.getValue("/root/hidden2/ref/testpsnnm") ){
  592. messageBox("접수자를 확인해주세요.", "I");
  593. return;
  594. }
  595. //등록번호를 반드시 입력해야지만 입력완료 할 수 있게 수정 - 2007.10.20 장현식 선생님 요청
  596. if(model.getValue("/root/hidden2/ref/pid")==""){
  597. messageBox("등록번호를 " , "C001", ""); //등록번호를 입력하십시오
  598. model.setFocus("ipt_pid");
  599. return;
  600. }
  601. // 준비 혈액 내역 리스트 없을때
  602. if(grd_prepblood.rows < 2){
  603. messageBox("준비된 혈액이 " , "I004", ""); //준비된 혈액이 없습니다
  604. return;
  605. }
  606. var pBlodno = "";
  607. var pBlodcd = "";
  608. var pBlodcmt = "";
  609. // ffp,cryo 예약시간 두시간전 start
  610. //var totime = getCurrentTime();
  611. //var totime2 = totime.substring(0,4);
  612. var prcpcd = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd");
  613. //var hopetm = "";
  614. //var prcphopedd = model.getValue("/root/main/getblodprcplist/prcphopedd").substr(8,14);
  615. //if(prcphopedd == "000000"){
  616. //hopetm =="235959"; //이게아닌가???
  617. // var tm00 = totime.toDate("hhmmss").getAddDate(2, "h");
  618. // hopetm = tm00.getDateFormat("hhmmss");
  619. //}else{
  620. // hopetm = prcphopedd;
  621. //}
  622. //var bfprcptm = (hopetm.toDate("hhmmss").getAddDate(-2, "h")); // 2시간전
  623. //var bftm = bfprcptm.getDateFormat("hhmmss");
  624. //var bftm2 = bftm.substring(0,4);
  625. var realtime = getCurrentDate() + getCurrentTime(); // 현재일시
  626. var hopedd = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcphopedd").substr(0,8); // <prcphopedd>20081002000000</prcphopedd>
  627. var hopetm = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcphopedd").substr(8,14); // 예약시간 안정하면 시간 000000으로 들어옴
  628. if(hopedd =="00000000"){
  629. hopedd = getCurrentDate(); // 예약일자 없으면 현재일자
  630. }
  631. if(hopetm == "000000"){
  632. hopetm = getCurrentTime(); // 예약시간 없으면 현재시간
  633. }
  634. var newhopeddtm = hopedd + hopetm;
  635. var hopem2tm = newhopeddtm.toDate("YYYYMMDDhhmmss").getAddDate(-2, "h"); // 2시간전 // Wed Oct 8 13:48:17 UTC+0900 2008
  636. var hopem2tm2 = hopem2tm.getDateFormat("YYYYMMDDhhmmss"); // 20081008134817
  637. //model.makeValue("/root/send/hope111", newhopeddtm); //20081007001321
  638. //model.makeValue("/root/send/hope122", hopem2tm); //Mon Oct 6 22:13:21 UTC+0900 2008
  639. //model.makeValue("/root/send/hope133", hopem2tm2); //20081006221321 예약시간 2시간전
  640. //model.makeValue("/root/send/hope144", realtime); //20081009092926
  641. // ★ 수정중입니다. 2008-10-08
  642. if( (prcpcd == "LBT20432") || (prcpcd == "LBT20440") || (prcpcd == "LBT20632") || (prcpcd == "LBT20640") ){ // FFP = LBT20432, LBT20440 cryo =LBT20632, LBT20640
  643. if(hopem2tm2 > realtime){
  644. /// if(bftm2 > totime2){
  645. var rtn = messageBox("지금녹이면 안되는 처방입니다 시간을 확인하십시오", "Q003" );
  646. if(rtn == "7" ){
  647. return;
  648. }
  649. }
  650. }
  651. // ffp,cryo 예약시간 두시간전 end
  652. // 준비혈액 번호 가져가기
  653. for(i=1; i<grd_prepblood.rows; i++){
  654. // 준비번호 없을때
  655. if(model.getValue("/root/main/blod/getprepbloodlist["+i+"]/pno") == ""){
  656. model.setValue("/root/main/blod/getprepbloodlist["+i+"]/testpsnid", model.getValue("/root/hidden2/ref/testpsnid"));
  657. if(model.getValue("/root/main/blod/getprepbloodlist["+i+"]/blodcmt")==""){
  658. model.setValue("/root/main/blod/getprepbloodlist["+i+"]/blodcmt", " ");
  659. }
  660. grd_prepblood.rowStatus(i) =1;
  661. }
  662. }
  663. //var grdprepblood = grd_prepblood.getUpdateData();
  664. model.setValue("/root/send/prepblod", grd_prepblood.getUpdateData());
  665. if(submit("TXLBT10201")==true){
  666. fExeBarcdPrnt("prep");
  667. //if(model.getValue("/root/hidden2/popupyn")=="Y"){
  668. //window.opener.javascript.fGetBloodPrcpList("btn");
  669. // window.close();
  670. //}
  671. model.removeNodeset("/root/main/blod/getprepbloodlist");
  672. grd_prepblood.rebuild();
  673. model.setValue("/root/hidden2/ref/pid", "");
  674. fGetBloodPrcpList("btn");
  675. delPatientInfos();
  676. if(grd_prcplist.rows > 1){
  677. model.resetInstanceNode("/root/main/getbloodinfo");
  678. model.removeNodeset("/root/main/blod/getprepbloodlist");
  679. grd_prepblood.rebuild();
  680. }else{
  681. model.removeNodeset("/root/main/blod/getprepbloodlist");
  682. grd_prepblood.rebuild();
  683. }
  684. //model.reset();
  685. //준비완료 후 등록번호, 혈액번호 초기화 - 2007.10.20 장현식 선생님 요청
  686. model.setValue("/root/hidden2/ref/pid", "");
  687. model.setValue("/root/hidden2/ref/bloodno", "");
  688. model.removeNodeset("/root/main/getbloodinfo/getblooddetllist");
  689. grd_detllist.refresh();
  690. model.refresh();
  691. var prepimport = model.getValue("/root/hidden/prepimport");
  692. if(prepimport == "DIFF"){
  693. window.opener.javascript.fGetBloodPrcpList("btn");
  694. window.close();
  695. }
  696. }
  697. }
  698. //바코드출력fKeyEvent
  699. function fExeBarcdPrnt(ref) {
  700. model.removeNodeset("/root/hidden/barcode");
  701. var blodno = "";
  702. var blodbarcd = "";
  703. if(ref=="prep"){
  704. for(i=1; i<grd_prepblood.rows; i++){
  705. //if(ref=="prep"){
  706. if(model.getValue("/root/main/blod/getprepbloodlist["+ i +"]/pno") == ""){
  707. blodno += model.getValue("/root/main/blod/getprepbloodlist["+ i +"]/blodno");
  708. blodbarcd += model.getValue("/root/main/blod/getprepbloodlist["+ i +"]/blodbarcd");
  709. if(i< (grd_prepblood.rows-1)){
  710. blodno = blodno + "','";
  711. blodbarcd = blodbarcd + "','";
  712. }
  713. }
  714. /*}else if (ref=="reprnt"){
  715. if(model.getValue("/root/main/blod/getprepbloodlist["+ i +"]/chk")=="Y"){
  716. blod += model.getValue("/root/main/blod/getprepbloodlist["+ i +"]/blodno");
  717. if(i< (grd_prepblood.rows-1)){
  718. blod = blod + "','";
  719. }
  720. }
  721. }*/
  722. }
  723. }else if (ref=="reprnt"){
  724. blodno = model.getValue("/root/main/blod/getprepbloodlist["+grd_prepblood.row+"]/blodno");
  725. blodbarcd = model.getValue("/root/main/blod/getprepbloodlist["+grd_prepblood.row+"]/blodbarcd");
  726. }
  727. //model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  728. model.setValue("/root/send/pid", model.getValue("/root/hidden2/ref/pid"));
  729. model.setValue("/root/send/blodno", "'" + blodno + "'");
  730. model.setValue("/root/send/blodbarcd", "'" + blodbarcd + "'");
  731. model.setValue("/root/send/barcdflag", "1");
  732. submit("TRLBT10406");
  733. var vInstance = document.models(0).instances(0);
  734. var cntHR = vInstance.selectNodes("/root/hidden/barcode/barcodeinfo").length;
  735. for(i= 1; i <= cntHR; i++) {
  736. model.makeNode("/root/hidden/barcode/barcodeinfo["+ i +"]/prtdd");
  737. model.makeNode("/root/hidden/barcode/barcodeinfo["+ i +"]/prttm");
  738. if(ref=="prep"){
  739. //model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prtdd", model.getValue("/root/hidden/todd"));
  740. //model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prttm", model.getValue("/root/hidden/totm"));
  741. model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prtdd", model.getValue("/root/hidden/barcode/barcodeinfo["+ i +"]/rprtdd")); // lislib쿼리고치고 수정해야함
  742. model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prttm", model.getValue("/root/hidden/barcode/barcodeinfo["+ i +"]/rprttm")); // lislib쿼리고치고 수정해야함
  743. }else if(ref=="reprnt"){
  744. model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prtdd", model.getValue("/root/hidden/barcode/barcodeinfo["+ i +"]/rprtdd")); // lislib쿼리고치고 수정해야함
  745. model.setValue("/root/hidden/barcode/barcodeinfo["+ i +"]/prttm", model.getValue("/root/hidden/barcode/barcodeinfo["+ i +"]/rprttm")); // lislib쿼리고치고 수정해야함
  746. }
  747. }
  748. var prtkind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind");
  749. copyNodeType("/root/hidden/barcode/barcodeinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "after");
  750. if( prtkind == "2" || prtkind == "6" || prtkind == "7"){
  751. fLisTnsrBarcodePrint2("/root/hidden/barcode/barcodeinfo"); // 뻗어요
  752. }else if(prtkind == "8"){
  753. fLisTnsrBarcodePrint4("/root/hidden/barcode/barcodeinfo"); // B472
  754. }else{
  755. fLisTnsrBarcodePrint("/root/hidden/barcode/barcodeinfo"); // 뻗어요
  756. }
  757. //}
  758. }
  759. //준비중인 혈액이 있는지 체크
  760. function fPrepBlodYN(Ref){
  761. var prepCnt = getNodesetCount("/root/main/blod/getprepbloodlist"); //준비혈액내역의 노드 갯수
  762. var redCnt = 0;
  763. var returnValue = "";
  764. var yesMsg = "";
  765. var noMsg = "";
  766. var prepPid = "";
  767. //-------------------------------------------------------------------
  768. //수혈내역, 등록번호 바코드 리딩, 조회 버튼 클릭시
  769. //-------------------------------------------------------------------
  770. if(Ref == "detllist" || Ref == "bcd" || Ref == "btn" ){
  771. //준비혈액내역 그리드에 준비완료 버튼 누르지 않은 혈액 존재 여부
  772. for(iNo = 1; iNo <= prepCnt; iNo++){
  773. if(model.getValue("/root/main/blod/getprepbloodlist[" +iNo+"]/pno") == ""){
  774. redCnt++;
  775. }
  776. }//end for
  777. //준비혈액내역 그리드에 준비완료 버튼 누르지 않은 혈액이 있다면
  778. //메시지창 띄워서 확인
  779. if(redCnt > 0){
  780. //Q010=초기화 하시겠습니까? retrun yes=6, no=7
  781. returnValue = messageBox("준비중인 혈액이 있습니다. \n준비중인 혈액을","Q010");
  782. }
  783. //-------------------------------------------------------------------
  784. if(returnValue == "7"){ //혈액준비 계속 진행
  785. return true;
  786. }else if(returnValue == "6" || redCnt == 0){
  787. model.removeNodeset("/root/main/blod/getprepbloodlist");
  788. grd_prepblood.refresh();
  789. return false;
  790. }
  791. //-------------------------------------------------------------------
  792. //혈액은행 처방 목록 클릭시
  793. //-------------------------------------------------------------------
  794. }else if(Ref == "prcplist"){
  795. var pidTF = false;
  796. var prcpPid = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid");
  797. //초기화 하겠느냐는 메시지 띄울때 아니오 누르면 이전 선택했던 row로 돌아가기 위해.
  798. var tnsreqacptno = model.getValue("/root/main/blod/getprepbloodlist["+prepCnt+"]/tnsreqacptno");
  799. var rowNum = grd_prcplist.findRow(tnsreqacptno, 1, grd_prcplist.colRef("tnsreqacptno"), false, true);
  800. for(iNo = 1; iNo <= prepCnt; iNo++){
  801. prepPid = model.getValue("/root/main/blod/getprepbloodlist["+iNo+"]/pid");
  802. if(model.getValue("/root/main/blod/getprepbloodlist[" +iNo+"]/pno") == ""){
  803. if(prcpPid != prepPid){
  804. redCnt++;
  805. }else if(prcpPid == prepPid){
  806. pidTF = true;
  807. }
  808. }
  809. }//end for
  810. if(redCnt > 0){
  811. //Q010=초기화 하시겠습니까? retrun yes=6, no=7
  812. returnValue = messageBox("준비중인 환자와 다른 환자입니다. \n준비중인 혈액을","Q010");
  813. }
  814. //-------------------------------------------------------------------
  815. if(returnValue == "7" || prcpPid == prepPid){ //혈액준비 계속 진행
  816. //초기화 하겠느냐는 메시지 띄울때 아니오 누르면 이전 선택했던 row로 돌아가기 위해.
  817. grd_prcplist.row = rowNum;
  818. return true;
  819. }else if(returnValue == "6" || redCnt == 0 ){
  820. model.removeNodeset("/root/main/blod/getprepbloodlist");
  821. grd_prepblood.refresh();
  822. return false;
  823. }else if(pidTF){
  824. return false;
  825. }
  826. }//end if
  827. }
  828. // 혈액은행 처방 목록에서 선택시
  829. // 혈액 상세 내역 조회, 환자정보 조회
  830. function fGetBloodInfo(Ref, txt){
  831. if(Ref != ""){
  832. model.setValue("/root/send/send", txt);
  833. model.setValue("/root/send/pid", Ref);
  834. model.setValue("/root/send/fromdd", model.getValue("/root/hidden/ref/reffromdd"));
  835. model.setValue("/root/send/todd", model.getValue("/root/hidden/ref/reftodd"));
  836. // 처방리스트에서 선택시 성분제제코드 보내기
  837. if(txt == "Select"){
  838. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd"));
  839. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno")); //수혈접수번호
  840. model.setValue("/root/send/aborh", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/abo"));
  841. model.setValue("/root/send/blodbarcd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodbarcd"));
  842. model.setValue("/root/send/abrnblodyn", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/abrnblodyn")); //이형혈액여부
  843. model.setValue("/root/hidden2/ref/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  844. ipt_pid.refresh();
  845. //조회버튼클릭시
  846. }else if(txt == "Auto"){
  847. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist[1]/blodcomcd"));
  848. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist[1]/tnsreqacptno")); //수혈접수번호
  849. model.setValue("/root/send/aborh", model.getValue("/root/main/getblodprcplist[1]/abo"));
  850. model.setValue("/root/send/blodbarcd", model.getValue("/root/main/getblodprcplist[1]/blodbarcd"));
  851. model.setValue("/root/send/abrnblodyn", model.getValue("/root/main/getblodprcplist[1]/abrnblodyn")); //이형혈액여부
  852. model.setValue("/root/hidden2/ref/pid", Ref);
  853. }else if(txt == "bcd"){
  854. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist[1]/blodcomcd"));
  855. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist[1]/tnsreqacptno")); //수혈접수번호
  856. model.setValue("/root/send/aborh", model.getValue("/root/main/getblodprcplist[1]/abo"));
  857. model.setValue("/root/send/blodbarcd", model.getValue("/root/main/getblodprcplist[1]/blodbarcd"));
  858. model.setValue("/root/send/abrnblodyn", model.getValue("/root/main/getblodprcplist[1]/abrnblodyn")); //이형혈액여부
  859. }
  860. }else{
  861. // 안써요
  862. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid")); // 등록번호
  863. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno")); //수혈접수번호
  864. }
  865. //--------------------------------------------------------------------
  866. // 처방리스트 있을시 탑정보 조회.
  867. if(grd_prcplist.rows >1){
  868. if(getPatientInfo("pid") != model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid")){
  869. fGetTopInfo();
  870. }
  871. }
  872. //--------------------------------------------------------------------
  873. // 혈액 상세내역, 환자정보, 혈액정보, 혈액성분 조회
  874. model.setValue("/root/send/prcpgenrflag", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpgenrflag"));
  875. submit("TRLBT10202");
  876. //===========================================================================
  877. //AST 1달 이내에 접수, 결과 내역이 없으면 메시지(입원은 입원 기간내에)
  878. //===========================================================================
  879. if(model.getValue("/root/main/getbloodinfo/getASTRsltYN/astrsltyn") == "N"){
  880. messageBox("AST 접수 및 결과가 없습니다.", "I");
  881. }
  882. //--------------------------------------------------------------------
  883. // BMT 실시 정보
  884. fGetBMTInfo("info");
  885. // 최근결과내역 표시
  886. fGetBlodRslt(txt);
  887. var aborh = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh").substring(0,1);
  888. var abrnblodyn = model.getValue("/root/main/getbloodinfo/getpatinfo/abrnblodyn"); //이형혈액여부
  889. var aborhValue = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh");
  890. var aborhLen = aborhValue.length;
  891. //이형혈액인경우
  892. if(abrnblodyn == "Y"){
  893. if(aborhLen > 3){
  894. opt_abo.attribute("font-size") = 20;
  895. opt_abo.attribute("color") = "red";
  896. }else{
  897. opt_abo.attribute("font-size") = 40;
  898. opt_abo.attribute("color") = "red";
  899. }
  900. }else{
  901. if(aborh=="A"){
  902. opt_abo.attribute("font-size") = 48;
  903. if(model.getValue("/root/main/getbloodinfo/getpatinfo/aborh").substring(0,2)=="AB"){
  904. opt_abo.attribute("class") = "font_ab";
  905. }else{
  906. opt_abo.attribute("class") = "font_a";
  907. }
  908. }else if(aborh=="B"){
  909. opt_abo.attribute("font-size") = 48;
  910. opt_abo.attribute("class") = "font_b";
  911. }else if(aborh=="O"){
  912. opt_abo.attribute("font-size") = 48;
  913. opt_abo.attribute("class") = "font_o";
  914. }else{
  915. // 기타 혈액형
  916. opt_abo.attribute("font-size") = 28;
  917. opt_abo.attribute("class") = "font_b";
  918. }
  919. }
  920. // 보관검체, 재고수량 setting *** start
  921. model.setValue("/root/hidden2/keepnoblodcnt/bno", model.getValue("/root/main/getbloodinfo/getKeepnoBlodcnt/bno"));
  922. model.setValue("/root/hidden2/keepnoblodcnt/keepno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/kabo") + model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/keepspcno"));
  923. //model.setValue("/root/hidden2/keepnoblodcnt/keepno", model.getValue("/root/main/getbloodinfo/getKeepnoBlodcnt/keepno"));
  924. cap_blodcnt.refresh();
  925. cap_keep.refresh();
  926. // 보관검체, 재고수량 setting *** end
  927. if(txt == "Select"){
  928. model.setFocus("ipt_bloodno");
  929. }
  930. }
  931. // 임시 최근결과
  932. function fGetBlodRslt(txt){
  933. //model.removeNodeset("/root/main/getbloodinfo/getblodinforslt");
  934. //grd_lastrslt.rebuild();
  935. for(i=1; i<=grd_lastrslt.cols; i++){
  936. grd_lastrslt.colHidden(i) = true;
  937. }
  938. var rsltrow = getNodesetCount("/root/main/getbloodinfo/getblodinfolist");
  939. var newcap = "";
  940. for(i=0; i< rsltrow; i++){
  941. grd_lastrslt.colHidden(i) = false;
  942. //newcap += "^" + model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnm");
  943. newcap += "^" + model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnmabbr");
  944. }
  945. grd_lastrslt.addRow(false);
  946. grd_lastrslt.addRow(false);
  947. for(i=1; i<= rsltrow; i++){
  948. //model.makeValue("/root/main/getbloodinfo/getblodinforslt/row[1]/a"+i, model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/rslt") + " " + model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/unit"));
  949. model.makeValue("/root/main/getbloodinfo/getblodinforslt/row[1]/a"+i, model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/rslt"));
  950. model.makeValue("/root/main/getbloodinfo/getblodinforslt/row[2]/a"+i, model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/dt"));
  951. grd_lastrslt.colWidth((i-1)) = 90;
  952. }
  953. newcap = newcap.substring(1);
  954. grd_lastrslt.caption = newcap;
  955. grd_lastrslt.rebuild();
  956. //결과값 Positive일경우 혈액준비화면 AST, C/S ID 결과 양성인 경우 환자혈액형정보 부분 글씨색 빨간색 및 팝업창 글씨 크고 굵게 빨간색
  957. //변경요청 12589
  958. for(i = 0; i < grd_lastrslt.cols ; i++){
  959. if(isSearchString((grd_lastrslt.valueMatrix(1, i)).toUpperCase(), "POSITIVE")){
  960. grd_lastrslt.cellstyle("color", 1, i) = "#ff0000";
  961. grd_lastrslt.cellstyle("font-weight", 1, i) = "bold";
  962. }else{
  963. grd_lastrslt.cellstyle("color", 1, i) = "#000000";
  964. grd_lastrslt.cellstyle("font-weight", 1, i) = "normal";
  965. }
  966. }
  967. if(txt != "Auto"){
  968. var strCheckTFAST = false;
  969. for(i=1; i<= rsltrow; i++){
  970. var strCheckTF = "";
  971. var strTestcd = model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/testcd");
  972. var strRslt = model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/rslt");
  973. //isSearchString(전체 문장, 찾을문장); - stringHelper.js
  974. //"positve" 가 들어간것은 모두 양성자 팝업 처리, toUpperCase -> 대문자로 치환
  975. strCheckTF = isSearchString(strRslt.toUpperCase(), "positive".toUpperCase());
  976. if(strTestcd == "LBR106" && strCheckTF == true){
  977. //alert("전 = >"+strCheckTFAST);
  978. strCheckTFAST = true;
  979. //alert("후 = >"+strCheckTFAST);
  980. messageBox("AST 검사결과 Positive입니다.", "I");
  981. }
  982. if(strTestcd == "LBR107" && strCheckTF == true){
  983. messageBox("Ab ID 검사결과 Positive입니다.", "I");
  984. }
  985. /* - 2009.06.02 혈액은행 요청사항으로 LBR109만 팝업창 생성.
  986. if(strTestcd == "LBR108" && strCheckTF == true){
  987. messageBox("C/S D 검사결과 Positive입니다.", "I");
  988. }*/
  989. if(strTestcd == "LBR109" && strCheckTF == true){
  990. messageBox("C/S ID 검사결과 Positive입니다.", "I");
  991. }
  992. }//end for
  993. //===========================================================================
  994. //AST 이전 검사결과에 Positive 여부 체크 추가 : 최근결과에 Positive 없을경우만 실행
  995. //===========================================================================
  996. var tclsnm = grd_lastrslt.caption;
  997. var tnm = tclsnm.split("^");
  998. if(tnm[0] == "AST" && strCheckTFAST == false){
  999. var rsltrow = getNodesetCount("/root/main/getbloodinfo/getblodinfolist");
  1000. model.setValue("/root/send/tclscd", "LBR106");
  1001. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getpatinfo/pid"));
  1002. submit("TRLBT10407");
  1003. if(getNodesetCount("/root/main/getbloodinfo/blodrslthistory") > 0){
  1004. var findRow = datagrid1.findRow("positive",1, 1, false, false);
  1005. if( findRow > 0){
  1006. messageBox("AST 이전 검사결과에 Positive 결과가 존재합니다.", "I");
  1007. }
  1008. }
  1009. }
  1010. //===========================================================================
  1011. //수혈부작용여부 - 2009.06.02 혈액은행 요청사항으로 수혈부작용 팝업 생성 안함.
  1012. //===========================================================================
  1013. /*var strTnssideeffect = model.getValue("/root/main/getbloodinfo/getpatinfo/tnssideeffect");
  1014. if(strTnssideeffect > 0){
  1015. messageBox("수혈부작용 환자입니다.", "I");
  1016. }*/
  1017. }
  1018. }
  1019. // 최근결과내역 표시
  1020. function fGetBlodLastRslt(){
  1021. model.removeNodeset("/root/main/temp3/getblodinforslt");
  1022. model.removeNodeset("/root/main/getbloodinfo/getblodinforslt/row");
  1023. grd_lastrslt.colHidden(0) = true;
  1024. for( var i = 0; i <=grd_lastrslt.cols; i++ ) {
  1025. grd_lastrslt.removeColumn(false);
  1026. grd_lastrslt.colHidden(i) = true;
  1027. }
  1028. grd_lastrslt.rebuild();
  1029. submit("TRLBT10206");
  1030. var gridCaption = model.getValue("/root/main/temp3/getblodinforslt/header/caption");
  1031. if(gridCaption == ""){
  1032. return;
  1033. }
  1034. var gridColRef = model.getValue("/root/main/temp3/getblodinforslt/header/colref");
  1035. var gridColRefArray = gridColRef.split("^");
  1036. var gridColType = model.getValue("/root/main/temp3/getblodinforslt/header/type");
  1037. var gridColTypeArray = gridColType.split("^");
  1038. var cnt = model.getValue("/root/main/temp3/getblodinforslt/row/cnt");
  1039. for(var i=1; i<= cnt; i++){
  1040. grd_lastrslt.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
  1041. }
  1042. grd_lastrslt.caption = gridCaption;
  1043. grd_lastrslt.rebuild();
  1044. }
  1045. // 2008.07.28 김성희 수정
  1046. // 준비 혈액 내역에 혈액내역 표시
  1047. function fGetPrepBlodList(){
  1048. //-------------------------------------------------------------------------
  1049. //수혈내역 클릭하여 준비혈액내역 조회했을시. 준비혈액내역 클리어를 먼저 해준다.
  1050. if(model.getValue("/root/send/clickflag") == "03"){
  1051. model.removeNodeset("/root/main/blod");
  1052. model.setValue("/root/send/clickflag", "");
  1053. grd_prepblood.refresh();
  1054. }
  1055. //-------------------------------------------------------------------------
  1056. var blodno = model.getValue("/root/hidden2/ref/bloodno"); // 입력한 혈액번호
  1057. var aboinfo = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh"); // 환자정보 혈액형
  1058. var prcpBlodbarcd = model.getValue("/root/main/getblodprcplist["+ grd_prcplist.row +"]/blodbarcd"); //처방리스트의 blodbarcd
  1059. //-------------------------------------------------------------------------
  1060. // 혈액번호 10자리 미만은 메세지 띄우기
  1061. if(blodno.length < 10){
  1062. messageBox("정확한 혈액번호를" , "C001", ""); //정확한 혈액번호를 입력하십시오.
  1063. model.setValue("/root/hidden2/ref/bloodno", "");
  1064. return;
  1065. }else if(blodno.length > 10){
  1066. blodno = blodno.substring(0,10);
  1067. model.setValue("/root/hidden/ref/bloodno", blodno);
  1068. model.refresh();
  1069. }
  1070. //-------------------------------------------------------------------------
  1071. // 혈액번호 입력한거 준비혈액내역에 있는지 검색
  1072. var findrow = grd_prepblood.findRow(blodno, 1, 3 , true, true);
  1073. if(findrow >0 ) {
  1074. messageBox("이미 추가하신 혈액" , "E008", ""); //이미 추가하신 혈액입니다
  1075. model.setValue("/root/hidden2/ref/bloodno", "");
  1076. return;
  1077. }
  1078. model.setValue("/root/send/blodno", blodno);
  1079. model.setValue("/root/send/blodbarcd", prcpBlodbarcd); //처방리스트의 blodbarcd
  1080. //--------------------------------------
  1081. //지정헌혈/자가혈액이 있는지 체크
  1082. submit("TRLBT10208");
  1083. var apntselfrow = getNodesetCount("/root/main/temp/getapntselfinfo");
  1084. var apntselfyn = ""; //지정헌혈,자가헌혈 여부
  1085. var blodbarcdA = ""; //"A" 로 시작하는 혈액바코드 여부
  1086. var apntselfBlodbarcd = model.getValue("/root/main/temp/getapntselfinfo/blodbarcd");
  1087. var apntDonFlag = model.getValue("/root/main/temp/getapntselfinfo/donflag");
  1088. if(apntselfrow > 0 && apntDonFlag != ""){
  1089. if(apntselfBlodbarcd.substring(0,1) == "A"){
  1090. blodbarcdA = "Y";
  1091. }else{
  1092. blodbarcdA = "N";
  1093. }
  1094. apntselfyn = "Y";
  1095. }else{
  1096. apntselfyn = "N";
  1097. blodbarcdA = "N";
  1098. }
  1099. model.setValue("/root/send/apntselyn", blodbarcdA);
  1100. // apntselyn 화면에선 요렇게 보내고 매퍼에서 apntselfyn 요렇게 받아서 에러났음 매퍼를 수정함 2008-09-05
  1101. //-------------------------------------------------------------------------
  1102. //입력한 혈액번호의 정보 조회
  1103. if(submit("TRLBT10203") == true){
  1104. var imp = model.getValue("/root/hidden/prepimport");
  1105. var prepdonflag = model.getValue("/root/main/temp/getprepbloodlisth/donflag"); //입력한 혈액의 헌혈구분(01:성분헌혈지정,자가,WB 02:간호지정헌혈등록), ""이면 일반혈액
  1106. var prepblodbarcd = model.getValue("/root/main/temp/getprepbloodlisth/blodbarcd"); //입력한 혈액의 blodbarcd
  1107. var tnsrpid = model.getValue("/root/main/temp/getprepbloodlisth/tnsrpid"); //입력한 혈액의 수혜자 id
  1108. var prcppid = model.getValue("/root/main/getblodprcplist["+ grd_prcplist.row +"]/pid"); //선택한 처방의 환자번호
  1109. var msg = model.getValue("/root/main/temp/getprepbloodlisth/msg"); //수혈 혈액형 정보가 있다면 message 있음
  1110. var emsg = model.getValue("/root/main/temp/getprepbloodlisth/emsg"); //수혈 혈액형 정보가 있다면 message 있음
  1111. //수혈혈액형 등록 정보관련 사항 추가 20091029 서승현
  1112. if(getScreenID() == "SMLBT10200"){
  1113. //일반 준비관리 일 경우 수혈 혈액형 존재하면 이형 혈액형 준비관리에서 준비하라는 메세지 띄움
  1114. if(msg != ""){
  1115. messageBox(msg, "E999");
  1116. return;
  1117. }
  1118. }else{
  1119. //이형 혈액준비관리 수혈혈액형과 준비혈액의 혈액형이 다를경우 메세지 표시
  1120. // 수혈 혈액형이 존재 하지 않거나 준비혈액과 같을 경우 Pass
  1121. if(emsg != ""){
  1122. messageBox(emsg, "E999");
  1123. return;
  1124. }
  1125. }
  1126. // 일반 혈액준비관리
  1127. //if(imp == "SAME"){
  1128. var prepabo = model.getValue("/root/main/temp/getprepbloodlisth/abo");
  1129. if(prepabo == ""){
  1130. messageBox("입고된 혈액이 아닙니다.", "I"); //입고된 혈액이 아닙니다.
  1131. return;
  1132. }
  1133. var blodstat = model.getValue("/root/main/temp/getprepbloodlisth/blodstat");
  1134. if(blodstat == "0"){
  1135. messageBox("삭제된 혈액입니다.", "I");
  1136. return;
  1137. }else if(blodstat == "3"){
  1138. messageBox("준비된 혈액입니다.", "I");
  1139. return;
  1140. }else if(blodstat =="4"){
  1141. messageBox("검사중인 혈액입니다.", "I");
  1142. return;
  1143. }else if(blodstat =="5"){
  1144. messageBox("불출대기중인 혈액입니다.", "I");
  1145. return;
  1146. }else if(blodstat =="6"){
  1147. messageBox("불출된 혈액입니다.", "I");
  1148. return;
  1149. }else if(blodstat =="7"){
  1150. messageBox("폐기된 혈액입니다.", "I");
  1151. return;
  1152. }
  1153. //혈액준비관리에서만 혈액형 체크 2009.01.13 김성희 수정
  1154. if(imp == "SAME"){
  1155. if(prepabo != aboinfo){
  1156. messageBox("혈액형이 다릅니다.", "I"); //혈액형이 다릅니다.
  1157. return;
  1158. }
  1159. }
  1160. //----------------------------------------------------------------------------
  1161. //자가,지정혈액이 입고가 된 후 처방이 나는 걸 기본 전제로 처리.
  1162. //지정헌혈 혈액이 입고 되어있고..준비 한 혈액이 일반혈액(prepdonflag == "")인 경우
  1163. if(apntselfyn == "Y" && prepdonflag == ""){
  1164. messageBox("자가,지정헌혈혈액이 아닙니다.", "I");
  1165. return;
  1166. }
  1167. //자가,지정 혈액이 입고 되어있고..준비 한 혈액이 자가,지정헌혈이고, 수혜자가 일치 하지 않을때..
  1168. if(apntselfyn == "Y" && prepdonflag != "" && tnsrpid != prcppid){
  1169. messageBox("수혜자가 일치하지 않습니다.", "I");
  1170. return;
  1171. }
  1172. //자가,지정 혈액이 입고 되어있고...준비 한 혈액이 자가,지정헌혈이고, 처방과 준비한 혈액이 일치 하지 않으면 준비 안함.
  1173. if(apntselfyn == "Y" && prepdonflag != ""){
  1174. if(prcpBlodbarcd.substring(0,1) == "A"){
  1175. if(prcpBlodbarcd != prepblodbarcd){
  1176. messageBox("혈액 성분이 일치하지 않습니다.", "I");
  1177. return;
  1178. }
  1179. }else{
  1180. if(prcpBlodbarcd.substring(0,4) != prepblodbarcd.substring(0,4)){
  1181. messageBox("혈액 성분이 일치하지 않습니다.", "I");
  1182. return;
  1183. }
  1184. }
  1185. }
  1186. //}// 이형 혈액준비관리
  1187. //else if(imp == "DIFF"){
  1188. //
  1189. //}
  1190. //-------------------------------------------------------------------------
  1191. //유효일시 체크
  1192. var toddtm = getCurrentDate() + getCurrentTime();
  1193. if(model.getValue("/root/main/temp/getprepbloodlisth/validt") < toddtm){
  1194. messageBox("유효일시가 지난 혈액 ", "E008",""); // 입니다.
  1195. return;
  1196. }
  1197. //-------------------------------------------------------------------------
  1198. // 처방 혈액바코드, 준비혈액 혈액바코드 비교
  1199. var bbarcd = model.getValue("/root/main/temp/getprepbloodlisth/blodbarcd");
  1200. var bbarcd2 = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodbarcd");
  1201. var prepCnt = 0;
  1202. //지정,자가헌혈이 아닌경우 용량 변경 처리 , 지정,자가헌혈인 경우 용량변경 안됨.
  1203. //if((prepdonflag == "" && bbarcd2.substring(0,4) == bbarcd.substr(0,4)) || (prepdonflag != "" && bbarcd2 == bbarcd)){
  1204. ////"A"로 시작하는 혈액바코드가 아닌경우만 용량변경 가능 2009.06.29 김성희 수정
  1205. if(bbarcd.substring(0,1) != "A" &&bbarcd2.substring(0,4) == bbarcd.substr(0,4)){
  1206. var seqqnt = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/no");
  1207. var tnsreqacptno1 = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno");
  1208. var blodbarcd1 = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodbarcd");
  1209. var iryn1 = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/iryn");
  1210. var tnsreqacptno2 = "";
  1211. var blodbarcd2 = "";
  1212. var blodbarcd3 = "";
  1213. var blodbarcd4 = "";
  1214. var iryn2 = "";
  1215. //----------------------------------------------------
  1216. for(iCnt = 1; iCnt <= grd_prepblood.rows; iCnt++){
  1217. tnsreqacptno2 = model.getValue("/root/main/blod/getprepbloodlist["+iCnt+"]/tnsreqacptno");
  1218. blodbarcd2 = model.getValue("/root/main/blod/getprepbloodlist["+iCnt+"]/blodbarcd");
  1219. iryn2 = model.getValue("/root/main/blod/getprepbloodlist["+iCnt+"]/iryn");
  1220. blodbarcd3 = blodbarcd1.substring(0,4); //용량변경
  1221. blodbarcd4 = blodbarcd2.substring(0,4); //용량변경
  1222. //선택한 처방목록의 수혈접수일련번호,성분제제, irr 과 준비혈액내역 수혈접수일련번호, 성분제제, irr 이 같으면 prepCnt++
  1223. if(tnsreqacptno1 == tnsreqacptno2
  1224. && ((blodbarcd3 == blodbarcd4 && blodbarcd3.substring(0,1) != "A" && blodbarcd4.substring(0,1) != "A") ||
  1225. (blodbarcd1 == blodbarcd2 && blodbarcd1.substring(0,1) == "A" && blodbarcd2.substring(0,1) == "A"))
  1226. && iryn1 == iryn2){
  1227. prepCnt++;
  1228. }
  1229. }
  1230. //------------------------------------------------------
  1231. //선택한 처방목록의 수혈접수일련번호의 남은 수량과
  1232. //준비혈액내역 수혈접수일련번호 준비수량이 같으면 더이상 준비 못함.
  1233. if(seqqnt == prepCnt){
  1234. messageBox("처방된 수량만 준비하십시오.", "I"); //처방된 수량만 준비하십시오
  1235. return;
  1236. }
  1237. }else if(bbarcd.substring(0,1) == "A" && bbarcd2 != bbarcd){
  1238. messageBox("혈액 성분이 " , "E004", ""); //혈액 성분이 일치하지 않습니다.
  1239. return;
  1240. } // 변경후
  1241. grd_prepblood.addRow(false);
  1242. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/pid" ,model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1243. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/tnsreqacptno" ,model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  1244. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/prcpblodbarcd" ,model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodbarcd")); //처방 혈액바코드
  1245. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/prcpblodcomcd" ,model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd")); //처방 코드
  1246. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/iryn" ,model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/iryn"));
  1247. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodno" ,model.getValue("/root/main/temp/getprepbloodlisth/blodno"));
  1248. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcomnm" ,model.getValue("/root/main/temp/getprepbloodlisth/blodcomnm"));
  1249. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/abo" ,model.getValue("/root/main/temp/getprepbloodlisth/abo"));
  1250. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcomcd" ,model.getValue("/root/main/temp/getprepbloodlisth/blodcomcd"));
  1251. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodbarcd" ,model.getValue("/root/main/temp/getprepbloodlisth/blodbarcd"));
  1252. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodstat" ,model.getValue("/root/main/temp/getprepbloodlisth/blodstat"));
  1253. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcmt" ,model.getValue("/root/main/temp/getprepbloodlisth/blodcmt"));
  1254. }
  1255. grd_prepblood.row = (grd_prepblood.rows-1);
  1256. var gridRow = grd_prepblood.rows; //===
  1257. grd_prepblood.topRow = gridRow;
  1258. }// end of fGetPrepBlodList()
  1259. // 준비 혈액 내역에 혈액내역 표시
  1260. function fGetPrepBlodList_backup(){
  1261. var blodno = model.getValue("/root/hidden2/ref/bloodno"); // 입력한 혈액번호
  1262. var aboinfo = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh"); // 환자정보 혈액형
  1263. // 혈액번호 10자리 미만은 메세지 띄우기
  1264. if(blodno.length < 10){
  1265. messageBox("정확한 혈액번호를" , "C001", ""); //정확한 혈액번호를 입력하십시오.
  1266. model.setValue("/root/hidden2/ref/bloodno", "");
  1267. //ipt_bloodno.refresh();
  1268. //model.setFocus("ipt_bloodno");
  1269. return;
  1270. }else if(blodno.length > 10){
  1271. blodno = blodno.substring(0,10);
  1272. model.setValue("/root/hidden/ref/bloodno", blodno);
  1273. model.refresh();
  1274. }
  1275. //수혈내역 클릭하여 준비혈액내역 조회했을시.
  1276. //준비혈액내역 클리어.
  1277. if(model.getValue("/root/send/clickflag") == "03"){
  1278. model.removeNodeset("/root/main/blod");
  1279. model.setValue("/root/send/clickflag", "");
  1280. grd_prepblood.refresh();
  1281. }
  1282. var findrow = grd_prepblood.findRow(blodno, 1, 3 , true, true); // 혈액번호 입력한거 준비혈액내역에 있는지 검색
  1283. if(findrow >0 ) {
  1284. messageBox("이미 추가하신 혈액" , "E008", ""); //이미 추가하신 혈액입니다
  1285. model.setValue("/root/hidden2/ref/bloodno", "");
  1286. return;
  1287. }
  1288. model.setValue("/root/send/blodno", blodno);
  1289. model.setValue("/root/send/blodbarcd", model.getValue("/root/main/getblodprcplist["+ grd_prcplist.row +"]/blodbarcd")); //==
  1290. if(submit("TRLBT10203") == true){
  1291. var imp = model.getValue("/root/hidden/prepimport");
  1292. // 일반 혈액준비관리
  1293. if(imp == "SAME"){
  1294. var prepabo = model.getValue("/root/main/temp/getprepbloodlisth/abo");
  1295. if(prepabo == ""){
  1296. messageBox("입고된 혈액이 아닙니다.", "I"); //입고된 혈액이 아닙니다.
  1297. return;
  1298. }
  1299. var blodstat = model.getValue("/root/main/temp/getprepbloodlisth/blodstat");
  1300. if(blodstat == "0"){
  1301. messageBox("삭제된 혈액입니다.", "I");
  1302. return;
  1303. }else if(blodstat == "3"){
  1304. messageBox("준비된 혈액입니다.", "I");
  1305. return;
  1306. }else if(blodstat =="4"){
  1307. messageBox("검사중인 혈액입니다.", "I");
  1308. return;
  1309. }else if(blodstat =="5"){
  1310. messageBox("불출대기중인 혈액입니다.", "I");
  1311. return;
  1312. }else if(blodstat =="6"){
  1313. messageBox("불출된 혈액입니다.", "I");
  1314. return;
  1315. }else if(blodstat =="7"){
  1316. messageBox("폐기된 혈액입니다.", "I");
  1317. return;
  1318. }
  1319. if(prepabo != aboinfo){
  1320. messageBox("혈액형이 다릅니다.", "I"); //혈액형이 다릅니다.
  1321. return;
  1322. }
  1323. }// 이형 혈액준비관리
  1324. else if(imp == "DIFF"){
  1325. }
  1326. var toddtm = getCurrentDate() + getCurrentTime();
  1327. if(model.getValue("/root/main/temp/getprepbloodlisth/validt") < toddtm){
  1328. messageBox("유효일시가 지난 혈액 ", "E008",""); // 입니다.
  1329. return;
  1330. }
  1331. // 처방 성분제제 준비혈액 성분제제 비교
  1332. var bbarcd = model.getValue("/root/main/temp/getprepbloodlisth/blodbarcd");
  1333. var bbarcd2 = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodbarcd");
  1334. if(bbarcd2.substring(0,4) == bbarcd.substr(0,4)){
  1335. var seqqnt = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/h");
  1336. if(seqqnt < grd_prepblood.rows){
  1337. messageBox("처방된 수량만 준비하십시오.", "I"); //처방된 수량만 준비하십시오
  1338. return;
  1339. }
  1340. }else{
  1341. messageBox("혈액 성분이 " , "E004", ""); //혈액 성분이 일치하지 않습니다.
  1342. return;
  1343. } // 변경후
  1344. grd_prepblood.addRow(false);
  1345. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodno", model.getValue("/root/main/temp/getprepbloodlisth/blodno"));
  1346. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcomnm", model.getValue("/root/main/temp/getprepbloodlisth/blodcomnm"));
  1347. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/abo", model.getValue("/root/main/temp/getprepbloodlisth/abo"));
  1348. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/iryn", model.getValue("/root/main/temp/getprepbloodlisth/iryn"));
  1349. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcomcd", model.getValue("/root/main/temp/getprepbloodlisth/blodcomcd"));
  1350. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodbarcd", model.getValue("/root/main/temp/getprepbloodlisth/blodbarcd"));
  1351. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodstat", model.getValue("/root/main/temp/getprepbloodlisth/blodstat"));
  1352. model.setValue("/root/main/blod/getprepbloodlist["+(grd_prepblood.rows-1)+"]/blodcmt", model.getValue("/root/main/temp/getprepbloodlisth/blodcmt"));
  1353. }
  1354. grd_prepblood.row = (grd_prepblood.rows-1);
  1355. var gridRow = grd_prepblood.rows; //===
  1356. grd_prepblood.topRow = gridRow;
  1357. }// end of fGetPrepBlodList()
  1358. // 환자별 comment 행추가
  1359. function fSetCmtAdd(){
  1360. grd_comment.addRow();
  1361. grd_comment.rowStatus(0) = 1;
  1362. }
  1363. // comment 삭제 - 바로삭제 이력관리 안함
  1364. function fCmtDel(){
  1365. //grd_comment.deleteRow(grd_comment.row);
  1366. grd_comment.rowStatus(grd_comment.row) = 4;
  1367. var cmt = grd_comment.getUpdateData();
  1368. var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1369. model.setValue("/root/send/pid", pid);
  1370. model.setValue("/root/send/cmt", cmt);
  1371. submit("TXLBT10303");
  1372. fGetBloodInfo(pid, "Select");
  1373. }
  1374. // comment 저장
  1375. function fCmtSave(){
  1376. var cmt = grd_comment.getUpdateData();
  1377. var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1378. model.setValue("/root/send/pid", pid);
  1379. model.setValue("/root/send/cmt", cmt);
  1380. submit("TXLBT10303");
  1381. fGetBloodInfo(pid, "Select");
  1382. }
  1383. /****************************************************************************************
  1384. * 수혈내역 "클릭시" 준비혈액 내역 조회
  1385. * 2008.07.08 김성희
  1386. * 1. 처방리스트가 없어도 환자 등록번호 입력하여 조회시엔
  1387. * 그 환자의 기존 수혈내역 존재시 수혈내역을 클릭하여 조회한다.
  1388. *****************************************************************************************/
  1389. function fGetPrepBlodSpec(){
  1390. //var comcd = "";
  1391. //var blodbarcd = "";
  1392. //var pid = "";
  1393. //var acptno = "";
  1394. //var prcphopedd = "";
  1395. var blodbarcd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/blodbarcd");
  1396. var blodcomcd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/blodcomcd");
  1397. var pid = model.getValue("/root/hidden2/ref/pid");
  1398. //var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1399. var prcphopedd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/prcphopedd");
  1400. var iryn = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/iryn");
  1401. var tnsreqacptno = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/tnsreqacptno");
  1402. if(iryn == ""){
  1403. iryn = "N";
  1404. }
  1405. model.setValue("/root/send/blodbarcd" ,blodbarcd);
  1406. model.setValue("/root/send/blodcomcd" ,blodcomcd);
  1407. model.setValue("/root/send/pid" ,pid);
  1408. model.setValue("/root/send/prcphopedd" ,prcphopedd);
  1409. model.setValue("/root/send/clickflag" ,"03");
  1410. model.setValue("/root/send/iryn" ,iryn);
  1411. model.setValue("/root/send/tnsreqacptno" ,tnsreqacptno);
  1412. submit("TRLBT10205");
  1413. copyNodeType("/root/main/blod", "/root/main/temp2", "replace");
  1414. grd_prepblood.refresh();
  1415. // 이미 준비된 혈액 체크박스 비활성화
  1416. for(i=0; i< grd_prepblood.rows; i++){
  1417. if(model.getValue("/root/main/blod/getprepbloodlist["+i+"]/blodstat") > 3 ){
  1418. grd_prepblood.isReadOnly(i, 1) = true;
  1419. }else{
  1420. grd_prepblood.isReadOnly(i, 1) = false;
  1421. }
  1422. }
  1423. grd_prepblood.row =
  1424. (grd_prepblood.rows-1);
  1425. var gridRow = grd_prepblood.rows;
  1426. grd_prepblood.topRow = gridRow;
  1427. }
  1428. // 장현식 선생님이 혈액성분 클릭시엔 필요없다고 하셨음. 삭제예정
  1429. // 혈액성분 클릭하면 준비혈액내역 조회- param : "01","02" -
  1430. // 수혈내역 클릭하면 준비혈액내역 조회- param : "03"
  1431. function fGetPrepBloodCom(r, param){
  1432. //r ==1 조회버튼 클릭 또는 처방목록 그리드 클릭시
  1433. if (r == 1){
  1434. grd_com.row= 1;
  1435. }
  1436. var comcd = "";
  1437. var blodbarcd = "";
  1438. var pid = "";
  1439. var acptno = "";
  1440. var prcphopedd = "";
  1441. //param 에 따라 준비혈액내역 조회 되는 조건이 다르다.
  1442. //01,02 ==> blodcomstat = '2' (준비상태) , 03 ==> bloodcomstat IN ('4','5') (불출대기, 혈액불출)
  1443. if(param == "01" || param == "02"){ //조회버튼 클릭, 처방목록 그리드 클릭, 혈액성분 그리드 클릭
  1444. comcd = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd");
  1445. pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1446. acptno = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno");
  1447. model.setValue("/root/send/blodcomcd", comcd);
  1448. model.setValue("/root/send/pid", pid);
  1449. model.setValue("/root/send/tnsreqacptno", acptno);
  1450. model.setValue("/root/send/clickflag", param);
  1451. }else if(param == "03"){ //수혈내역클릭
  1452. blodbarcd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/blodbarcd");
  1453. pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1454. prcphopedd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/prcphopedd");
  1455. model.setValue("/root/send/blodbarcd", blodbarcd);
  1456. model.setValue("/root/send/pid", pid);
  1457. model.setValue("/root/send/prcphopedd", prcphopedd);
  1458. model.setValue("/root/send/clickflag", param);
  1459. }
  1460. submit("TRLBT10205");
  1461. copyNodeType("/root/main/blod", "/root/main/temp2", "replace");
  1462. grd_prepblood.refresh();
  1463. // 이미 준비된 혈액 체크박스 비활성화
  1464. for(i=0; i< grd_prepblood.rows; i++){
  1465. if(model.getValue("/root/main/blod/getprepbloodlist["+i+"]/blodstat") > 3 ){
  1466. grd_prepblood.isReadOnly(i, 1) = true;
  1467. }else{
  1468. grd_prepblood.isReadOnly(i, 1) = false;
  1469. }
  1470. }
  1471. grd_prepblood.row =
  1472. (grd_prepblood.rows-1);
  1473. var gridRow = grd_prepblood.rows;
  1474. grd_prepblood.topRow = gridRow;
  1475. }
  1476. /************************************
  1477. // 수혈내역 클릭하면 준비혈액내역에
  1478. // 선택한 처방일자의 혈액성분별 준비혈액내역을 조회
  1479. // 만약 준비중인 혈액이 있는데 준비완료 하지않고 수혈 내역을 클릭했을때..
  1480. // 메시지 출력
  1481. // 2008-07-18 김성희
  1482. ************************************/
  1483. function fGetPrepBloodDetllist(row){
  1484. var prepTF = fPrepBlodYN("detllist");
  1485. if(prepTF){
  1486. return;
  1487. }else if(!prepTF){
  1488. //준비혈액내역조회
  1489. fGetPrepBlodSpec();
  1490. }
  1491. }
  1492. /************************************
  1493. // 처방내역 클릭시
  1494. // 준비중인 혈액 내역이 있고, 선택한 환자 번호와 준비중인 환자 번호가 다를때
  1495. // 메시지 출력
  1496. // 2008-07-29 김성희
  1497. ************************************/
  1498. function fGetPrcpList(){
  1499. var pid = "";
  1500. var keepspcno = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/keepspcno");
  1501. var pida = model.getValue("/root/hidden2/ref/pid").getTrim();
  1502. if(pida == ""){
  1503. pid = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid");
  1504. }else{
  1505. pid = pida;
  1506. }
  1507. //의사전달사항
  1508. model.setValue("/root/hidden/prcpremfact", model.getValue("/root/main/getblodprcplist["+ grd_prcplist.row +"]/prcpremfact"));
  1509. tar_prcpremfact.refresh();
  1510. //준비중인 혈액이 있는지 체크
  1511. var prepTF = fPrepBlodYN("prcplist");
  1512. if(prepTF){
  1513. return;
  1514. }else if(!prepTF){
  1515. // 혈액정보조회
  1516. fGetBloodInfo(pid, "Select");
  1517. }
  1518. //선택한 처방이 WB일때 자가혈액 있는 경우 팝업창
  1519. if(model.getValue("/root/main/getblodprcplist["+ grd_prcplist.row +"]/wbcnt") > 0){
  1520. messageBox("자가혈액이 있습니다.","I");
  1521. }
  1522. //2009.07.29 수정 변경요청번호 1951
  1523. if(keepspcno.getTrim()== ""){
  1524. messageBox("보관검체가 없습니다.", "I");
  1525. }
  1526. // 박정은 변경요청번호 9948 우선순위 SY
  1527. if(model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/jjno") != ""){
  1528. messageBox("지정헌혈 정보가 있습니다. \n" + model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/jjno"), "I");
  1529. }
  1530. }
  1531. // 혈액정보 결과값 더블 클릭시 검사항목 결과 히스토리 보여주기
  1532. function fGetBlodInfoHistory(){
  1533. //grp_history.visible = true;
  1534. var rsltrow = getNodesetCount("/root/main/getbloodinfo/getblodinfolist");
  1535. var tclsnm = grd_lastrslt.caption;
  1536. var tnm = tclsnm.split("^");
  1537. for(i=0; i< rsltrow; i++){
  1538. if(grd_lastrslt.col == i){
  1539. if(tnm[i] == model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnmabbr")){
  1540. model.setValue("/root/send/tclscd", model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/testcd"));
  1541. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getpatinfo/pid"));
  1542. submit("TRLBT10407");
  1543. for(j = 1; j < datagrid1.rows ; j++){
  1544. if(isSearchString((datagrid1.valueMatrix(j, datagrid1.colRef("rslt"))).toUpperCase(), "POSITIVE")){
  1545. datagrid1.cellstyle("color", j, datagrid1.colRef("rslt")) = "#ff0000";
  1546. datagrid1.cellstyle("font-weight", j, datagrid1.colRef("rslt")) = "bold";
  1547. }else{
  1548. datagrid1.cellstyle("color", j, datagrid1.colRef("rslt")) = "#000000";
  1549. datagrid1.cellstyle("font-weight", j, datagrid1.colRef("rslt")) = "normal";
  1550. }
  1551. }
  1552. //datagrid1.rebuild()
  1553. grp_history.visible = true;
  1554. }
  1555. }
  1556. }
  1557. }
  1558. // 프린트 설정
  1559. function fPrintSet(){
  1560. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1561. if(count == 0) {
  1562. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1563. }
  1564. open("SPLLC90100_바코드프린터설정.xrw", "", "", "", "", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1565. }
  1566. // 응급 체크시 lis.lbthtnsr erprcpflag 2로 변경
  1567. function fSetErprcpflag(){
  1568. var erchk = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/erprcpflag");
  1569. var errow = grd_prcplist.row;
  1570. if(erchk == "Y" ){
  1571. model.setValue("/root/send/erflag", "2");
  1572. }else{
  1573. //model.setValue("/root/send/erflag", "N");
  1574. model.setValue("/root/send/erflag", "0");
  1575. }
  1576. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1577. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  1578. submit("TXLBT10203");
  1579. fGetBloodPrcpList("btn");
  1580. /*
  1581. if(erchk =="Y"){
  1582. grd_prcplist.insertRow(1);
  1583. //model.copyNode("/root/main/getblodprcplist[1]", "/root/main/getblodprcplist["+errow+"]");
  1584. model.setValue("/root/main/getblodprcplist[1]/pid", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/pid"));
  1585. model.setValue("/root/main/getblodprcplist[1]/patnm", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/patnm"));
  1586. model.setValue("/root/main/getblodprcplist[1]/tclsscrnnm", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/tclsscrnnm"));
  1587. model.setValue("/root/main/getblodprcplist[1]/abo", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/abo"));
  1588. model.setValue("/root/main/getblodprcplist[1]/iryn", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/iryn"));
  1589. model.setValue("/root/main/getblodprcplist[1]/no", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/no"));
  1590. model.setValue("/root/main/getblodprcplist[1]/erprcpflag", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/erprcpflag"));
  1591. model.setValue("/root/main/getblodprcplist[1]/prcphopedd", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/prcphopedd"));
  1592. model.setValue("/root/main/getblodprcplist[1]/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/tnsreqacptno"));
  1593. model.setValue("/root/main/getblodprcplist[1]/h", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/h"));
  1594. model.setValue("/root/main/getblodprcplist[1]/blodcomcd", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/blodcomcd"));
  1595. model.setValue("/root/main/getblodprcplist[1]/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/tnsreqacptno"));
  1596. model.setValue("/root/main/getblodprcplist[1]/blodbarcd", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/blodbarcd"));
  1597. model.setValue("/root/main/getblodprcplist[1]/prcperflag", model.getValue("/root/main/getblodprcplist["+(errow+1)+"]/prcperflag"));
  1598. grd_prcplist.deleteRow(errow+1);
  1599. }
  1600. */
  1601. }
  1602. // 준비취소
  1603. function fPrepCancel(){
  1604. var pid = model.getValue("/root/hidden2/ref/pid");
  1605. //model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1606. model.setValue("/root/send/pid", pid);
  1607. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  1608. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd"));
  1609. model.setValue("/root/send/gbn", model.getValue("/root/hidden/cancel/cancelgbn")); // 1=접수취소 else 준비취소
  1610. model.setValue("/root/send/cancelflag", "prep");
  1611. var blodnolist = "";
  1612. var acptnolist = "";
  1613. for(i=0; i<grd_prepblood.rows; i++){
  1614. if(model.getValue("/root/main/blod/getprepbloodlist["+i+"]/chk")=="Y"){
  1615. blodnolist += model.getValue("/root/main/blod/getprepbloodlist["+i+"]/blodno") + "▦" ;
  1616. acptnolist += model.getValue("/root/main/blod/getprepbloodlist["+i+"]/tnsreqacptno") + "▦" ;
  1617. //acptnolist += model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno") + "▦" ; // 다른화면에서 접수번호 달라도 같이 취소되야되서 수정함 준비화면은 같은번호 계속보내면됨
  1618. }
  1619. }
  1620. model.setValue("/root/send/blodnolist", blodnolist); // 1=접수취소 else 준비취소
  1621. model.setValue("/root/send/acptnolist", acptnolist);
  1622. //if(submit("TXLBT10204")==true){
  1623. if(submit("TXLLB00101")==true){
  1624. model.removeNodeset("/root/main/blod/getprepbloodlist");
  1625. grd_prepblood.rebuild();
  1626. fGetBloodPrcpList("cancel");
  1627. }
  1628. }
  1629. // 탑정보 위한 조회
  1630. function fGetTopInfo(){
  1631. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1632. model.setValue("/root/send/prcpdd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpdd"));
  1633. model.setValue("/root/send/iogbn", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpgenrflag"));
  1634. submit("TRLZZ00107");
  1635. fUpPatinfo();
  1636. }
  1637. // 탑정보
  1638. function fUpPatinfo(){
  1639. if(grd_prcplist.rows> 1){
  1640. if(model.getValue("/root/init/prcpinfo/prcpdd")!=""){
  1641. setParameter("errflag", "Y");
  1642. setParameter("condparam", "S" + "▦" + model.getvalue("/root/init/prcpinfo/prcpdd")+ "▦"
  1643. + model.getvalue("/root/init/prcpinfo/execprcpuniqno") + "▦"
  1644. + model.getvalue("/root/init/prcpinfo/instcd") );
  1645. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  1646. }
  1647. var paminfo = getGlobalVariable("paminfo");
  1648. if(paminfo.length < 1){ //상단정보가 없는 경우
  1649. delPatientInfos(); //환자정보 전체 삭제
  1650. var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  1651. var hngnm = model.getValue("/root/main/getbloodinfo/getpatinfo/patnm");
  1652. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  1653. setPatientInfo("pid" , pid); //등록번호
  1654. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  1655. }
  1656. }
  1657. }
  1658. // 간호부전송 버튼 보이기
  1659. function fSetNurseBtn(){
  1660. btn_nurse2.visible = false;
  1661. if(model.getValue("/root/hidden2/ref/spclblood") == "1"){
  1662. btn_nurse2.visible = true;
  1663. }
  1664. }
  1665. // 처방목록에서 준비 and 접수 취소
  1666. function fExeAcptPrepCancel(){
  1667. if(grd_prcplist.row < 1){
  1668. messageBox("접수 취소할 처방을 선택하십시오.", "I");
  1669. return;
  1670. }
  1671. if("1"==model.getValue("/root/hidden/cancel/prepLog")){ // 신청 선택시
  1672. var rtn = messageBox("신청취소를 ", "Q004" );
  1673. if(rtn == "7" ){
  1674. return;
  1675. }
  1676. }else{
  1677. var rtn = messageBox("접수취소를 ", "Q004" );
  1678. if(rtn == "7" ){
  1679. return;
  1680. }
  1681. }
  1682. model.setValue("/root/send/preplog", model.getValue("/root/hidden/cancel/prepLog")); // prep 로그로 남길지
  1683. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  1684. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1685. model.setValue("/root/send/prcpdd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpdd"));
  1686. if(submit("TXLBT10206")==true){
  1687. fGetBloodPrcpList("btn");
  1688. //fGetBloodPrcpList("bcd");
  1689. }
  1690. }
  1691. //수혈예약일시 변경 메뉴
  1692. function fGetMouseDown(){
  1693. if(model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpgenrflag") == "O"){
  1694. window.setPopupMenu(true , "/root/hidden/popupmenu/grid/item" , "name", "func" , false);
  1695. }
  1696. }
  1697. //수혈예약일시 변경
  1698. function fGetTnsRsrv(){
  1699. var prcphopedd = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcphopedd");
  1700. var rsrvdd = prcphopedd.substring(0,8);
  1701. var rsrvtm = prcphopedd.substring(8);
  1702. model.setValue("/root/hidden/rsrvinfo/rsrvdd", rsrvdd);
  1703. model.setValue("/root/hidden/rsrvinfo/rsrvtm", rsrvtm);
  1704. grp_rsrv.visible = true;
  1705. grp_rsrv.refresh();
  1706. }
  1707. //수혈예약일시 변경
  1708. function fSetTnsRsrvDT(){
  1709. model.setValue("/root/send/tnsrsrv/pid" , model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid")); //등록번호
  1710. model.setValue("/root/send/tnsrsrv/tnsreqacptno" , model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno")); //접수번호
  1711. model.setValue("/root/send/tnsrsrv/blodcomcd" , model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd")); //성분제제(처방코드)
  1712. model.setValue("/root/send/tnsrsrv/rsrvdd" , model.getValue("/root/hidden/rsrvinfo/rsrvdd")); //예약일자
  1713. model.setValue("/root/send/tnsrsrv/rsrvtm" , model.getValue("/root/hidden/rsrvinfo/rsrvtm")); //예약시간
  1714. if(submit("TXLBT10207")==true){
  1715. fGetBloodPrcpList("bcd");
  1716. }
  1717. grp_rsrv.visible = false;
  1718. }
  1719. //BMT 실시 정보
  1720. function fGetBMTInfo(gbn){
  1721. //--------------------------------------------------------------------
  1722. // BMT 실시 정보
  1723. model.setValue("/root/send/bmtsearchgbn" , gbn);
  1724. if(gbn == "info"){
  1725. submit("TRLBT10209");
  1726. }else if(gbn == "list"){
  1727. submit("TRLBT10210");
  1728. grp_bmtinfo.visible = true;
  1729. }
  1730. }
  1731. ]]>
  1732. </script>
  1733. </xhtml:head>
  1734. <xhtml:body pagewidth="1200" pageheight="710" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1735. <group id="group3" scroll="auto" style="left:0px; top:0px; width:1193px; height:695px; ">
  1736. <datagrid id="grd_comment" nodeset="/root/main/getbloodinfo/getpatcmt" caption="등록일자^Comment" colsep="^" colwidth="119, 390" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:645px; top:276px; width:548px; height:71px; ">
  1737. <col ref="rgstdt" format="yyyy-mm-dd hh:nn"/>
  1738. <col editmode="input" ref="patcmt" type="combo">
  1739. <choices>
  1740. <itemset nodeset="/root/init/LB0122">
  1741. <label ref="nm"/>
  1742. <value ref="nm"/>
  1743. </itemset>
  1744. </choices>
  1745. </col>
  1746. </datagrid>
  1747. <datagrid id="grd_com" nodeset="/root/main/getbloodinfo/getbloodcom" caption="혈액성분^From No^To No^준비수량^comcd" colsep="^" colwidth="198, 110, 120, 80, 0" dataheight="23" defaultrows="1" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:645px; top:422px; width:548px; height:50px; ">
  1748. <col ref="blodcomnm"/>
  1749. <col ref="fromno"/>
  1750. <col ref="tono"/>
  1751. <col ref="pcnt"/>
  1752. <col ref="blodcomcd"/>
  1753. </datagrid>
  1754. <group id="group100" scroll="auto" style="left:0px; top:0px; width:645px; height:695px; ">
  1755. <datagrid id="grd_prcplist" nodeset="/root/main/getblodprcplist" caption="등록번호^환자명^처방^Type^I^수량^E^보관^처방부서^예약일시^접수시간^reqqnt^성분제제 히든^접수번호^erhidden^barcd^prcpgenrflag^prcpdd^abrnblodyn^kabo^keepspcno^dnorcnt^wbcnt^의사전달사항" colsep="^" colwidth="70, 68, 67, 66, 27, 30, 30, 50, 80, 120, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300" dataheight="23" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:25px; width:640px; height:503px; ">
  1756. <col ref="pid" style="font-weight:bold; "/>
  1757. <col ref="patnm" style="font-weight:bold; "/>
  1758. <col ref="tclsscrnnm" style="font-weight:bold; "/>
  1759. <col ref="abo" style="font-weight:bold; "/>
  1760. <col ref="iryn" type="output" style="font-weight:bold; text-align:center; "/>
  1761. <col ref="no" style="font-weight:bold; text-align:center; "/>
  1762. <col checkvalue="Y,N" ref="erprcpflag" type="checkbox"/>
  1763. <col ref="keep" style="font-weight:bold; "/>
  1764. <col ref="orddeptnm"/>
  1765. <col ref="prcphopedd" format="yyyy-mm-dd hh:nn" style="font-weight:bold; "/>
  1766. <col ref="tnsreqacptdt" format="yyyy-mm-dd hh:nn:ss"/>
  1767. <col ref="h"/>
  1768. <col ref="blodcomcd"/>
  1769. <col ref="tnsreqacptno"/>
  1770. <col ref="prcperflag"/>
  1771. <col ref="blodbarcd"/>
  1772. <col ref="prcpgenrflag"/>
  1773. <col ref="prcpdd"/>
  1774. <col ref="abrnblodyn"/>
  1775. <col ref="kabo"/>
  1776. <col ref="keepspcno"/>
  1777. <col ref="dnorcnt"/>
  1778. <col ref="wbcnt"/>
  1779. <col ref="prcpremfact"/>
  1780. <script type="javascript" ev:event="onclick">
  1781. <![CDATA[
  1782. //model.setValue("/root/hidden/ref/pid","");
  1783. if(grd_prcplist.isCell(event.target) && grd_prcplist.row >= grd_prcplist.fixedRows){
  1784. if(grd_prcplist.col ==7){
  1785. // 응급 체크시 lis.lbthtnsr erprcpflag 변경
  1786. fSetErprcpflag();
  1787. }else{
  1788. fGetPrcpList();
  1789. }
  1790. }
  1791. //클릭시 예약일시 변경 숨기기
  1792. grp_rsrv.visible = false;
  1793. ]]>
  1794. </script>
  1795. <script type="javascript" ev:event="onmousedown">
  1796. <![CDATA[
  1797. //메뉴띄우기
  1798. fGetMouseDown();
  1799. ]]>
  1800. </script>
  1801. <script type="javascript" ev:event="DOMFocusOut">
  1802. <![CDATA[
  1803. window.setPopupMenu(false);
  1804. ]]>
  1805. </script>
  1806. <script type="javascript" ev:event="onmouseout">
  1807. <![CDATA[
  1808. window.setPopupMenu(false);
  1809. ]]>
  1810. </script>
  1811. <script type="javascript" ev:event="onaftersort">
  1812. <![CDATA[
  1813. grd_prcplist.gridToInstance();
  1814. ]]>
  1815. </script>
  1816. </datagrid>
  1817. </group>
  1818. <datagrid id="grd_detllist" nodeset="/root/main/getbloodinfo/getblooddetllist" caption="처방일자^혈액성분^Type^I^처방수량^준비수량^혈액성분코드^blodbarcd^tnsreqacptno" colsep="^" colwidth="119, 100, 75, 30, 160, 110, 0,0,0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:556px; width:640px; height:138px; ">
  1819. <col ref="prcphopedd" format="yyyy-mm-dd"/>
  1820. <col ref="blodcomnm"/>
  1821. <col ref="aborh"/>
  1822. <col ref="iryn" type="output" style="font-weight:bold; text-align:center; "/>
  1823. <col ref="reqqty"/>
  1824. <col ref="cno"/>
  1825. <col ref="blodcomcd"/>
  1826. <col ref="blodbarcd"/>
  1827. <col ref="tnsreqacptno"/>
  1828. <script type="javascript" ev:event="onclick">
  1829. <![CDATA[
  1830. // 수혈내역 클릭하면 준비혈액내역 조회
  1831. //datagrid click or dbclick 시점에 현재 click target이 data 영역인지 check
  1832. if(isDataCell("grd_detllist")){
  1833. fGetPrepBloodDetllist(grd_detllist.row);
  1834. }
  1835. ]]>
  1836. </script>
  1837. <script type="javascript" ev:event="onaftersort">
  1838. <![CDATA[
  1839. grd_detllist.gridToInstance();
  1840. ]]>
  1841. </script>
  1842. </datagrid>
  1843. <datagrid id="grd_prepblood" nodeset="/root/main/blod/getprepbloodlist" caption="^No^혈액번호^혈액성분^혈액형^I^Comment^준비일자^검사일자^불출일자^성분제제코드^blodbarcd^blodstat^pid^tnsreqacptno^prcpblodbarcd^prcpblodcomcd^testpsnid^tnsreqacptno" colsep="^" colwidth="25, 50, 80, 110, 72, 30, 100, 100, 100, 100 ,0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:645px; top:501px; width:548px; height:193px; font-weight:bold; ">
  1844. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  1845. <col ref="pno"/>
  1846. <col ref="blodno"/>
  1847. <col ref="blodcomnm"/>
  1848. <col ref="abo"/>
  1849. <col ref="iryn" type="output" style="font-weight:bold; text-align:center; "/>
  1850. <col ref="blodcmt" type="input"/>
  1851. <col ref="prepdt" format="yyyy-mm-dd"/>
  1852. <col ref="testdt" format="yyyy-mm-dd"/>
  1853. <col ref="delivedt" format="yyyy-mm-dd"/>
  1854. <col ref="blodcomcd"/>
  1855. <col ref="blodbarcd"/>
  1856. <col ref="blodstat"/>
  1857. <col ref="pid"/>
  1858. <col ref="tnsreqacptno"/>
  1859. <col ref="prcpblodbarcd"/>
  1860. <col ref="prcpblodcomcd"/>
  1861. <col ref="testpsnid"/>
  1862. <col ref="tnsreqacptno"/>
  1863. <script type="javascript" ev:event="onaftersort">
  1864. <![CDATA[
  1865. grd_prepblood.gridToInstance();
  1866. ]]>
  1867. </script>
  1868. </datagrid>
  1869. <caption id="caption1" class="tit_2" style="left:5px; top:5px; width:141px; height:13px; ">혈액은행 처방 목록</caption>
  1870. <line id="line2" class="line_1" style="x1:645px; y1:141px; x2:1193px; y2:141px; "/>
  1871. <line id="line1" class="line_1" style="x1:0px; y1:22px; x2:640px; y2:22px; "/>
  1872. <line id="line6" class="line_3" style="x1:645px; y1:247px; x2:1193px; y2:247px; "/>
  1873. <caption id="caption9" class="tit_2" style="left:650px; top:5px; width:80px; height:13px; ">환자정보</caption>
  1874. <line id="line7" class="line_1" style="x1:645px; y1:20px; x2:1193px; y2:20px; "/>
  1875. <caption id="caption13" class="tit_2" style="left:650px; top:256px; width:139px; height:13px; ">환자별 Comment</caption>
  1876. <line id="line8" class="line_1" style="x1:645px; y1:271px; x2:1193px; y2:271px; "/>
  1877. <caption id="caption14" class="tit_2" style="left:5px; top:536px; width:91px; height:13px; ">수혈 내역</caption>
  1878. <line id="line9" class="line_1" style="x1:0px; y1:551px; x2:640px; y2:551px; "/>
  1879. <caption id="caption15" class="tit_2" style="left:650px; top:481px; width:121px; height:13px; ">준비 혈액 내역</caption>
  1880. <line id="line10" class="line_1" style="x1:645px; y1:496px; x2:1193px; y2:496px; "/>
  1881. <caption id="caption17" class="tit_2" style="left:650px; top:126px; width:100px; height:13px; ">환자 혈액정보</caption>
  1882. <line id="line16" class="line_1" style="x1:645px; y1:417px; x2:1193px; y2:417px; "/>
  1883. <caption id="caption7" class="tit_2" style="left:650px; top:402px; width:91px; height:13px; ">혈액성분</caption>
  1884. <button id="btn_addrow" class="btn2_letter3" style="left:1039px; top:251px; width:53px; height:19px; ">
  1885. <caption>행추가</caption>
  1886. <script type="javascript" ev:event="DOMActivate">
  1887. <![CDATA[
  1888. fSetCmtAdd();
  1889. ]]>
  1890. </script>
  1891. </button>
  1892. <button id="button1" class="btn2_letter3" style="left:1095px; top:251px; width:53px; height:19px; ">
  1893. <caption>행삭제</caption>
  1894. <script type="javascript" ev:event="DOMActivate">
  1895. <![CDATA[
  1896. fCmtDel();
  1897. ]]>
  1898. </script>
  1899. </button>
  1900. <button id="btn_save" class="btn2_letter2" style="left:1151px; top:251px; width:42px; height:19px; ">
  1901. <caption>저장</caption>
  1902. <script type="javascript" ev:event="DOMActivate">
  1903. <![CDATA[
  1904. fCmtSave();
  1905. ]]>
  1906. </script>
  1907. </button>
  1908. <output id="opt_pid" ref="/root/main/getbloodinfo/getpatinfo/pid" class="font_pid" style="left:645px; top:25px; width:300px; height:65px; text-align:left; "/>
  1909. <output id="opt_patnm" ref="/root/main/getbloodinfo/getpatinfo/patnm" class="font_pid" style="left:947px; top:25px; width:245px; height:65px; font-size:34ptpt; text-align:left; "/>
  1910. <output id="opt_sexage" ref="/root/main/getbloodinfo/getpatinfo/sexage" class="output_fix" visibility="hidden" style="left:842px; top:395px; width:55px; height:19px; "/>
  1911. <output id="opt_regno" ref="/root/main/getbloodinfo/getpatinfo/rstno" class="output_fix" style="left:733px; top:95px; width:95px; height:19px; "/>
  1912. <output id="opt_ioflag" ref="/root/main/getbloodinfo/getpatinfo/prcpgenrflag" class="output_fix" visibility="hidden" style="left:900px; top:395px; width:80px; height:19px; "/>
  1913. <output id="opt_dept" ref="/root/main/getbloodinfo/getpatinfo/orddeptnm" class="output_fix" visibility="hidden" style="left:983px; top:395px; width:60px; height:19px; "/>
  1914. <output id="opt_wardroom" ref="/root/main/getbloodinfo/getpatinfo/wardroom" class="output_fix" visibility="hidden" style="left:1096px; top:395px; width:90px; height:19px; "/>
  1915. <output id="opt_abo" ref="/root/main/getbloodinfo/getpatinfo/aborh" class="font_ab" style="left:645px; top:171px; width:150px; height:75px; font-size:46pt; word-wrap:word; "/>
  1916. <output id="opt_orddrnm" ref="/root/main/getbloodinfo/getpatinfo/orddrnm" class="output_fix" visibility="hidden" style="left:1045px; top:395px; width:49px; height:19px; "/>
  1917. <line id="line3" class="line_2" style="x1:945px; y1:26px; x2:945px; y2:88px; "/>
  1918. <output id="output2" ref="/root/main/getbloodinfo/getpatinfo/reqqnt" visibility="hidden" style="left:1105px; top:5px; width:30px; height:19px; "/>
  1919. <output id="output3" ref="/root/main/getbloodinfo/getpatinfo/blodcomcd" visibility="hidden" style="left:1150px; top:5px; width:30px; height:19px; "/>
  1920. <output id="output4" ref="/root/main/getbloodinfo/getprepcnt/prepcnt" visibility="hidden" style="left:855px; top:475px; width:50px; height:19px; "/>
  1921. <button id="button2" class="btn2_letter3" style="left:1140px; top:475px; width:53px; height:19px; ">
  1922. <caption>재출력</caption>
  1923. <script type="javascript" ev:event="DOMActivate">
  1924. <![CDATA[
  1925. //fExeBarcdPrnt();
  1926. fExeBarcdPrnt("reprnt");
  1927. ]]>
  1928. </script>
  1929. </button>
  1930. <!--<object id="CommAX" visibility="hidden" clsid="{35cc9cfa-e6f8-4b22-b6d2-fe7cd108f943}" style="left:165px; top:275px; width:60px; height:35px; "/>-->
  1931. <datagrid id="grd_lastrslt" nodeset="/root/main/getbloodinfo/getblodinforslt/row" visibility="visible" caption="a^b^c^d^e^f^g^h^i^j^k^l" colsep="^" colwidth="0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" defaultrows="2" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:798px; top:146px; width:395px; height:99px; ">
  1932. <col ref="a1"/>
  1933. <col ref="a2"/>
  1934. <col ref="a3"/>
  1935. <col ref="a4"/>
  1936. <col ref="a5"/>
  1937. <col ref="a6"/>
  1938. <col ref="a7"/>
  1939. <col ref="a8"/>
  1940. <col ref="a9"/>
  1941. <col ref="a10"/>
  1942. <col ref="a11"/>
  1943. <col ref="a12"/>
  1944. <script type="javascript" ev:event="ondblclick">
  1945. <![CDATA[
  1946. if(grd_lastrslt.isCell(event.target) && grd_lastrslt.row >= grd_lastrslt.fixedRows){
  1947. fGetBlodInfoHistory();
  1948. }
  1949. ]]>
  1950. </script>
  1951. </datagrid>
  1952. <group id="grp_bmtinfo" visibility="hidden" style="left:860px; top:120px; width:330px; height:215px; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1953. <datagrid id="grd_bmtinfo" nodeset="/root/main/getBMTInfo/getBMTInfoList" caption="이식전 btype^공여자 btype^이식일자^차수" colsep="^" colwidth="100, 80, 80, 40" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:324px; height:190px; ">
  1954. <col ref="btype"/>
  1955. <col ref="dnorbtype"/>
  1956. <col ref="trnptdd" format="yyyy-mm-dd"/>
  1957. <col ref="trnptdg"/>
  1958. </datagrid>
  1959. <button id="button7" class="btn2_letter2" style="left:280px; top:191px; width:42px; height:19px; ">
  1960. <caption>닫기</caption>
  1961. <script type="javascript" ev:event="DOMActivate">
  1962. <![CDATA[
  1963. grp_bmtinfo.visible = false;
  1964. ]]>
  1965. </script>
  1966. </button>
  1967. </group>
  1968. <group id="grp_history" visibility="hidden" style="left:979px; top:145px; width:213px; height:189px; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1969. <datagrid id="datagrid1" nodeset="/root/main/getbloodinfo/blodrslthistory" caption="일자^결과" colsep="^" colwidth="100, 88" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:211px; height:163px; ">
  1970. <col ref="rsltdt" format="yyyy-mm-dd"/>
  1971. <col ref="rslt"/>
  1972. </datagrid>
  1973. <button id="button3" class="btn2_letter2" style="left:168px; top:166px; width:42px; height:19px; ">
  1974. <caption>닫기</caption>
  1975. <script type="javascript" ev:event="DOMActivate">
  1976. <![CDATA[
  1977. grp_history.visible = false;
  1978. ]]>
  1979. </script>
  1980. </button>
  1981. </group>
  1982. <select id="checkbox1" ref="/root/hidden/prepend" visibility="hidden" overflow="visible" appearance="full" style="left:725px; top:3px; width:75px; height:14px; border-style:none; ">
  1983. <!-- 사용안함 -->
  1984. <choices>
  1985. <item>
  1986. <label>준비완료</label>
  1987. <value>1</value>
  1988. </item>
  1989. </choices>
  1990. </select>
  1991. <button id="button4" class="btn2_letter5" visibility="hidden" style="left:1025px; top:0px; width:75px; height:19px; ">
  1992. <caption>탑정보(숨)</caption>
  1993. <script type="javascript" ev:event="DOMActivate">
  1994. <![CDATA[
  1995. fGetTopInfo();
  1996. ]]>
  1997. </script>
  1998. </button>
  1999. <select id="checkbox2" ref="/root/hidden/cancel/cancelgbn" visibility="hidden" overflow="visible" appearance="full" style="left:1023px; top:477px; width:70px; height:15px; border-style:none; ">
  2000. <choices>
  2001. <item>
  2002. <label>접수취소</label>
  2003. <value>1</value>
  2004. </item>
  2005. </choices>
  2006. </select>
  2007. <button id="button5" class="btn2_letter2" visibility="hidden" style="left:1095px; top:475px; width:42px; height:19px; ">
  2008. <caption>취소</caption>
  2009. <script type="javascript" ev:event="DOMActivate">
  2010. <![CDATA[
  2011. fPrepCancel();
  2012. ]]>
  2013. </script>
  2014. </button>
  2015. <button id="btn_nurse2" class="btn2_letter5" style="left:498px; top:0px; width:75px; height:19px; ">
  2016. <caption>간호부전송</caption>
  2017. <script type="javascript" ev:event="DOMActivate">
  2018. <![CDATA[
  2019. open("SPLBT90200_특수혈액간호부전송.xrw");
  2020. ]]>
  2021. </script>
  2022. </button>
  2023. <button id="button6" class="btn2_letter4" style="left:576px; top:0px; width:64px; height:19px; ">
  2024. <caption>접수취소</caption>
  2025. <script type="javascript" ev:event="DOMActivate">
  2026. <![CDATA[
  2027. // 처방목록에서 준비 and 접수 취소
  2028. fExeAcptPrepCancel();
  2029. ]]>
  2030. </script>
  2031. </button>
  2032. <caption id="caption10" class="cell_1" style="left:1076px; top:94px; width:35px; height:23px; vertical-align:middle; ">일시</caption>
  2033. <caption id="caption11" class="cell_1" style="left:975px; top:94px; width:35px; height:23px; vertical-align:middle; ">Do</caption>
  2034. <caption id="caption5" class="cell_1" style="left:645px; top:94px; width:85px; height:23px; vertical-align:middle; ">주민등록번호</caption>
  2035. <caption id="caption18" class="cell_1" style="left:874px; top:94px; width:35px; height:23px; vertical-align:middle; ">Pt</caption>
  2036. <line id="line12" class="line_3" style="x1:645px; y1:116px; x2:1190px; y2:116px; "/>
  2037. <line id="line5" class="line_2" style="x1:645px; y1:91px; x2:1193px; y2:91px; "/>
  2038. <output id="output11" ref="/root/main/getBMTInfo/getBMTInfo/trnptdd" class="output_fix" style="left:1113px; top:95px; width:80px; height:19px; "/>
  2039. <output id="output13" ref="/root/main/getBMTInfo/getBMTInfo/btype" class="output_fix" style="left:912px; top:95px; width:60px; height:19px; "/>
  2040. <output id="output1" ref="/root/main/getBMTInfo/getBMTInfo/dnorbtype" class="output_fix" style="left:1013px; top:95px; width:60px; height:19px; "/>
  2041. <caption id="caption12" class="cell_1" style="left:645px; top:146px; width:150px; height:23px; vertical-align:middle; ">환자혈액형</caption>
  2042. <select id="checkbox3" ref="/root/hidden/cancel/prepLog" visibility="hidden" overflow="visible" appearance="full" style="left:805px; top:3px; width:50px; height:15px; border-style:none; ">
  2043. <choices>
  2044. <item>
  2045. <label>신청</label>
  2046. <value>1</value>
  2047. </item>
  2048. </choices>
  2049. </select>
  2050. <group id="grp_rsrv" visibility="hidden" style="left:140px; top:0px; width:330px; height:20px; ">
  2051. <input id="ipt_rsrvtm" ref="/root/hidden/rsrvinfo/rsrvtm" class="input_search" format="hh:nn" style="left:184px; top:1px; width:51px; height:19px; font-weight:bold; "/>
  2052. <input id="ipt_rsrvdd" ref="/root/hidden/rsrvinfo/rsrvdd" class="input_s_essential" inputtype="date" style="left:79px; top:1px; width:106px; height:19px; font-weight:bold; "/>
  2053. <caption id="caption3" class="cell_1" style="left:3px; top:0px; width:72px; height:20px; ">예약일시 :</caption>
  2054. <button id="button9" class="btn2_letter2" style="left:285px; top:0px; width:42px; height:19px; ">
  2055. <caption>닫기</caption>
  2056. <script type="javascript" ev:event="DOMActivate">
  2057. <![CDATA[
  2058. grp_rsrv.visible = false;
  2059. ]]>
  2060. </script>
  2061. </button>
  2062. <button id="button10" class="btn2_letter2" style="left:240px; top:0px; width:42px; height:19px; ">
  2063. <caption>변경</caption>
  2064. <script type="javascript" ev:event="DOMActivate">
  2065. <![CDATA[
  2066. fSetTnsRsrvDT();
  2067. ]]>
  2068. </script>
  2069. </button>
  2070. </group>
  2071. <button id="button8" class="btn2_letter2" style="left:830px; top:95px; width:42px; height:19px; ">
  2072. <caption>BMT</caption>
  2073. <script type="javascript" ev:event="DOMActivate">
  2074. <![CDATA[
  2075. fGetBMTInfo("list");
  2076. ]]>
  2077. </script>
  2078. </button>
  2079. <caption id="caption2" class="cell_1" style="left:645px; top:355px; width:90px; height:35px; font-weight:bold; vertical-align:middle; ">의사전달사항</caption>
  2080. <line id="line4" class="line_3" style="x1:645px; y1:391px; x2:1190px; y2:391px; "/>
  2081. <textarea id="tar_prcpremfact" ref="/root/hidden/prcpremfact" style="left:737px; top:355px; width:450px; height:35px; font-weight:bold; color:#ff0000; padding-top:3; "/>
  2082. <line id="line11" class="line_3" style="x1:645px; y1:353px; x2:1190px; y2:353px; "/>
  2083. </group>
  2084. <script type="javascript" ev:event="onkeypress">
  2085. <![CDATA[
  2086. fKeyEvent();
  2087. ]]>
  2088. </script>
  2089. </xhtml:body>
  2090. </xhtml:html>