SMLLJ00100_검체접수관리.xrw 99 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLJ00100_검체접수관리.xrw
  4. * 설 명 : 검체접수 및 검체조회
  5. * 설 계 자 : (주)에이씨케이 - 박정은
  6. * 작 성 자 : (주)에이씨케이 - 박정은
  7. * 작 성 자 : (주)에이씨케이 - 박정은
  8. * 작 성 일 : 2006.11.11
  9. * 수정이력 : 2007-08-02 박정은 코드인스펙션
  10. * 기 타 :
  11. -->
  12. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  13. <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">
  14. <xhtml:head>
  15. <xhtml:title>검체접수관리</xhtml:title>
  16. <model id="model1">
  17. <instance id="instance1">
  18. <root xmlns="">
  19. <main>
  20. <detllistref>
  21. <tclscd/>
  22. <tclsscrnnm/>
  23. <erprcpflag/>
  24. <spcltestseq/>
  25. <workno/>
  26. <phone/>
  27. </detllistref>
  28. <spclist>
  29. <chk/>
  30. <execdept/>
  31. <acptno/>
  32. <bcno/>
  33. <orddeptcd/>
  34. <patnm/>
  35. <spccd/>
  36. <spcarvdt/>
  37. <spcacptdt/>
  38. <spcfrem/>
  39. <Msg/>
  40. <urineyn/>
  41. <prcpremfact/>
  42. <spcstat/>
  43. </spclist>
  44. <reqdrremark>오른쪽 혈관이 잘 보이지 않습니다.</reqdrremark>
  45. <spclistref>
  46. <chk/>
  47. <pid/>
  48. <patnm/>
  49. <orddeptnm/>
  50. <wardroom/>
  51. <tsectcd/>
  52. <workno/>
  53. <bcno/>
  54. <spcnm/>
  55. <spcltestseq/>
  56. <prcpdd/>
  57. <barcdprntdt/>
  58. <bcolldt/>
  59. <spcarvdt/>
  60. <spcacptdt/>
  61. <spcstat/>
  62. <cnclcnts/>
  63. <testcd/>
  64. <tclsnm/>
  65. <reptrslt/>
  66. </spclistref>
  67. <sectlist>
  68. <sectusdd/>
  69. <sectuedd/>
  70. <sectcd/>
  71. <sectnm/>
  72. <sectscrnnm/>
  73. <sectabbrnm/>
  74. <sectprntnm/>
  75. <sectlblnm/>
  76. </sectlist>
  77. <barcdprntsetup>
  78. </barcdprntsetup>
  79. <!--<page>
  80. <lastpage/>
  81. <total/>
  82. <now/>
  83. </page>-->
  84. </main>
  85. <send>
  86. <Data1/>
  87. <Data2/>
  88. <Data3/>
  89. <Data4/>
  90. <Data5/>
  91. <refflag/>
  92. <bcnolist/>
  93. <spcchoiyn/>
  94. <execdept/>
  95. <codeflag/>
  96. <bcno/>
  97. <batacptgrd/>
  98. <refbase/>
  99. <reffromdd/>
  100. <reftodd/>
  101. <refgbn/>
  102. <reftext/>
  103. <scrnid/>
  104. <sectcd/>
  105. <NL/>
  106. <menuparam/>
  107. <undoacpt/>
  108. <genrflag/>
  109. <spcstat/>
  110. <page>1</page>
  111. <detlspcinfoyn/>
  112. <pidfromdd/>
  113. <pidtodd/>
  114. <piddd/>
  115. </send>
  116. <init>
  117. <title>접수취소등록</title>
  118. <execdept>
  119. <testmdlcd/>
  120. <testmdlnm/>
  121. </execdept>
  122. </init>
  123. <hidden>
  124. <spcref>
  125. <refbase>1</refbase>
  126. <reffromdd/>
  127. <reftodd/>
  128. <refflag>2</refflag>
  129. <refcnts/>
  130. <lrgexecdept>00</lrgexecdept>
  131. <execdept>00</execdept>
  132. <undoacpt/>
  133. <genrflag>00</genrflag>
  134. <detlspcinfoyn/>
  135. <pidfromdd/>
  136. <pidtodd/>
  137. <piddd>1</piddd>
  138. </spcref>
  139. <spcacpt>
  140. <!--
  141. <testmdlcd>
  142. <cd>00</cd>
  143. </testmdlcd>
  144. -->
  145. <testmdlcd>00</testmdlcd>
  146. <testlrgcd>00</testlrgcd>
  147. <refflag>2</refflag>
  148. <spcchoiyn/>
  149. <bcno/>
  150. <resetyn/>
  151. <bt/>
  152. </spcacpt>
  153. <bcno/>
  154. <labelyn>Y</labelyn>
  155. <acptbcdyn>Y</acptbcdyn>
  156. <cancel>
  157. <bcno/>
  158. <title/>
  159. </cancel>
  160. <canceldata>
  161. <data1/>
  162. <data2/>
  163. </canceldata>
  164. <acptcnt/>
  165. <barcdcheck/>
  166. <test>
  167. <startdt/>
  168. <enddt/>
  169. </test>
  170. <toppatinfo/>
  171. <refprnt/>
  172. <microorder/>
  173. <remicroorder/>
  174. </hidden>
  175. <temp>
  176. <mreport/>
  177. </temp>
  178. </root>
  179. </instance>
  180. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  181. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  182. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  183. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  184. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  185. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  186. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  187. <script type="javascript" src="../../../lis/commonweb/js/HanFont24.js"/>
  188. <script type="javascript" ev:event="xforms-ready">
  189. <![CDATA[
  190. // 핵의학 메뉴 (테스트용)
  191. //model.setValue("/root/properties/menu/menuparam", "N");
  192. //model.setValue("/root/hidden/spcacpt/testmdlcd", "NR");
  193. // 그리드 전체 선택 기능
  194. grd_spclist.fixedcellcheckbox(0,1)=true;
  195. // 검체접수 tab 선택
  196. model.toggle("case1");
  197. // 스위치에 따라 버튼 보이기
  198. fbuttonvisible("A");
  199. // 초기정보 조회
  200. model.setValue("/root/send/codeflag", "0102|0106|0104|0111|0000|"); // 0102= 중분류 // 0106=시행부서(검사계) // 0104 대분류 // 0111 계(시행) // 0000 userdeptflag
  201. submit("TRLZZ00101");
  202. // 노드 초기화
  203. model.removeNodeset("/root/main/spclist");
  204. model.removeNodeset("/root/main/detllistref");
  205. model.removeNodeset("/root/main/spclistref");
  206. fSetNCnt(); // 핵의학 화면 접수검체갯수 보이기
  207. // 핵의학
  208. if( (model.getValue("root/properties/menu/menuparam")=="N") || (model.getValue("/root/init/LB0000/nm")=="N") ){
  209. model.setValue("/root/hidden/spcacpt/testmdlcd", "NR");
  210. model.setValue("/root/hidden/spcref/execdept", "NR");
  211. model.removenode("/root/init/LB0106[1]"); // 핵의학 -전체- 노드삭제
  212. }
  213. // 핵의학 일때 바코드 설정
  214. /* if (model.getValue("/root/init/execdept/testmdlcd") == "핵의학코드"){
  215. chk_label.visible = true;
  216. chk_acptbcd.visible = false; // 접수 바코드시 발행여부
  217. model.setValue("/root/hidden/labelyn", "Y");
  218. model.setValue("/root/hidden/acptbcdyn", "N");
  219. }
  220. else{
  221. chk_label.visible = false;
  222. chk_acptbcd.visible = true; // 접수 바코드시 발행여부
  223. model.setValue("/root/hidden/labelyn", "N");
  224. model.setValue("/root/hidden/acptbcdyn", "Y");
  225. }
  226. */
  227. var today = getCurrentDate();
  228. //var mDate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-3);
  229. //model.setValue("/root/hidden/spcref/reffromdd", today-2);
  230. //model.setValue("/root/hidden/spcref/reffromdd", mDate.getDateFormat("YYYYMMDD"));
  231. model.setValue("/root/hidden/spcref/reffromdd", today);
  232. model.setValue("/root/hidden/spcref/reftodd", today);
  233. model.setValue("/root/hidden/spcref/pidfromdd", today);
  234. model.setValue("/root/hidden/spcref/pidtodd", today);
  235. model.refresh();
  236. model.setFocus("ipt_bcno");
  237. //lzzfMakeBrcdPrntObj("CommAX"); //이전 OCX
  238. model.setValue("/root/send/scrnid", getScreenID());
  239. submit("TRLLC90101");
  240. lzzfMakeBrcdPrntObjHanDo("CommAX");
  241. delPatientInfos(); //환자정보 전체 삭제
  242. ]]>
  243. </script>
  244. <!-- *사용* 시행부서 조회 -->
  245. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0102"/>
  246. <!-- *미사용* 검체접수 -->
  247. <!--<submission id="TXLLJ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" add="bottom" resultref="/root/main/spclist"/>-->
  248. <!-- *사용* 검체상세목록 조회-->
  249. <submission id="TRLLJ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/detllistref"/>
  250. <!-- *미사용* 검체선택여부 선택 검체정보조회-->
  251. <!--<submission id="TRLLJ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" add="bottom" resultref="/root/main/spclist"/>-->
  252. <!-- *미사용* 부적합검체등록 -->
  253. <submission id="TXLLJ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spclist"/>
  254. <!-- *미사용* 특이사항 저장 -->
  255. <!--<submission id="TXLLJ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spclist"/>-->
  256. <!-- *사용* 검체조회탭 조회-->
  257. <submission id="TRLLJ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spclistref"/>
  258. <!-- *사용* 일괄접수-->
  259. <submission id="TXLLJ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spclist"/>
  260. <!-- *사용* 검체 접수-->
  261. <submission id="TXLLJ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" add="bottom" resultref="/root/main/spclist"/>
  262. <!-- *사용* 바코드 출력-->
  263. <submission id="TRLZZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/barcd"/>
  264. <submission id="TRLZZ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/barcd"/>
  265. <!-- 프린터 설정-->
  266. <submission id="TRLLC90101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdprntsetup"/>
  267. <!-- 특수검사 의뢰서 조회-->
  268. <submission id="TRLRP00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spcltestlist"/>
  269. <submission id="TRLRP00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/detltestlist"/>
  270. <submission id="TRLRP00703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rsltlist"/>
  271. <!-- 상단정보 조회-->
  272. <submission id="TRLZZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  273. <!--감염정보조회-->
  274. <submission id="TRLLC90801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/infdisinfolist"/>
  275. <!--성모병원바코드조회-->
  276. <submission id="TRLMP00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcd"/>
  277. <!--미생물처방전-->
  278. <submission id="TRLLJ00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/mreport"/>
  279. </model>
  280. <script type="javascript">
  281. <![CDATA[
  282. // *사용* 키이벤트 엔터키 입력시 접수flow
  283. function fKeyEvent(){
  284. if(event.keyCode == "13"){
  285. if(event.target == "ipt_bcno"){
  286. model.setvalue("/root/hidden/spcacpt/bcno", (ipt_bcno.currentText).toUpperCase());
  287. //fSetSpcAcpt();
  288. fsetBCNOEnter();
  289. if(model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg") == "" ){
  290. fGetSpclTestList();
  291. var count = getNodesetCount("/root/main/getspcltestlist") ;
  292. var spc = getNodesetCount("/root/main/spclist");
  293. if(count > 0 ) {
  294. for(var jki = 1; jki <= count; jki++) {
  295. if(model.getValue("/root/main/spclist["+ spc +"]/bcno") == model.getValue("/root/main/getspcltestlist["+ jki +"]/bcno")) {
  296. //alert(getUserInfo("dutplceinstcd"));
  297. var i = "";
  298. var row = grd_detllist.rows;
  299. if(getUserInfo("dutplceinstcd") != "011") {
  300. fPrint(jki);
  301. }else if(getUserInfo("dutplceinstcd") == "011"){
  302. for (i = 1; i <= row-1; i++){
  303. if(model.getValue("/root/main/detllistref[" + i + "]/tclscd") == "LHR114"){
  304. var bbb = "1";
  305. break;
  306. }
  307. }
  308. if(bbb != "1") {
  309. fPrint(jki);
  310. }
  311. }
  312. }
  313. }
  314. }
  315. }
  316. model.setFocus("ipt_bcno"); //20090422 김성희 추가 : 세포유전 출력물 출력후 포커스 아웃 현상 발생하여 수정
  317. ipt_bcno.selBegin = 0;
  318. ipt_bcno.selEnd = ipt_bcno.currentText.length;
  319. }
  320. if(event.target=="ipt_text"){
  321. if ( ipt_text.currentText .length > 11 ){
  322. var a1 = (ipt_text.currentText).toUpperCase();
  323. var a2 = "20" + a1.substr(0,8) + "0" + a1.substr(8,4);
  324. // alert(a1);
  325. // alert(a1.substr(0,8));
  326. // alert(a1.substr(8,4));
  327. // alert(a2);
  328. ipt_text.currentText = a2 ;
  329. }
  330. if(ipt_text.currentText != "") {
  331. model.setValue("/root/hidden/spcref/refcnts", (ipt_text.currentText).toUpperCase());
  332. fGetSpcListref("K");
  333. } else {
  334. messageBox("검색어를", "C001");
  335. }
  336. ipt_text.selBegin = 0;
  337. ipt_text.selEnd = ipt_text.currentText.length;
  338. }
  339. }
  340. }
  341. // 검체조회 검색내용
  342. function fKeyEventref(){
  343. inputEnterKey("ipt_text", "DOMActivate");
  344. model.setvalue("/root/hidden/spcref/refcnts",ipt_text.currentText);
  345. fGetSpcListref("K");
  346. ipt_text.selBegin = 0;
  347. ipt_text.selEnd = ipt_text.currentText.length;
  348. }
  349. // 전체선택 버튼
  350. function fInsAllChoi(pGridId){
  351. pGridId.fixedcellischeck(0,1)=true;
  352. }
  353. // 전체취소 버튼
  354. function fInsAllCncl(pGridId) {
  355. pGridId.fixedcellischeck(0,1)=false;
  356. }
  357. function fSetBCNO(){
  358. if (model.getvalue("/root/hidden/spcacpt/bcno") != ""){
  359. fsetBCNOEnter();
  360. model.setValue("/root/hidden/spcacpt/bcno", "");
  361. // 영어로 입력받을 수 있게
  362. ipt_bcno.attribute("imemode") = "alpha" ;
  363. model.refresh();
  364. model.setFocus("ipt_bcno");
  365. }
  366. }
  367. // *** 접수 *** 바코드번호 등록후 엔터 쳤을때
  368. function fsetBCNOEnter(){
  369. var bfnodecount = getNodesetCount("/root/main/spclist");
  370. var btdt = getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(-10, "m").getDateFormat("YYYYMMDDhhmmss");
  371. // 유효성 체크
  372. if ( fexeBCNOtrue() == false ){
  373. //return;
  374. }else{
  375. // 화면초기화여부 선택되면
  376. if(model.getValue("/root/hidden/spcacpt/resetyn")=="1"){
  377. model.removeNodeset("/root/main/spclist");
  378. model.refresh();
  379. }
  380. var bcno = model.getValue("/root/hidden/spcacpt/bcno").toUpperCase();
  381. var acptcnt = 0;
  382. if(model.getValue("/root/hidden/spcacpt/spcchoiyn") == "1") {
  383. var find = grd_spclist.findRow(bcno, 1, 4, true, true);
  384. if(find > 0) {
  385. messageBox("이미 선택된 검체", "E008");
  386. model.setValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg", "error");
  387. return;
  388. }
  389. }
  390. model.setValue("/root/send/bcno", bcno);
  391. model.setValue("/root/send/refflag", model.getValue("/root/hidden/spcacpt/refflag"));
  392. model.setValue("/root/send/spcchoiyn", model.getValue("/root/hidden/spcacpt/spcchoiyn"));
  393. model.makeValue("/root/send/btyn", model.getValue("/root/hidden/spcacpt/bt"));
  394. model.makeValue("/root/send/btdt", btdt);
  395. model.setValue("/root/send/execdept", model.getValue("/root/hidden/spcacpt/testmdlcd"));
  396. model.setValue("/root/send/sectcd", model.getValue("/root/hidden/spcacpt/testlrgcd"));
  397. model.setValue("/root/send/NL", model.getValue("root/properties/menu/menuparam"));
  398. submit("TXLLJ00105");
  399. var afnodecount = getNodesetCount("/root/main/spclist");
  400. if(model.getValue("/root/hidden/spcacpt/resetyn") != "1") {
  401. if(bfnodecount == afnodecount) { //조회된 데이터가 없을 경우 메세지 띄움.
  402. messageBox("바코드 번호를", "I007");
  403. return;
  404. }
  405. }
  406. grd_spclist.row = (grd_spclist.rows-1);
  407. if(model.getValue("/root/hidden/toppatinfo")=="1"){ // 환자정보띄우기 체크되있을때만
  408. if(grd_spclist.rows > 1){
  409. if(getPatientInfo("pid") != model.getValue("/root/main/spclist["+grd_spclist.row+"]/pid")){
  410. fGetTopInfo();
  411. }
  412. }
  413. }else{
  414. delPatientInfos(); //환자정보 전체 삭제
  415. }
  416. var gridRow = grd_spclist.rows;
  417. grd_spclist.topRow = gridRow;
  418. //색깔 구분 및 체크 아래 메세지 표시 안에 있던거에서 위로 뺌(검체 내 일부 취소건 있을때 두줄 조회되서)
  419. for(i =1 ; i < grd_spclist.rows ; i ++){
  420. var msgbcno = model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/bcno");
  421. if(model.getValue("/root/main/spclist["+i+"]/bcno") == msgbcno
  422. && model.getValue("/root/main/spclist["+i+"]/Msg") != "" ){
  423. grd_spclist.cellStyle("color", i, 1, i, 9) = "#aaaaaa";
  424. model.setValue("/root/main/spclist["+i+"]/chk", "false");
  425. }else if(model.getValue("/root/main/spclist["+i+"]/spcstat") == "0" ){
  426. grd_spclist.cellStyle("color", i, 1, i, 9) = "#aaaaaa";
  427. model.setValue("/root/main/spclist["+i+"]/chk", "false");
  428. }else{
  429. model.setValue("/root/main/spclist["+i+"]/chk", "true");
  430. }
  431. }
  432. // 메세지 표시
  433. if(model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg") != ""){
  434. var msg = model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg");
  435. messageBox(msg , "E008", "");
  436. //위로 끌어올림
  437. }else{
  438. if(grd_spclist.rows >1){
  439. //model.setValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/chk", "true");
  440. if(model.getValue("root/properties/menu/menuparam") != "N"){
  441. // fExeBarcdPrnt(); //바코드 프린트 연결 안된데서 실행하면 뻗어요 ~~
  442. }
  443. //fExeNBarcdPrnt(); //바코드 프린트 연결 안된데서 실행하면 뻗어요 ~~ // 분주라벨
  444. //감염정보 조회
  445. //model.makeValue("/root/send/pid", "20493"); //test 용
  446. model.makeValue("/root/send/pid", model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/pid"));
  447. model.makeValue("/root/send/bcno", model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/bcno"));
  448. model.makeValue("/root/send/flag", "");
  449. submit("TRLLC90801");
  450. model.removenode("/root/send/pid"); //인스턴스 삭제
  451. model.removenode("/root/send/bcno"); //인스턴스 삭제
  452. model.removenode("/root/send/flag"); //인스턴스 삭제
  453. model.makeNode("/root/send/bcno"); //인스턴스 생성
  454. if(getNodesetCount("/root/main/infdisinfolist") > 0) { //감염정보가 있다면..
  455. modal("SPLLC90800", "", "", "", "", "/root/main/infdisinfolist", "/root/main/infdisinfolist"); //감염정보창 띄우기
  456. }
  457. }
  458. }
  459. model.setFocus("ipt_bcno");
  460. ipt_bcno.selBegin = 0;
  461. ipt_bcno.selEnd = ipt_bcno.currentText.length;
  462. // 검체 상세목록 보여주기
  463. var sRow = grd_spclist.rows;
  464. if(sRow > 1){
  465. // 검체 상세목록 보여주기
  466. fGetSpcDetlList(sRow);
  467. }
  468. var prntYN = "N" // 세포유전 워크리스트 출력여부
  469. for(i=1; i<grd_detllist.rows; i++){
  470. if("Y" == model.getValue("/root/main/detllistref["+i+"]/refprntyn")){
  471. prntYN = "Y";
  472. }
  473. }
  474. //접수 할 검체이거나, 접수된 검체만 report 출력 20090422 김성희 수정 : 세포유전 요청사항
  475. if(prntYN == "Y" && model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/spcacptdt") != ""){
  476. model.makeValue("/root/hidden/refprnt/workno", grd_spclist.valueMatrix(sRow-1, 3));
  477. model.makeValue("/root/hidden/refprnt/workdd", grd_spclist.valueMatrix(sRow-1, 8).substring(0,8));
  478. model.makeValue("/root/hidden/refprnt/spcnm", grd_spclist.valueMatrix(sRow-1, 10));
  479. model.makeValue("/root/hidden/refprnt/patnm", grd_spclist.valueMatrix(sRow-1, 6));
  480. model.makeValue("/root/hidden/refprnt/patage", grd_spclist.valueMatrix(sRow-1, 12));
  481. model.makeValue("/root/hidden/refprnt/pid", grd_spclist.valueMatrix(sRow-1, 11));
  482. model.makeValue("/root/hidden/refprnt/orddeptnm", grd_spclist.valueMatrix(sRow-1, 5));
  483. model.makeValue("/root/hidden/refprnt/haspnm", grd_spclist.valueMatrix(sRow-1, 13));
  484. exeReportPreview("RPLLJ00101", "XMLSTR", "", "", "true", "", "", "", "","true");
  485. }
  486. // 유린검체 정보 등록
  487. //if(model.getValue("/root/hidden/spcacpt/refflag")=="2"){
  488. if(model.getValue("/root/main/spclist["+ (sRow-1) +"]/urineyn") == "Y"){
  489. //if(model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg") == "" ){
  490. // 유린 팝업 띄우고 등록하기
  491. fSetUrine(sRow-1);
  492. //}
  493. }
  494. //}
  495. }
  496. var remicroorder = "";
  497. // 접수시 spcacptbarcdprntcnt 갯수만큼 바코드 출력
  498. if(model.getValue("/root/hidden/spcacpt/spcchoiyn") == "1"){
  499. }else{
  500. if(model.getValue("root/properties/menu/menuparam")=="N"){
  501. fExeNBarcdPrnt(); //핵의학 바코드 프린트 연결 안된데서 실행하면 뻗어요 ~~
  502. fGetNAcptCnt(); //접수된 검체개수 보이게
  503. }else{
  504. if(model.getValue("/root/main/spclist["+(grd_spclist.rows-1)+"]/Msg") == "" ){
  505. fExeBarcdPrnt(); //바코드 프린트 연결 안된데서 실행하면 뻗어요 ~~
  506. if(model.getValue("/root/hidden/microorder") == "1"){
  507. submit("TRLLJ00106");
  508. exeReportPreview("RPLLJ00102", "XMLSTR", "", "", "true", "", "", "", "","true");
  509. model.removeNodeset("/root/temp/mreport");
  510. remicroorder = "1";
  511. }
  512. }
  513. }
  514. }
  515. fExeSlidIss();
  516. model.removeNodeset("/root/main/barcode"); //// ★★★ 임시로막음
  517. // 접수시 상단정보 올리기
  518. /*if(grd_spclist.rows > 1){
  519. if(getPatientInfo("pid") != model.getValue("/root/main/spclist["+grd_spclist.row+"]/pid")){
  520. fGetTopInfo();
  521. }
  522. }
  523. ipt_bcno.selBegin = 0;
  524. ipt_bcno.selEnd = ipt_bcno.currentText.length;
  525. */
  526. //미생물처방전 출력
  527. if(remicroorder == "" && model.getValue("/root/hidden/remicroorder") == "1"){
  528. submit("TRLLJ00106");
  529. exeReportPreview("RPLLJ00102", "XMLSTR", "", "", "true", "", "", "", "","true");
  530. model.removeNodeset("/root/temp/mreport");
  531. }
  532. for (i = 1; i<grd_spclist.rows; i++){
  533. if(model.getValue("/root/main/spclist["+i+"]/patnm").indexOf("★") == "1") {
  534. for (j = 1; j<grd_spclist.cols; j++){
  535. grd_spclist.cellStyle("color", i, j, i, j) = "#ff0000";
  536. }
  537. }
  538. }
  539. }
  540. function fExeSlidIss() {
  541. //장비IP set
  542. var slideprnt = getNodesetCount("/root/main/slide/slideprnt");
  543. var casetprnt = getNodesetCount("/root/main/slide/casetprnt");
  544. if(slideprnt > 0){
  545. sSlidBcIP = model.getValue("/root/main/slide/slidecaset/slideip");
  546. sSlidBcPort = model.getValue("/root/main/slide/slidecaset/slideport");
  547. //----------------------------------------
  548. if (sSlidBcIP == "" || sSlidBcIP == "-") {
  549. messageBox("슬라이드 라벨지 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  550. return false;
  551. }
  552. //--------------------------------------------
  553. if (sSlidBcPort == "" || sSlidBcPort == "-"){
  554. messageBox("슬라이드 라벨지 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  555. return false;
  556. }
  557. socket.connect(sSlidBcIP, sSlidBcPort);
  558. }
  559. if(casetprnt > 0){
  560. sSlidBcIP2 = model.getValue("/root/main/slide/slidecaset/casetip");
  561. sSlidBcPort2 = model.getValue("/root/main/slide/slidecaset/casetport");
  562. //----------------------------------------
  563. if (sSlidBcIP2 == "" || sSlidBcIP2 == "-") {
  564. messageBox("카세트 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  565. return false;
  566. }
  567. //--------------------------------------------
  568. if (sSlidBcPort2 == "" || sSlidBcPort2 == "-") {
  569. messageBox("카세트 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  570. return false;
  571. }
  572. //-------------------------------------
  573. socket2.connect(sSlidBcIP2, sSlidBcPort2);
  574. }
  575. }
  576. function fExeSlidIssA(){
  577. var iMaxRowCnt = 0;
  578. var sSlidNode = "/root/main/slide/slideprnt";
  579. //--------------------------------------
  580. iMaxRowCnt = getNodesetCount(sSlidNode);
  581. for (var iRowNo=1; iRowNo <= iMaxRowCnt; iRowNo++) {
  582. var prntcnt = model.getValue(sSlidNode+"["+iRowNo+"]/prntcnt");
  583. for(var slidecnt = 1 ; slidecnt <= prntcnt ; slidecnt++){
  584. var patnm= getNameInitial(model.getValue(sSlidNode+"["+iRowNo+"]/patnm"));
  585. var etc1 = model.getValue(sSlidNode+"["+iRowNo+"]/etc1");
  586. if(etc1 == ""){
  587. etc1 = "-";
  588. }
  589. sSendMsg = "S▦"; //슬라이드구분
  590. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/spclno") + "▦"; // 특수검사연번호
  591. sSendMsg += patnm + "▦"; // 환자명
  592. sSendMsg += etc1 + "▦";
  593. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/workdd") + "▦"; // 접수일시
  594. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/etc2") + "▦";
  595. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/hospnm") + "▩"; // 병원명
  596. //sSendMsg += "▩";
  597. socket.sendString(sSendMsg);
  598. }
  599. }
  600. socket.close();
  601. model.removeNodeset("/root/main/slide/slideprnt");
  602. }
  603. function fExeSlidIssB(){
  604. var iMaxRowCnt2 = 0;
  605. var sSlidNode2 = "/root/main/slide/casetprnt";
  606. //--------------------------------------
  607. iMaxRowCnt2 = getNodesetCount(sSlidNode2);
  608. for (var iRowNo2=1; iRowNo2 <= iMaxRowCnt2; iRowNo2++) {
  609. var patnm= getNameInitial(model.getValue(sSlidNode2+"["+iRowNo2+"]/patnm"));
  610. var etcvalue = model.getValue(sSlidNode2+"["+iRowNo2+"]/etc");
  611. var etcMark = "";
  612. if(etcvalue.indexOf("C") == -1){
  613. etcMark = "1";
  614. }
  615. else{
  616. etcMark = "2";
  617. }
  618. sSendMsg = "C▦"; //카세트구분
  619. sSendMsg += model.getValue(sSlidNode2+"["+iRowNo2+"]/spclno") + "▦"; // 특수검사연번호
  620. sSendMsg += etcMark + "▦"; //후퍼
  621. sSendMsg += model.getValue(sSlidNode2+"["+iRowNo2+"]/etc") + "▦";
  622. sSendMsg += patnm + "▩"; // 환자명
  623. socket2.sendString(sSendMsg);
  624. }
  625. socket2.close();
  626. model.removeNodeset("/root/main/slide/casetprnt");
  627. }
  628. /* @group : 슬라이드일괄출력 화면
  629. * @ver : 2007.06.26 (CMCDEV-0001)
  630. * @by : 유동철(ACK)
  631. * @-----------------------------------
  632. * @type : function
  633. * @access : public
  634. * @desc : 슬라이드 목록을 장비에 출력 처리 함수
  635. function fExeSlidIss() {
  636. //장비IP set
  637. var slideprnt = getNodesetCount("/root/main/slide/slideprnt");
  638. var casetprnt = getNodesetCount("/root/main/slide/casetprnt");
  639. if(slideprnt > 0){
  640. sSlidBcIP = model.getValue("/root/main/slide/slidecaset/slideip");
  641. sSlidBcPort = model.getValue("/root/main/slide/slidecaset/slideport");
  642. //----------------------------------------
  643. if (sSlidBcIP == "" || sSlidBcIP == "-") {
  644. messageBox("슬라이드 라벨지 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  645. return false;
  646. }
  647. //--------------------------------------------
  648. if (sSlidBcPort == "" || sSlidBcPort == "-"){
  649. messageBox("슬라이드 라벨지 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  650. return false;
  651. }
  652. socket.connect(sSlidBcIP, sSlidBcPort);
  653. var iMaxRowCnt = 0;
  654. var sSlidNode = "/root/main/slide/slideprnt";
  655. //--------------------------------------
  656. iMaxRowCnt = getNodesetCount(sSlidNode);
  657. for (var iRowNo=1; iRowNo <= iMaxRowCnt; iRowNo++) {
  658. var prntcnt = model.getValue(sSlidNode+"["+iRowNo+"]/prntcnt");
  659. for(var slidecnt = 1 ; slidecnt <= prntcnt ; slidecnt++){
  660. var patnm= getNameInitial(model.getValue(sSlidNode+"["+iRowNo+"]/patnm"));
  661. var etc1 = model.getValue(sSlidNode+"["+iRowNo+"]/etc1");
  662. if(etc1 == ""){
  663. etc1 = "-";
  664. }
  665. sSendMsg = "S▦"; //슬라이드구분
  666. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/spclno") + "▦"; // 특수검사연번호
  667. sSendMsg += patnm + "▦"; // 환자명
  668. sSendMsg += etc1 + "▦";
  669. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/workdd") + "▦"; // 접수일시
  670. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/etc2") + "▦";
  671. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/hospnm") + "▩"; // 병원명
  672. //sSendMsg += "▩";
  673. socket.sendString(sSendMsg);
  674. }
  675. }
  676. socket.close();
  677. model.removeNodeset("/root/main/slide/slideprnt");
  678. }
  679. if(casetprnt > 0){
  680. sSlidBcIP2 = model.getValue("/root/main/slide/slidecaset/casetip");
  681. sSlidBcPort2 = model.getValue("/root/main/slide/slidecaset/casetport");
  682. //----------------------------------------
  683. if (sSlidBcIP2 == "" || sSlidBcIP2 == "-") {
  684. messageBox("카세트 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  685. return false;
  686. }
  687. //--------------------------------------------
  688. if (sSlidBcPort2 == "" || sSlidBcPort2 == "-") {
  689. messageBox("카세트 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  690. return false;
  691. }
  692. //-------------------------------------
  693. socket2.connect(sSlidBcIP2, sSlidBcPort2);
  694. var iMaxRowCnt2 = 0;
  695. var sSlidNode2 = "/root/main/slide/casetprnt";
  696. //--------------------------------------
  697. iMaxRowCnt2 = getNodesetCount(sSlidNode2);
  698. for (var iRowNo2=1; iRowNo2 <= iMaxRowCnt2; iRowNo2++) {
  699. var patnm= getNameInitial(model.getValue(sSlidNode2+"["+iRowNo2+"]/patnm"));
  700. sSendMsg = "C▦"; //카세트구분
  701. sSendMsg += model.getValue(sSlidNode2+"["+iRowNo2+"]/spclno") + "▦"; // 특수검사연번호
  702. sSendMsg += model.getValue(sSlidNode2+"["+iRowNo2+"]/etc") + "▦";
  703. sSendMsg += patnm + "▩"; // 환자명
  704. socket2.sendString(sSendMsg);
  705. }
  706. socket2.close();
  707. model.removeNodeset("/root/main/slide/casetprnt");
  708. }
  709. }
  710. */
  711. function getNameInitial(nameStr){
  712. //받은 이름 문자열을 스페이스바로 분리
  713. var part = nameStr.split(' ');
  714. var str = "";
  715. var nameChr = "";
  716. var chr;
  717. var cnt = 3;
  718. //영문이름을 위한 대문자 변환
  719. nameStr = nameStr.toUpperCase();
  720. //스페이스로 구분되어 있는 이름(영문)의 경우 첫단어와 마지막 단어의 이니셜만 처리
  721. if(part.length>1){
  722. if(part[0].length == 0) part[0] = " ";
  723. if(part[part.length-1].length == 0) part[part.length-1] = " ";
  724. nameChr = part[0].substr(0,1) + "." + part[part.length-1].substr(0,1);
  725. }
  726. else{
  727. nameChr = part[0];
  728. }
  729. //변환할 값이 0보다 큰지 확인
  730. if(nameChr.length < cnt) cnt = nameChr.length;
  731. if(cnt <= 0) return str;
  732. //영문일 때를 위해 대문자로 변환
  733. nameChr = nameChr.toUpperCase();
  734. for(var pati=0;pati<cnt;pati++){
  735. chr = nameChr.substr(pati,1).charCodeAt(0);
  736. if(chr<128) str = str + nameChr.substr(pati,1);
  737. else{
  738. switch(nameChr.substr(pati,1)){
  739. case "박":
  740. str = str + "P";
  741. break;
  742. case "김":
  743. str = str + "K";
  744. break;
  745. case "이":
  746. if(pati==0) str = str + "L";
  747. else str = str + "I";
  748. break;
  749. default :
  750. if(chr>=44032 && chr<45208) str = str + "G";
  751. else if(chr>=45208 && chr<45796) str = str + "N";
  752. else if(chr>=45796 && chr<46972) str = str + "D";
  753. else if(chr>=46972 && chr<47560) str = str + "R";
  754. else if(chr>=47560 && chr<48148) str = str + "M";
  755. else if(chr>=48148 && chr<49324) str = str + "B";
  756. else if(chr>=49324 && chr<50500) str = str + "S";
  757. else if(chr>=50500 && chr<50556) str = str + "A";
  758. else if(chr>=50556 && chr<50612) str = str + "Y";
  759. else if(chr>=50612 && chr<50668) str = str + "E";
  760. else if(chr>=50668 && chr<50724) str = str + "Y";
  761. else if(chr>=50724 && chr<50752) str = str + "O";
  762. else if(chr>=50752 && chr<50808) str = str + "W";
  763. else if(chr>=50808 && chr<50836) str = str + "O";
  764. else if(chr>=50836 && chr<50864) str = str + "Y";
  765. else if(chr>=50864 && chr<50892) str = str + "U";
  766. else if(chr>=50892 && chr<50976) str = str + "W";
  767. else if(chr>=50976 && chr<51004) str = str + "Y";
  768. else if(chr>=51004 && chr<51032) str = str + "E";
  769. else if(chr>=51032 && chr<51060) str = str + "U";
  770. else if(chr>=51060 && chr<51088) str = str + "I";
  771. else if(chr>=51088 && chr<52264) str = str + "J";
  772. else if(chr>=52264 && chr<52852) str = str + "C";
  773. else if(chr>=52852 && chr<53440) str = str + "K";
  774. else if(chr>=53440 && chr<54028) str = str + "T";
  775. else if(chr>=54028 && chr<54616) str = str + "P";
  776. else if(chr>=54616 && chr<55203) str = str + "H";
  777. else str = str + " ";
  778. break;
  779. }
  780. }
  781. }
  782. return str;
  783. }
  784. // 탑정보 위한 조회
  785. function fGetTopInfo(){
  786. model.makeValue("/root/send/pid", model.getValue("/root/main/spclist["+grd_spclist.row+"]/pid"));
  787. submit("TRLZZ00109");
  788. //fUpPatinfo2();
  789. if(grd_spclist.rows> 1){
  790. if(model.getValue("/root/init/prcpinfo/pid")!=""){
  791. setParameter("errflag", "Y");
  792. var ordtype = "";
  793. var genrflag = model.getValue("/root/init/prcpinfo/genrflag");
  794. /*if((genrflag == "I") || (genrflag =="E") || (genrflag =="D")){
  795. ordtype = "I";
  796. }else if ((genrflag =="O") || (genrflag =="S")){
  797. ordtype = "O";
  798. }*/
  799. //DSC 환자인 경우 genrflag를 I 로 보냄. 오류나서 2008.12.03 김성희 수정
  800. //SPMMO08900.js 파일(fInitialize_SPMMO08900())에서 genrflag가 "D"인 것을 처리하는 구문이 없음.("I" 로 처리해야함.)
  801. if(genrflag =="D"){
  802. genrflag = "I";
  803. }
  804. //modal("SPMMO08900");
  805. if((genrflag == "I") || (genrflag =="E")){
  806. setParameter("condparam", genrflag + "▦" +
  807. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  808. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  809. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  810. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" + // seqno
  811. model.getValue("/root/init/prcpinfo/todd") + "▦" +
  812. model.getValue("/root/init/prcpinfo/instcd")); // 임시로
  813. }else if((genrflag =="O") || (genrflag =="S")){
  814. setParameter("condparam", genrflag + "▦" +
  815. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  816. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  817. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  818. model.getValue("/root/init/prcpinfo/instcd") + "▦" +
  819. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" +
  820. model.getValue("/root/init/prcpinfo/orgorddd") + "▦");
  821. }
  822. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  823. }
  824. var paminfo = getGlobalVariable("paminfo");
  825. if(paminfo.length < 1){ //상단정보가 없는 경우
  826. delPatientInfos(); //환자정보 전체 삭제
  827. var pid = model.getValue("/root/main/spclist["+grd_spclist.row+"]/pid");
  828. var hngnm = model.getValue("/root/main/spclist["+grd_spclist.row+"]/patnm");
  829. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  830. setPatientInfo("pid" , pid); //등록번호
  831. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  832. }
  833. }
  834. }
  835. // 핵의학 접수된 Cnt 조회
  836. function fGetNAcptCnt(){
  837. var ncnt = 0;
  838. for(i=1; i<grd_spclist.rows; i++){
  839. if(model.getValue("/root/main/spclist["+i+"]/Msg") == ""){
  840. ncnt += 1;
  841. }
  842. }
  843. cap_cnt.visible = true;
  844. opt_cnt.visible = true;
  845. model.setValue("/root/hidden/acptcnt", ncnt);
  846. model.refresh();
  847. }
  848. // 유효성 체크
  849. function fexeBCNOtrue(){
  850. var txtbcno = ipt_bcno.value;
  851. if(txtbcno != "" ){
  852. // 바코드 길이 9자리
  853. if(txtbcno.length == 9 ){
  854. }else{
  855. messageBox("잘못된 검체번호 ", "E008"); // 잘못된 검체번호 입니다.
  856. return false;
  857. }
  858. }
  859. }
  860. // 핵의학 화면 접수검체갯수 보이기
  861. function fSetNCnt(){
  862. if(model.getValue("root/properties/menu/menuparam")=="N"){
  863. cap_cnt.visible = true;
  864. opt_cnt.visible = true;
  865. }else{
  866. cap_cnt.visible = false;
  867. opt_cnt.visible = false;
  868. }
  869. cap_cnt.refresh();
  870. opt_cnt.refresh();
  871. }
  872. // 일괄접수 버튼
  873. function fSetBatAcpt(){
  874. var btdt = getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(-10, "m").getDateFormat("YYYYMMDDhhmmss");
  875. // 일괄접수
  876. var bcnolist ="";
  877. if(messageBox("모든 리스트를 접수", "Q004") == 6){
  878. for(i=1; i< grd_spclist.rows; i++){
  879. if(model.getValue("/root/main/spclist["+i+"]/chk") == "true"){
  880. bcnolist += model.getValue("/root/main/spclist["+i+"]/bcno") + "▦";
  881. }
  882. grd_spclist.rowStatus(i) =1;
  883. }
  884. var grdbatacpt = grd_spclist.getUpdateData();
  885. model.setValue("/root/send/bcnolist", bcnolist);
  886. model.setValue("/root/send/refflag", model.getValue("/root/hidden/spcacpt/refflag"));
  887. model.setValue("/root/send/spcchoiyn", model.getValue("/root/hidden/spcacpt/spcchoiyn"));
  888. model.makeValue("/root/send/btyn", model.getValue("/root/hidden/spcacpt/bt"));
  889. model.makeValue("/root/send/btdt", btdt);
  890. model.setValue("/root/send/execdept", model.getValue("/root/hidden/spcacpt/testmdlcd"));
  891. model.setValue("/root/send/sectcd", model.getValue("/root/hidden/spcacpt/testlrgcd"));
  892. model.setValue("/root/send/batacptgrd", grdbatacpt);
  893. if(submit("TXLLJ00104")==true){
  894. model.makeValue("/root/main/barcode/barcodeinfo/cntflag", "acpt");
  895. model.makeValue("/root/main/barcode[2]/dbarcodeinfo/cntflag", "acpt");
  896. var count2 = getNodesetCount("/root/main/barcode/barcodeinfo");
  897. var mTF = false;
  898. var spcTF = false;
  899. var LCount = 0;
  900. var MCount = 0;
  901. var BCount = 0;
  902. for(i=1; i<=count2; i++ ){
  903. if(model.getValue("/root/main/barcode/barcodeinfo["+i+"]/spcacptbarcdprntcnt") >0){
  904. spcTF = true;
  905. LCount = 1;
  906. }
  907. if(model.getValue("/root/main/barcode/barcodeinfo["+i+"]/microbarcdprntcnt") >0){
  908. mTF = true;
  909. MCount = 1;
  910. }
  911. }
  912. var prtkind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind");
  913. var portnm = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/commkind");
  914. BCount = getNodesetCount("/root/main/barcode/dbarcodeinfo"); //분주바코드갯수
  915. // 접수 바코드 출력
  916. if(spcTF){
  917. //alert(model.getValue("/root/main/barcode/barcodeinfo["+i+"]/spcacptbarcdprntcnt"));
  918. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7" ){
  919. fLisSpcBarcodePrint2("/root/main/barcode/barcodeinfo", 0, BCount);
  920. }else if(prtkind == "8" ){
  921. fLisSpcBarcodePrint3("/root/main/barcode/barcodeinfo", 0, BCount);
  922. }else{
  923. fLisSpcBarcodePrint("/root/main/barcode/barcodeinfo", 0, BCount); // 접수 바코드 출력(접수바코드출력노드, 보관검체출력수, 분주바코드 출력수)
  924. }
  925. }
  926. if( prtkind == "2" || prtkind == "6" || prtkind == "7" ){
  927. fLisSpcBarcodePrintB2("/root/main/barcode/dbarcodeinfo", LCount, MCount); // 분주 바뀐거 (분주바코드출력노드, 접수 바코드 출력수, 미생물바코드 출력수)
  928. }else{
  929. fLisSpcBarcodePrintB("/root/main/barcode/dbarcodeinfo", LCount, MCount);
  930. }
  931. // 미생물 바코드 출력
  932. if(mTF){
  933. if( (BCount != 0) || (LCount != 0) ) {
  934. BCount = 1; //분주바코드가 있거나, 진검바코드가 있을경우 미생물 바코드 portopen 을 하지 않는다.
  935. } else {
  936. BCount = 0; //분주바코드, 진검바코드가 모두 없을 경우 portopen을 한다.
  937. }
  938. if( prtkind == "2" || prtkind == "6" || prtkind == "7" ){
  939. fLisMicroWorknoSpcBarcodePrint2("/root/main/barcode/barcodeinfo", BCount);
  940. }
  941. else{
  942. //fLisMicroWorknoSpcBarcodePrint("/root/main/barcode/barcodeinfo", BCount); // 미생물 작업번호 바코드 출력 (미생물바코드 출력노드, 분주 또는 진검바코드 출력여부)
  943. if(getUserInfo("dutplceinstcd") =="011"){ // 여의도 성모일때 미생물바코드 출력해야함
  944. //alert( "aaa= " + model.getValue("/root/main/barcode/barcodeinfo/bcno"));
  945. fLisMicroWorknoSpcBarcodePrint011("/root/main/barcode/barcodeinfo", BCount); // 미생물 작업번호 바코드 출력(출력노드, 분주 또는 진검 바코드여부)
  946. }else{
  947. fLisMicroWorknoSpcBarcodePrint("/root/main/barcode/barcodeinfo", BCount); // 미생물 작업번호 바코드 출력(출력노드, 분주 또는 진검 바코드여부)
  948. }
  949. }
  950. }
  951. model.removeNodeset("/root/main/barcode");
  952. model.resetInstanceNode("/root/main/spclist");
  953. grd_spclist.rebuild();
  954. model.resetInstanceNode("/root/main/detllistref");
  955. grd_detllist.rebuild();
  956. }
  957. }
  958. }
  959. // Urine Volume 등록
  960. function fSetUrine(Row){
  961. //
  962. if(Row ==""){
  963. Row = grd_spclist.row;
  964. }
  965. var bcno = model.getValue("/root/main/spclist["+Row+"]/bcno");
  966. model.setValue("/root/hidden/bcno", bcno);
  967. // 검체명 24시간 Urine 일경우 팝업띄워서 등록
  968. open("SPLLJ90200", 1 ,0, 0, "SPLLJ90200","/root/hidden/bcno","/root/hidden/bcno", "sysmenu:hidden;");
  969. }
  970. // 특이사항 저장 버튼 클릭
  971. function fSetSpcffact(){
  972. var grddata = grd_spclist.getUpdateData();
  973. model.setValue("/root/send/Data1", model.getValue("/root/hidden/spcacpt/refflag")); // 접수구분
  974. model.setValue("/root/send/Data2", grddata);
  975. //submit("TXLLJ00103");
  976. /*for(i=1; i<grd_spclist.rows; i++){
  977. var choi = model.getValue("/root/main/spclist["+i+"]/chk");
  978. if(choi== "true"){
  979. model.setValue("/root/send/Data1", model.getValue("/root/main/spclist["+i+"]/bcno"));
  980. model.setValue("/root/send/Data2", model.getValue("/root/main/spclist["+i+"]/spcfrem"));
  981. //model.setValue("/root/send/Data2", grddata);
  982. model.setValue("/root/send/Data3", model.getValue("/root/hidden/spcacpt/refflag"));
  983. model.setValue("/root/send/Data4", model.getValue("/root/main/spclist["+i+"]/acptno"));
  984. alert("true " + model.getValue("/root/send"));
  985. submit("TXLLJ00103");
  986. }
  987. }*/
  988. }
  989. // 검체상세목록 조회
  990. function fGetSpcDetlList(Ref){
  991. grd_detllist.rebuildStyle();
  992. var rRow = "";
  993. if(Ref !=""){ // 자동 상세목록 조회(Ref = 마지막 Row)
  994. rRow = Ref-1;
  995. }else{
  996. rRow = grd_spclist.row;
  997. }
  998. model.setValue("/root/send/bcno", model.getValue("/root/main/spclist["+rRow+"]/bcno"));
  999. model.setValue("/root/send/spcstat", model.getValue("/root/main/spclist["+rRow+"]/spcstat"));
  1000. model.setValue("/root/send/menuparam", model.getValue("root/properties/menu/menuparam"));
  1001. submit("TRLLJ00101");
  1002. if(model.getValue("/root/main/detllistref/scanyn") == "Y") {
  1003. btn_formprnt.disabled = false;
  1004. btn_formprnt.value = model.getValue("/root/main/detllistref/scrn");
  1005. } else {
  1006. btn_formprnt.value = model.getValue("/root/main/detllistref/scrn");
  1007. btn_formprnt.disabled = true;
  1008. }
  1009. // 응급 빨간색으로 표시
  1010. for(i=1; i<grd_detllist.rows; i++){
  1011. if("Y" == model.getValue("/root/main/detllistref["+i+"]/erprcpflag")){
  1012. grd_detllist.cellStyle("color", i, 3, i, 3) = "#ff3300";
  1013. }
  1014. }
  1015. // 접수시 상단정보 올리기
  1016. /*if(grd_spclist.rows > 1){
  1017. if(getPatientInfo("pid") != model.getValue("/root/main/spclist["+grd_spclist.row+"]/pid")){
  1018. fGetTopInfo();
  1019. }
  1020. }*/
  1021. }
  1022. // 검체조회 tab 검체조회
  1023. function fGetSpcListref(flag){
  1024. //if(fSetRefFromdd()==true){
  1025. model.setValue("/root/send/refbase" , model.getValue("/root/hidden/spcref/refbase"));
  1026. model.setValue("/root/send/piddd" , model.getValue("/root/hidden/spcref/piddd"));
  1027. model.setValue("/root/send/reffromdd" , model.getValue("/root/hidden/spcref/reffromdd"));
  1028. model.setValue("/root/send/reftodd" , model.getValue("/root/hidden/spcref/reftodd"));
  1029. model.setValue("/root/send/refgbn" , model.getValue("/root/hidden/spcref/refflag"));
  1030. model.setValue("/root/send/pidfromdd" , model.getValue("/root/hidden/spcref/pidfromdd"));
  1031. model.setValue("/root/send/pidtodd" , model.getValue("/root/hidden/spcref/pidtodd"));
  1032. model.setValue("/root/send/execdept" , model.getValue("/root/hidden/spcref/execdept"));
  1033. model.setValue("/root/send/undoacpt" , model.getValue("/root/hidden/spcref/undoacpt"));
  1034. model.setValue("/root/send/genrflag" , model.getValue("/root/hidden/spcref/genrflag"));
  1035. model.setValue("/root/send/detlspcinfoyn" , model.getValue("/root/hidden/spcref/detlspcinfoyn")); //상세조회 성가병원 요청 20090930 추가
  1036. if(flag != "P"){
  1037. model.setValue("/root/send/page" , "1"); //page처리 20090930 추가
  1038. }
  1039. if((flag == "K") || ((flag == "C") && (model.getValue("/root/hidden/spcref/refcnts") != ""))) { //bcno enter키 누르거나, input 버튼 눌렀을 경우, 접수취소 후 검색어가 있으면 검색어로 조회
  1040. model.setValue("/root/send/reftext", model.getValue("/root/hidden/spcref/refcnts"));
  1041. } else { //조회버튼 클릭시
  1042. if(fSetRefFromdd()==true){
  1043. model.setValue("/root/send/reftext", "");
  1044. model.makeValue("/root/send/flag", "1");
  1045. }
  1046. }
  1047. var tmpPage = model.getValue("/root/send/page");
  1048. model.removeNodeset("/root/main/page"); //상세 조회일 경우 page관련 내용 같이 조회 해 오는데 조회해올때마다 초기화
  1049. if(submit("TRLLJ00103")) { // 검체접수화면 검체조회
  1050. model.resetInstanceNode("/root/send");
  1051. model.setValue("/root/send/page", tmpPage);
  1052. fSetSpcRefList(); //상세조회 여부에 따른 컬럼 Hidden
  1053. if(chk_detlspcinfoyn.value == 1 && parseInt(model.getValue("/root/main/page/lastpage")) > 1){
  1054. group_page.visible = true;
  1055. }else{
  1056. group_page.visible = false;
  1057. }
  1058. }
  1059. }
  1060. // 부적합검체등록
  1061. function fSetBadSpc(){
  1062. if(switch3.selectedIndex=="0"){ //접수
  1063. if(grd_spclist.rows > 0){
  1064. var bcno = model.getValue("/root/main/spclist["+grd_spclist.row+"]/bcno");
  1065. }
  1066. }else if(switch3.selectedIndex=="1"){ //조회
  1067. if(grd_spcreflist.rows > 1){
  1068. var bcno = model.getValue("/root/main/spclistref["+grd_spcreflist.row+"]/bcno");
  1069. }
  1070. }
  1071. model.setValue("/root/hidden/bcno", bcno);
  1072. modal("SPLLJ90100_부적합검체등록","","","","","/root/hidden/bcno","/root/hidden/bcno");
  1073. }
  1074. // 채혈접수취소등록
  1075. function fSetAcptCncl(){
  1076. if(grd_spcreflist.row < 1 ){
  1077. messageBox("선택된 검체가 없습니다. 검체를 ", "C002"); // 선택하십시오!
  1078. return;
  1079. }
  1080. var find = grd_spcreflist.findRow("Y", 1, 1);
  1081. if(find < 0) {
  1082. messageBox("선택된 검체가 없습니다. 검체를 ", "C002"); // 선택하십시오!
  1083. return;
  1084. }
  1085. if(model.getValue("/root/main/spclistref["+ find +"]/bcno").substr(0, 1) == "G") {
  1086. messageBox("헌혈 검체는 취소", "E001"); //헌혈검체는 취소할 수 없습니다.
  1087. return;
  1088. }
  1089. if(model.getValue("/root/main/spclistref["+ find +"]/spcstat") != "4-") {
  1090. messageBox("접수상태가 아니라 접수취소를", "E001") //할 수 없습니다.
  1091. return;
  1092. }
  1093. model.setValue("/root/hidden/canceldata/data1", model.getValue("/root/main/spclistref["+grd_spcreflist.row+"]/bcno"));
  1094. model.setValue("/root/hidden/canceldata/data2", "02");
  1095. open("SPLLC90400", 1 ,300, 400, "SPLLC90400","/root/hidden/canceldata", "/root/hidden/openerdata");
  1096. }
  1097. // 바코드 프린터 설정 삭제예정
  1098. function fSetPrntSetting(){
  1099. open("SPLLC90100", 1 ,300, 400, "SPLLC90100");
  1100. }
  1101. //프린터 설정
  1102. function fSetPrint() {
  1103. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1104. if(count == 0) {
  1105. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1106. }
  1107. open("SPLLC90100_바코드프린터설정.xrw", "", "", "", "", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  1108. }
  1109. // 초기화
  1110. function fSetInit(){
  1111. model.removeNodeset("/root/main");
  1112. model.refresh();
  1113. }
  1114. // 스위치에 따라 버튼 보이기
  1115. function fbuttonvisible(ref){
  1116. // 검체접수
  1117. if(ref == "A"){
  1118. group7.visible = false;
  1119. group6.visible = true;
  1120. checkbox4.visible = true;
  1121. }
  1122. // 검체조회
  1123. else if(ref == "B"){
  1124. group7.visible = true;
  1125. group6.visible = false;
  1126. checkbox4.visible = false;
  1127. }
  1128. }
  1129. // 접수 시 바코드 출력
  1130. function fExeBarcdPrnt(){
  1131. var BCount = 0; //분주바코드
  1132. var LCount = 0; //진검바코드
  1133. var MCount = 0; //미생물 바코드
  1134. var spcTF = false;
  1135. var mTF = false;
  1136. // 2007-10-14 수정
  1137. model.makeNode("/root/main/barcode/barcodeinfo/cntflag");
  1138. model.setValue("/root/main/barcode/barcodeinfo/cntflag", "acpt");
  1139. var count = getNodesetCount("/root/main/barcode/barcodeinfo");
  1140. for(i=1; i<=count; i++ ){
  1141. if(model.getValue("/root/main/barcode/barcodeinfo["+i+"]/spcacptbarcdprntcnt") >0){
  1142. model.setValue("/root/main/barcode/barcodeinfo["+i+"]/tclslblnmlist", model.getValue("/root/main/barcode/barcodeinfo["+i+"]/tclsnmlist"));
  1143. spcTF = true;
  1144. LCount = 1;
  1145. }else{
  1146. model.removeNodeset("/root/main/barcode/barcodeinfo["+i+"]");
  1147. i--;
  1148. count--;
  1149. }
  1150. if(model.getValue("/root/main/barcode/barcodeinfo["+i+"]/microbarcdprntcnt") >0){
  1151. mTF = true;
  1152. MCount = 1;
  1153. }
  1154. }
  1155. BCount = getNodesetCount("/root/main/barcode/dbarcodeinfo");//분주바코드 갯수
  1156. var prtkind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind");
  1157. var portnm = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/commkind");
  1158. // 접수 바코드 출력
  1159. if(spcTF){
  1160. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7" ){ // sato
  1161. fLisSpcBarcodePrint2("/root/main/barcode/barcodeinfo", 0, BCount);// 접수 바코드 출력 //fLisSpcBarcodePrint(출력노드, 오픈을 위해 0셋팅, 분주바코드갯수)
  1162. }else if(prtkind == "8" ){ // b472
  1163. fLisSpcBarcodePrint3("/root/main/barcode/barcodeinfo", 0, BCount);
  1164. }else{ // zebra ...
  1165. fLisSpcBarcodePrint("/root/main/barcode/barcodeinfo", 0, BCount);// 접수 바코드 출력 //fLisSpcBarcodePrint(출력노드, 오픈을 위해 0셋팅, 분주바코드갯수)
  1166. }
  1167. }
  1168. model.makeValue("/root/main/barcode[2]/dbarcodeinfo/cntflag", "acpt");
  1169. if( prtkind == "2" || prtkind == "6" || prtkind == "7"){
  1170. fLisSpcBarcodePrintB2("/root/main/barcode/dbarcodeinfo", LCount, MCount); // 분주(출력노드, 진검바코드여부, 미생물바코드여부)
  1171. }else{
  1172. fLisSpcBarcodePrintB("/root/main/barcode/dbarcodeinfo", LCount, MCount); // 분주(출력노드, 진검바코드여부, 미생물바코드여부)
  1173. }
  1174. // 미생물 바코드 출력
  1175. if(mTF){
  1176. if((BCount != 0) || (LCount != 0) ){ //분주 바코드가 있거나 진검 바코드가 있을 경우 portopen을 하지 않는다.
  1177. BCount = 1;
  1178. } else {
  1179. BCount = 0; //분주바코드, 진검바코드 모두 없을 경우 portopen을 하기 위해 셋팅.
  1180. }
  1181. if( prtkind == "2" || prtkind == "6" || prtkind == "7"){ // sato
  1182. fLisMicroWorknoSpcBarcodePrint2("/root/main/barcode/barcodeinfo", BCount);
  1183. }else{ // 기타바코드 zebra...
  1184. //alert("여의도 일까요 " + getUserInfo("dutplceinstcd"));
  1185. if(getUserInfo("dutplceinstcd") =="011"){ // 여의도 성모일때 미생물바코드 출력해야함
  1186. //alert( "aaa= " + model.getValue("/root/main/barcode/barcodeinfo/bcno"));
  1187. if(model.getValue("/root/hidden/spcacpt/refflag")=="2"){ // 접수일때만 나오고 가접수일때 안나오게 이미란샘 요청
  1188. //model.removeNodeset("/root/main/barcode");
  1189. //model.setValue("/root/send/bcnolist", "'" + model.getValue("/root/hidden/spcacpt/bcno") + "'");
  1190. //submit("TRLMP00203");
  1191. //model.setValue("/root/send/bcnolist", "");
  1192. //copyNodeType("/root/main/barcode/barcodeinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "after");
  1193. fLisMicroWorknoSpcBarcodePrint011("/root/main/barcode/barcodeinfo"); // 미생물 작업번호 바코드 출력(출력노드, 분주 또는 진검 바코드여부)
  1194. }
  1195. }else{
  1196. fLisMicroWorknoSpcBarcodePrint("/root/main/barcode/barcodeinfo", BCount); // 미생물 작업번호 바코드 출력(출력노드, 분주 또는 진검 바코드여부)
  1197. }
  1198. }
  1199. return;
  1200. }
  1201. }
  1202. // 바코드 재출력
  1203. function fExeBarcdRePrnt(){
  1204. model.removeNodeset("/root/hidden/barcode/barcodeinfo");
  1205. var bcno = "";
  1206. var bcollTF = false;
  1207. for(i=1; i< grd_spcreflist.rows; i++){
  1208. if(model.getValue("/root/main/spclistref["+i+"]/chk")=="Y"){
  1209. bcno = bcno + "'" + model.getvalue("/root/main/spclistref["+i+"]/bcno") + "'" + ",";
  1210. bcollTF = true;
  1211. }
  1212. }
  1213. ;
  1214. if(bcollTF == false){
  1215. alert("재출력할 검체를 선택하십시오. ");
  1216. }
  1217. if(bcollTF) {
  1218. bcno = bcno.substring( 0 ,bcno.length - 1);
  1219. model.makeValue("/root/send/bcnolist" , bcno);
  1220. //--------------------
  1221. submit("TRLZZ00102");
  1222. model.makeNode("/root/hidden/barcode/barcodeinfo/cntflag");
  1223. model.setValue("/root/hidden/barcode/barcodeinfo/cntflag", "acpt");
  1224. var count2 = getNodesetCount("/root/hidden/barcode/barcodeinfo");
  1225. var spcTF = false;
  1226. for(i=1; i<=count2; i++ ){
  1227. if(model.getValue("/root/hidden/barcode/barcodeinfo["+i+"]/spcacptbarcdprntcnt") >0){
  1228. spcTF = true;
  1229. }
  1230. }
  1231. var prtkind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind");
  1232. var portnm = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/commkind");
  1233. // 접수 바코드 출력
  1234. if(spcTF){
  1235. //-----------------------------------------------------
  1236. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7"){
  1237. fLisSpcBarcodePrint2("/root/hidden/barcode/barcodeinfo");
  1238. }else if(prtkind == "8" ){
  1239. fLisSpcBarcodePrint3("/root/main/barcode/barcodeinfo");
  1240. }else{
  1241. fLisSpcBarcodePrint("/root/hidden/barcode/barcodeinfo");
  1242. }
  1243. }
  1244. }
  1245. }
  1246. // 대분류콤보 선택시
  1247. function fSetTLrgCd() {
  1248. var etc = model.getvalue("/root/hidden/spcacpt/testlrgcd");
  1249. if(etc == "00"){
  1250. cmd_TMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0106";
  1251. model.setValue("/root/hidden/spcacpt/testmdlcd" , "00");
  1252. }
  1253. else{
  1254. model.setValue("/root/hidden/spcacpt/testmdlcd" , "00");
  1255. cmd_TMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0106[cd= '00' or etc01='"+ etc +"']";
  1256. }
  1257. cmd_TMdlCd.refresh();
  1258. }
  1259. function fSetTLrgCd2() {
  1260. var etc = model.getvalue("/root/hidden/spcref/lrgexecdept");
  1261. //alert(etc);
  1262. if(etc == "00"){
  1263. cmb_exec.choices.itemset.attribute("nodeset") = "/root/init/LB0106";
  1264. model.setValue("/root/hidden/spcref/execdept" , "00");
  1265. }
  1266. else{
  1267. model.setValue("/root/hidden/spcref/execdept" , "00");
  1268. cmb_exec.choices.itemset.attribute("nodeset") = "/root/init/LB0106[cd= '00' or etc01='"+ etc +"']";
  1269. }
  1270. cmb_exec.refresh();
  1271. }
  1272. //특수검사 조회
  1273. function fGetSpclTestList() {
  1274. model.removeNodeset("/root/main/getspcltestlist");
  1275. model.makeValue("/root/send/acptsdd", getCurrentDate());
  1276. model.makeValue("/root/send/acptedd", getCurrentDate());
  1277. model.makeValue("/root/send/spcltestgrup", "00");
  1278. model.makeValue("/root/send/seqsno", "00000");
  1279. model.makeValue("/root/send/seqeno", "99999");
  1280. model.makeValue("/root/send/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  1281. model.makeValue("/root/send/refflag", "1");
  1282. model.makeValue("/root/send/spcchoiyn", "1");
  1283. //model.makeValue("/root/send/bcno", model.getValue("/root/main/spclist/bcno"));
  1284. model.makeValue("/root/send/bcno", model.getValue("/root/hidden/spcacpt/bcno"));
  1285. submit("TRLRP00701");
  1286. }
  1287. //특수검사 의뢰서 출력
  1288. function fPrint(find){
  1289. model.removeNodeset("/root/hidden/report");
  1290. model.makeNode("/root/hidden/report");
  1291. model.removeNodeset("/root/main/rslt");
  1292. model.removeNodeset("/root/main/cf");
  1293. //골수 결과
  1294. if(model.getValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/initial") == "Initial") {
  1295. model.setValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/initial", "Initial");
  1296. } else if(model.getValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/fu") == "F/U") {
  1297. model.setValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/initial", "F/U");
  1298. } else if(model.getValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/others") == "Others") {
  1299. model.setValue("/root/main/getspcltestlist["+ find +"]/reqcnts/reqfrminfo/inptitem01/initial", "Others");
  1300. }
  1301. copyNodeListType("/root/hidden/report", "/root/main/getspcltestlist["+ find +"]", "after");
  1302. var report = getNodesetCount("/root/hidden/report/getspcltestlist");
  1303. model.makeValue("/root/send/pid", model.getValue("/root/main/getspcltestlist["+ find +"]/pid"));
  1304. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  1305. //model.makeValue("/root/send/instcd", "012");
  1306. submit("TRLRP00703");
  1307. //CBC 검사결과
  1308. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tcls");
  1309. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/rslt");
  1310. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tcls2");
  1311. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/rslt2");
  1312. var count = getNodesetCount("/root/main/rslt");
  1313. var tclslist = "";
  1314. var rsltlist = "";
  1315. var tclslist2 = "";
  1316. var rsltlist2 = "";
  1317. var tcls = "";
  1318. for(j = 1; j <= count; j++) {
  1319. tcls = model.getValue("/root/main/rslt["+ j +"]/tclscd");
  1320. if(tcls.substr(3, 3) != "105") {
  1321. tclslist = tclslist + model.getValue("/root/main/rslt["+ j +"]/tclsnm") + "\n";
  1322. rsltlist = rsltlist + model.getValue("/root/main/rslt["+ j +"]/reptrslt") + "\n";
  1323. } else if(tcls.substr(3, 3) == "105") {
  1324. tclslist2 = tclslist2 + model.getValue("/root/main/rslt["+ j +"]/tclsnm") + "\n";
  1325. rsltlist2 = rsltlist2 + model.getValue("/root/main/rslt["+ j +"]/reptrslt") + "\n";
  1326. }
  1327. }
  1328. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tcls", tclslist);
  1329. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/rslt", rsltlist);
  1330. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tcls2", tclslist2);
  1331. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/rslt2", rsltlist2);
  1332. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tm");
  1333. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/tm", model.getValue("/root/main/rslt["+ count +"]/lastreptdt"));
  1334. //CF 검사결과
  1335. /* model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/ptno");
  1336. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/part");
  1337. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/mthd");
  1338. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/drg");
  1339. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/acpt");
  1340. model.makeNode("/root/hidden/report/getspcltestlist["+ report +"]/rbc/drnm");
  1341. var count = getNodesetCount("/root/main/cf");
  1342. var ptno = "";
  1343. var part = "";
  1344. var mthd = "";
  1345. var drg = "";
  1346. var acpt = "";
  1347. var drnm = "";
  1348. for(j = 1; j <= count; j++) {
  1349. ptno = ptno + model.getValue("/root/main/cf["+ j +"]/dispptno") + "\n";
  1350. part = part + model.getValue("/root/main/cf["+ j +"]/extrpartcd") + "\n" ;
  1351. mthd = mthd + model.getValue("/root/main/cf["+ j +"]/extrmthdcd") + "\n";
  1352. drg = drg + model.getValue("/root/main/cf["+ j +"]/drgcd") + "\n";
  1353. acpt = acpt + model.getValue("/root/main/cf["+ j +"]/acptdd") + "\n";
  1354. drnm = drnm + model.getValue("/root/main/cd["+ j +"]/readdrnm") + "\n";
  1355. }
  1356. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/ptno", ptno);
  1357. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/part", part);
  1358. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/mthd", mthd);
  1359. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/drg", drg);
  1360. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/acpt", acpt);
  1361. model.setValue("/root/hidden/report/getspcltestlist["+ report +"]/rbc/drnm", drnm);*/
  1362. var count = getNodesetCount("/root/main/cf");
  1363. for(j = 1; j <= count; j++) {
  1364. model.makeNode("/root/hidden/report/getspcltestlist/cf["+ j +"]");
  1365. copyNodeType("/root/hidden/report/getspcltestlist/cf["+ j +"]", "/root/main/cf["+ j +"]");
  1366. }
  1367. // model.makeValue("/root/send/tclscd", model.getValue("/root/main/getspcltestlist["+ find +"]/tclscd"));
  1368. model.makeValue("/root/send/spccd", model.getValue("/root/main/getspcltestlist["+ find +"]/spccd"));
  1369. model.makeValue("/root/send/prcpgenrflag", model.getValue("/root/main/getspcltestlist["+ find +"]/prcpgenrflag"));
  1370. model.makeValue("/root/send/bcno", model.getValue("/root/main/getspcltestlist["+ find +"]/bcno"));
  1371. submit("TRLRP00702");
  1372. model.makeValue("/root/hidden/report/getspcltestlist["+ report +"]/termengnm", model.getValue("/root/main/detltestlist/termengnm"));
  1373. var flag = model.getValue("/root/hidden/report/getspcltestlist/reqfrmcd");
  1374. // switch(flag) {
  1375. // case "01" :
  1376. //exeReportPreview("RPLRP00100", "XMLSTR", "/root/hidden/report", "", "true"); //골수검사의뢰서
  1377. /* break;
  1378. case "02" :
  1379. exeReportPreview("RPLRP00200", "XMLSTR", "/root/hidden/report", "", "true"); //분자생물학부의뢰서
  1380. break;
  1381. case "03" :
  1382. exeReportPreview("RPLRP00300", "XMLSTR", "/root/hidden/report", "", "true"); //산전검사의뢰서
  1383. break;
  1384. case "04" :
  1385. exeReportPreview("RPLRP00400", "XMLSTR", "/root/hidden/report", "", "true"); //세포유전학검사의뢰서
  1386. break;
  1387. case "05" :
  1388. exeReportPreview("RPLRP00500", "XMLSTR", "/root/hidden/report", "", "true"); //장기이식의뢰서
  1389. break;
  1390. case "06" :
  1391. exeReportPreview("RPLRP00600", "XMLSTR", "/root/hidden/report", "", "true"); //TDM 의뢰서
  1392. break;
  1393. }*/
  1394. }
  1395. // 조회일자 3일 이전으로 못가게 막기
  1396. function fSetRefFromdd(){
  1397. var todd = model.getValue("/root/hidden/spcref/reftodd");
  1398. var mDate = todd.toDate("YYYYMMDD").getAddDate(-3);
  1399. var fromdd = model.getValue("/root/hidden/spcref/reffromdd");
  1400. if( mDate.getDateFormat("YYYYMMDD") > fromdd){
  1401. messageBox("환자개별 조회 이외의 검색구간은 최대 3일까지","E008");
  1402. var mr = messageBox("최대 3일 조회","S001"); //메세지에서 선택한 값.
  1403. if(mr == "6") {
  1404. model.setValue("/root/hidden/spcref/reffromdd", mDate.getDateFormat("YYYYMMDD"));
  1405. model.setValue("/root/send/reffromdd", model.getValue("/root/hidden/spcref/reffromdd"));
  1406. model.refresh();
  1407. return true;
  1408. } else if(mr == "2") {
  1409. return false;
  1410. }else {
  1411. return true;
  1412. }
  1413. }else if(todd < fromdd){
  1414. model.alert("기간설정이 잘못 되었습니다.");
  1415. return false;
  1416. }else{
  1417. return true;
  1418. }
  1419. }
  1420. // 검체목록출력
  1421. function fExePrint(){
  1422. model.removeNodeset("/root/hidden/report");
  1423. if(grd_spcreflist.rows < 2){
  1424. messageBox("출력할", "E013");
  1425. return;
  1426. }
  1427. var prtrow = 1;
  1428. for(i=1; i< grd_spcreflist.rows; i++){
  1429. if(model.getValue("/root/main/spclistref["+i+"]/chk")=="Y"){
  1430. model.makeNode("/root/hidden/report/spclistref["+ prtrow +"]");
  1431. copyNodeType("/root/hidden/report/spclistref["+ prtrow +"]", "/root/main/spclistref["+i+"]");
  1432. model.setValue("/root/hidden/report/spclistref["+ prtrow +"]/spcstat", grd_spcreflist.labelMatrix(i, 12));
  1433. prtrow ++;
  1434. }
  1435. }
  1436. if(prtrow < 2){
  1437. messageBox("출력할", "E013");
  1438. return;
  1439. }
  1440. exeReportPreview("RPLLJ00100", "XMLSTR");
  1441. }
  1442. //상세조회 선택시 검체 목록 컬럼 Hidden 변경
  1443. function fSetSpcRefList(){
  1444. //상세조회
  1445. if(chk_detlspcinfoyn.value == 1){
  1446. grd_spcreflist.colHidden(grd_spcreflist.colRef("testcd")) = false;
  1447. grd_spcreflist.colHidden(grd_spcreflist.colRef("tclsnm")) = false;
  1448. grd_spcreflist.colHidden(grd_spcreflist.colRef("reptrslt")) = false;
  1449. for(var Rrow = 1; Rrow < grd_spcreflist.rows ; Rrow++){
  1450. if(model.getValue("/root/main/spclistref["+Rrow+"]/reptrslt") == "미등록"){
  1451. grd_spcreflist.cellStyle("color", Rrow, 12, Rrow, 12) = "#EE0000";
  1452. }else{
  1453. grd_spcreflist.cellStyle("color", Rrow, 12, Rrow, 12) = "#000000";
  1454. }
  1455. }
  1456. }else{
  1457. grd_spcreflist.colHidden(grd_spcreflist.colRef("testcd")) = true;
  1458. grd_spcreflist.colHidden(grd_spcreflist.colRef("tclsnm")) = true;
  1459. grd_spcreflist.colHidden(grd_spcreflist.colRef("reptrslt")) = true;
  1460. /* 이재오 추가 20120704 일 */
  1461. if (rdo_acptdd.value == 3){
  1462. grd_spcreflist.colHidden(grd_spcreflist.colRef("tsectcd")) = true;
  1463. grd_spcreflist.colHidden(grd_spcreflist.colRef("workno")) = true;
  1464. grd_spcreflist.colHidden(grd_spcreflist.colRef("bcno")) = true;
  1465. grd_spcreflist.colHidden(grd_spcreflist.colRef("testcd")) = true;
  1466. grd_spcreflist.colHidden(grd_spcreflist.colRef("tclsnm")) = true;
  1467. grd_spcreflist.colHidden(grd_spcreflist.colRef("spcnm")) = true;
  1468. grd_spcreflist.colHidden(grd_spcreflist.colRef("spcltestseq")) = true;
  1469. }else{
  1470. grd_spcreflist.colHidden(grd_spcreflist.colRef("tsectcd")) = false;
  1471. grd_spcreflist.colHidden(grd_spcreflist.colRef("workno")) = false;
  1472. grd_spcreflist.colHidden(grd_spcreflist.colRef("bcno")) = false;
  1473. grd_spcreflist.colHidden(grd_spcreflist.colRef("testcd")) = false;
  1474. grd_spcreflist.colHidden(grd_spcreflist.colRef("tclsnm")) = false;
  1475. grd_spcreflist.colHidden(grd_spcreflist.colRef("spcnm")) = false;
  1476. grd_spcreflist.colHidden(grd_spcreflist.colRef("spcltestseq")) = false;
  1477. }
  1478. /* 이재오 추가 20120704 일 */
  1479. }
  1480. }
  1481. //페이지 버튼에따라 처리
  1482. function fSetPage(pVal){
  1483. //pVal = 1:맨처음, 2:이전, 3:다음, 4:맨끝 page로..
  1484. var vFPage = parseInt(model.getValue("/root/send/page"));
  1485. //model.setValue("/root/main/page/lastpage", 10); //test
  1486. var vLPage = parseInt(model.getValue("/root/main/page/lastpage"));
  1487. if(pVal == "1"){
  1488. if(vFPage != 1){
  1489. model.setValue("/root/send/page", 1);
  1490. }else{
  1491. return;
  1492. }
  1493. }else if(pVal == "2"){
  1494. if(vFPage != 1){
  1495. vFPage -= 1;
  1496. model.setValue("/root/send/page", vFPage);
  1497. }else{
  1498. return;
  1499. }
  1500. }else if(pVal == "3"){
  1501. if(vFPage < vLPage){
  1502. vFPage += 1;
  1503. model.setValue("/root/send/page", vFPage);
  1504. }else{
  1505. return;
  1506. }
  1507. }else if(pVal == "4"){
  1508. if(vLPage != vFPage){
  1509. model.setValue("/root/send/page", vLPage);
  1510. }else{
  1511. return;
  1512. }
  1513. }
  1514. group_page.refresh();
  1515. //alert(model.getValue("/root/send/page"));
  1516. fGetSpcListref("P");
  1517. }
  1518. ]]>
  1519. </script>
  1520. </xhtml:head>
  1521. <xhtml:body style="text-align:center; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1522. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  1523. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:98px; height:14px; ">검체접수</caption>
  1524. </group>
  1525. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  1526. <switch id="switch3" class="sw_box" style="left:0px; top:26px; width:1194px; height:718px; ">
  1527. <case id="case1" selected="true">
  1528. <line id="line8" class="line_1" style="x1:5px; y1:65px; x2:653px; y2:65px; "/>
  1529. <caption id="caption21" class="tit_2" style="left:5px; top:50px; width:100px; height:13px; ">검체목록</caption>
  1530. <caption id="caption1" class="tit_2" style="left:660px; top:50px; width:100px; height:13px; ">검체상세목록</caption>
  1531. <line id="line1" class="line_1" style="x1:659px; y1:65px; x2:1189px; y2:65px; "/>
  1532. <caption id="caption7" class="tit_2" style="left:659px; top:609px; width:108px; height:13px; ">의뢰의사리마크</caption>
  1533. <line id="line3" class="line_1" style="x1:659px; y1:624px; x2:1189px; y2:624px; "/>
  1534. <caption id="caption8" class="cell_1" style="left:659px; top:629px; width:95px; height:83px; ">의뢰의사리마크</caption>
  1535. <line id="line4" class="line_3" style="x1:762px; y1:711px; x2:1190px; y2:711px; "/>
  1536. <datagrid id="grd_spclist" nodeset="/root/main/spclist" caption="^시행부서^접수번호^바코드번호^진료과^환자명^검체명^접수일시^가접수일시" colwidth="20, 90, 95, 85, 80, 95, 110, 125, 80, 100, 100, 100, 100" defaultrows="0" ellipsis="false" mergecellsfixedrows="bycolrec" rowheader="seq" style="left:5px; top:70px; width:648px; height:623px; ">
  1537. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  1538. <col disabled="true" ref="execdeptcd" type="combo">
  1539. <choices>
  1540. <itemset nodeset="/root/init/LB0106">
  1541. <label ref="nm"/>
  1542. <value ref="cd"/>
  1543. </itemset>
  1544. </choices>
  1545. </col>
  1546. <col ref="workno" visibility="hidden"/>
  1547. <col ref="bcno"/>
  1548. <col ref="orddeptnm"/>
  1549. <col ref="patnm"/>
  1550. <col ref="spccd"/>
  1551. <col ref="spcacptdt" format="yyyy-mm-dd hh:nn:ss"/>
  1552. <col ref="spcarvdt" format="yyyy-mm-dd"/>
  1553. <col ref="spcnm" visibility="hidden"/>
  1554. <col ref="pid" visibility="hidden"/>
  1555. <col ref="patage" visibility="hidden"/>
  1556. <col ref="haspnm" visibility="hidden"/>
  1557. <script type="javascript" ev:event="onclick">
  1558. <![CDATA[
  1559. var col = grd_spclist.col;
  1560. // 체크박스(1), 검체별특이사항(10) col 제외
  1561. if(col != 1){
  1562. // 검체상세목록 조회
  1563. var grow = "";
  1564. fGetSpcDetlList(grow);
  1565. }
  1566. ]]>
  1567. </script>
  1568. </datagrid>
  1569. <group id="group2" style="left:5px; top:5px; width:1185px; height:35px; ">
  1570. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1184px; height:35px; "/>
  1571. <caption id="caption3" class="search_name" style="left:19px; top:9px; width:86px; height:17px; ">시행부서 :</caption>
  1572. <caption id="caption10" class="search_name" style="left:749px; top:9px; width:99px; height:17px; ">바코드번호 :</caption>
  1573. <caption id="caption11" class="search_name" style="left:339px; top:9px; width:97px; height:17px; ">접수구분 :</caption>
  1574. <input id="ipt_bcno" ref="/root/hidden/spcacpt/bcno" class="input_button" navindex="4" imemode="disabled" inputtype="button" _chartype="upper" style="left:854px; top:8px; width:135px; height:19px; ">
  1575. <script type="javascript" ev:event="onbuttonclick">
  1576. <![CDATA[
  1577. // 바코드번호에 버튼 눌렀을때
  1578. fsetBCNOEnter();
  1579. ]]>
  1580. </script>
  1581. <script type="javascript" ev:event="onkeypress">
  1582. <![CDATA[
  1583. fKeyEvent();
  1584. ]]>
  1585. </script>
  1586. </input>
  1587. <select1 id="rdo_acptflag" ref="/root/hidden/spcacpt/refflag" class="radio_search" navindex="2" appearance="full" cols="3" overflow="visible" style="left:439px; top:10px; width:125px; height:13px; ">
  1588. <choices>
  1589. <item>
  1590. <label>가접수</label>
  1591. <value>1</value>
  1592. </item>
  1593. <item>
  1594. <label>접 수</label>
  1595. <value>2</value>
  1596. </item>
  1597. </choices>
  1598. </select1>
  1599. <select id="chk_spcchoi" ref="/root/hidden/spcacpt/spcchoiyn" class="checkbox_search" navindex="3" overflow="visible" appearance="full" style="left:574px; top:10px; width:100px; height:20px; border-style:none; ">
  1600. <choices>
  1601. <item>
  1602. <label>검체선택여부</label>
  1603. <value>1</value>
  1604. </item>
  1605. </choices>
  1606. <script type="javascript" ev:event="xforms-value-changed">
  1607. <![CDATA[
  1608. if(model.getValue("/root/hidden/spcacpt/spcchoiyn") == "1"){
  1609. btn_batacpt.visible = "true";
  1610. }else{
  1611. btn_batacpt.visible = "false";
  1612. }
  1613. model.removeNodeset("/root/main/spclist");
  1614. model.removeNodeset("/root/main/detllistref");
  1615. model.refresh();
  1616. ]]>
  1617. </script>
  1618. </select>
  1619. <select id="checkbox2" ref="/root/hidden/spcacpt/resetyn" class="checkbox_search" overflow="visible" appearance="full" style="left:995px; top:10px; width:110px; height:20px; border-style:none; ">
  1620. <choices>
  1621. <item>
  1622. <label>화면초기화여부</label>
  1623. <value>1</value>
  1624. </item>
  1625. </choices>
  1626. </select>
  1627. <select1 id="cmd_TMdlCd" ref="/root/hidden/spcacpt/testmdlcd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:216px; top:8px; width:100px; height:19px; text-align:left; ">
  1628. <choices>
  1629. <itemset nodeset="/root/init/LB0106">
  1630. <label ref="nm"/>
  1631. <value ref="cd"/>
  1632. </itemset>
  1633. </choices>
  1634. </select1>
  1635. <select1 id="cmb_TLrgCd" ref="/root/hidden/spcacpt/testlrgcd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:110px; top:8px; width:100px; height:19px; text-align:left; ">
  1636. <choices>
  1637. <itemset nodeset="/root/init/LB0111">
  1638. <label ref="nm"/>
  1639. <value ref="cd"/>
  1640. </itemset>
  1641. </choices>
  1642. <script type="javascript" ev:event="xforms-value-changed">
  1643. <![CDATA[
  1644. fSetTLrgCd();
  1645. ]]>
  1646. </script>
  1647. </select1>
  1648. <select id="checkbox3" ref="/root/hidden/spcacpt/bt" class="checkbox_search" overflow="visible" appearance="full" style="left:1110px; top:10px; width:75px; height:15px; border-style:none; ">
  1649. <choices>
  1650. <item>
  1651. <label>아침채혈</label>
  1652. <value>1</value>
  1653. </item>
  1654. </choices>
  1655. </select>
  1656. </group>
  1657. <select id="chk_label" ref="/root/hidden/labelyn" visibility="hidden" overflow="visible" appearance="full" style="left:9px; top:694px; width:100px; height:20px; ">
  1658. <choices>
  1659. <item>
  1660. <label>라벨발행</label>
  1661. <value>Y</value>
  1662. </item>
  1663. </choices>
  1664. </select>
  1665. <select id="chk_acptbcd" ref="/root/hidden/acptbcdyn" visibility="hidden" overflow="visible" appearance="full" style="left:144px; top:694px; width:100px; height:20px; ">
  1666. <choices>
  1667. <item>
  1668. <label>접수 바코드</label>
  1669. <value>Y</value>
  1670. </item>
  1671. </choices>
  1672. </select>
  1673. <datagrid id="grd_detllist" nodeset="/root/main/detllistref" caption="검사코드^검사명^응급^작업번호^표시^특수검사연번호^원내전화" colsep="^" colwidth="80, 160, 40, 125 ,0,0,80" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:659px; top:70px; width:530px; height:527px; ">
  1674. <col ref="tclscd"/>
  1675. <col ref="tclsscrnnm" style="text-align:left; "/>
  1676. <col ref="erprcpflag"/>
  1677. <col ref="workno"/>
  1678. <col ref="spcltestseq"/>
  1679. <col ref="refprntyn" visibility="hidden"/>
  1680. <col ref="phone"/>
  1681. </datagrid>
  1682. <button id="btn_spcf" class="btn2_letter6" style="left:567px; top:44px; width:86px; height:19px; ">
  1683. <caption>특이사항저장</caption>
  1684. <script type="javascript" ev:event="DOMActivate">
  1685. <![CDATA[
  1686. //fSetSpcffact();
  1687. ]]>
  1688. </script>
  1689. </button>
  1690. <textarea id="tar_rem" ref="/root/main/detllistref/prcpremfact" style="left:755px; top:630px; width:434px; height:80px; text-align:left; "/>
  1691. <button id="btn_urine" class="btn2_letter13" visibility="hidden" style="left:980px; top:40px; width:163px; height:19px; ">
  1692. <caption>Urine 24시간유린일때 보이기</caption>
  1693. <script type="javascript" ev:event="DOMActivate">
  1694. <![CDATA[
  1695. fSetUrine();
  1696. ]]>
  1697. </script>
  1698. </button>
  1699. <output id="opt_cnt" ref="/root/hidden/acptcnt" style="left:512px; top:47px; width:50px; height:19px; font-weight:bold; text-align:left; "/>
  1700. <caption id="cap_cnt" class="tit_2" style="left:370px; top:50px; width:139px; height:13px; ">
  1701. <![CDATA[접수된 검체 갯수 =>]]>
  1702. </caption>
  1703. <select id="checkbox1" ref="/root/hidden/barcdcheck" visibility="hidden" overflow="visible" appearance="full" style="left:1100px; top:40px; width:93px; height:16px; border-style:none; ">
  1704. <choices>
  1705. <item>
  1706. <label>바코드출력</label>
  1707. <value>1</value>
  1708. </item>
  1709. </choices>
  1710. </select>
  1711. <select1 id="cmb_execdept" ref="/root/hidden/spcacpt/testmdlcd" class="combo_search" navindex="1" visibility="hidden" appearance="minimal" itemcount="20" style="left:820px; top:40px; width:141px; height:19px; font-family:새굴림; text-align:left; ">
  1712. <choices>
  1713. <itemset nodeset="/root/init/LB0106">
  1714. <label ref="nm"/>
  1715. <value ref="cd"/>
  1716. </itemset>
  1717. </choices>
  1718. </select1>
  1719. <button id="btn_formprnt" disabled="true" style="left:155px; top:45px; width:222px; height:20px; font-size:10pt; font-weight:bold; ">
  1720. <caption/>
  1721. <script type="javascript" ev:event="DOMActivate">
  1722. <![CDATA[
  1723. //================================================================================================
  1724. //pid : 환자번호
  1725. //orddeptcd : 진료과 코드
  1726. //indd : 입(내)원일
  1727. //docucd : 서식코드
  1728. //ioflag : 입원/외래
  1729. //cmc_cretno : 생성번호
  1730. //================================================================================================
  1731. model.resetInstanceNode("/root/send/iemr");
  1732. var prcpgenrflag = model.getValue("/root/main/spclist/prcpgenrflag");
  1733. /* if((prcpgenrflag == "O") ||(prcpgenrflag == "S")) {
  1734. prcpgenrflag = "O";
  1735. } else {
  1736. prcpgenrflag = "I";
  1737. }*/
  1738. model.makeValue("/root/send/iemr/pid", model.getValue("/root/main/spclist/pid"));
  1739. model.makeValue("/root/send/iemr/orddeptcd", model.getValue("/root/main/spclist/orddeptcd"));
  1740. model.makeValue("/root/send/iemr/indd", model.getValue("/root/main/spclist/orddd"));
  1741. model.makeValue("/root/send/iemr/docucd", model.getValue("/root/main/detllistref/formcd"));
  1742. model.makeValue("/root/send/iemr/ioflag", prcpgenrflag);
  1743. model.makeValue("/root/send/iemr/cmc_cretno", model.getValue("/root/main/detllistref/cretno"));
  1744. model.makeValue("/root/send/iemr/cmc_spcid", "");
  1745. model.makeValue("/root/send/iemr/cmc_orddate", "");
  1746. model.makeValue("/root/send/iemr/cmc_orderseqno", "");
  1747. if(window.children.item("imgemrviewer") == null) {
  1748. window.load("SSMRC03110.xrw", "modeless", "imgemrviewer", "", "/root/send/iemr", "/root/hidden/temp");
  1749. }
  1750. else
  1751. {
  1752. // 팝업 EMR Viewer 사용중인 상태에서 리로드 기능 추가 - 20080416
  1753. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  1754. window.children.item("imgemrviewer").javascript.reloadChart(iemrNode);
  1755. // 팝업 EMR Viewer 화면 맨 앞으로 가져오기
  1756. window.children.item("imgemrviewer").modelesstopmost = true;
  1757. window.children.item("imgemrviewer").modelesstopmost = false;
  1758. }
  1759. ]]>
  1760. </script>
  1761. </button>
  1762. <caption id="caption5" class="hand" style="left:76px; top:44px; width:81px; height:23px; ">동의서 :</caption>
  1763. </case>
  1764. <case id="case2">
  1765. <line id="line2" class="line_1" style="x1:5px; y1:95px; x2:1190px; y2:95px; "/>
  1766. <caption id="caption9" class="tit_2" style="left:9px; top:80px; width:80px; height:13px; ">검체목록</caption>
  1767. <group id="group5" style="left:5px; top:5px; width:1185px; height:66px; ">
  1768. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1184px; height:66PX; "/>
  1769. <line id="line6" class="line_4" style="x1:1103px; y1:37px; x2:1103px; y2:59px; "/>
  1770. <caption id="caption13" class="search_name" style="left:15px; top:10px; width:87px; height:17px; ">검색구분 :</caption>
  1771. <caption id="caption14" class="search_name" style="left:360px; top:40px; width:86px; height:17px; ">조회일자 :</caption>
  1772. <caption id="caption16" class="search_no_b" style="left:552px; top:40px; width:15px; height:17px; text-align:center; ">~</caption>
  1773. <caption id="caption17" class="search_name" style="left:677px; top:39px; width:90px; height:17px; ">조회기준 :</caption>
  1774. <caption id="caption2" class="search_name" style="left:15px; top:39px; width:86px; height:17px; ">시행부서 :</caption>
  1775. <input id="ipt_text" ref="/root/hidden/spcref/refcnts" class="input_button" navindex="12" inputtype="button" style="left:197px; top:9px; width:90px; height:19px; ">
  1776. <script type="javascript" ev:event="onkeypress">
  1777. <![CDATA[
  1778. fKeyEvent();
  1779. ]]>
  1780. </script>
  1781. <script type="javascript" ev:event="onbuttonclick">
  1782. <![CDATA[
  1783. if(ipt_text.currentText != "") {
  1784. model.setValue("/root/hidden/spcref/refcnts", (ipt_text.currentText).toUpperCase());
  1785. fGetSpcListref("K");
  1786. } else {
  1787. messageBox("검색어를", "C001");
  1788. }
  1789. ipt_text.selBegin = 0;
  1790. ipt_text.selEnd = ipt_text.currentText.length;
  1791. ]]>
  1792. </script>
  1793. </input>
  1794. <button id="btn_ref" class="btn1_letter2" navindex="13" style="left:1113px; top:38px; width:56px; height:22px; ">
  1795. <caption>조회</caption>
  1796. <script type="javascript" ev:event="DOMActivate">
  1797. <![CDATA[
  1798. // 검체조회 tab 조회 버튼 클릭시
  1799. fGetSpcListref();
  1800. ]]>
  1801. </script>
  1802. </button>
  1803. <select1 id="cmb_refgbn" ref="/root/hidden/spcref/refflag" class="combo_search" navindex="11" appearance="minimal" style="left:104px; top:9px; width:90px; height:19px; ">
  1804. <choices>
  1805. <item>
  1806. <label>환자번호</label>
  1807. <value>1</value>
  1808. </item>
  1809. <item>
  1810. <label>바코드번호</label>
  1811. <value>2</value>
  1812. </item>
  1813. </choices>
  1814. <script type="javascript" ev:event="xforms-value-changed">
  1815. <![CDATA[
  1816. var cmb_value = model.getValue("/root/hidden/spcref/refflag");
  1817. if(cmb_value == "1"){
  1818. caption12.visible = true;
  1819. caption4.visible = true;
  1820. input1.visible = true;
  1821. input2.visible = true;
  1822. checkbox6.visible = true;
  1823. }else{
  1824. caption12.visible = false;
  1825. caption4.visible = false;
  1826. input1.visible = false;
  1827. input2.visible = false;
  1828. checkbox6.visible = false;
  1829. }
  1830. model.refresh();
  1831. ]]>
  1832. </script>
  1833. </select1>
  1834. <select1 id="rdo_acptdd" ref="/root/hidden/spcref/refbase" class="radio_search" navindex="8" appearance="full" cols="3" overflow="visible" style="left:770px; top:41px; width:250px; height:13px; ">
  1835. <choices>
  1836. <item>
  1837. <label>검체접수일</label>
  1838. <value>1</value>
  1839. </item>
  1840. <item>
  1841. <label>검체채취일</label>
  1842. <value>2</value>
  1843. </item>
  1844. <item>
  1845. <label>채혈리스트</label>
  1846. <value>3</value>
  1847. </item>
  1848. </choices>
  1849. </select1>
  1850. <input id="ipt_reffromdd" ref="/root/hidden/spcref/reffromdd" class="input_search" navindex="9" inputtype="date" format="yyyy-mm-dd" style="left:456px; top:39px; width:90px; height:19px; ">
  1851. <script type="javascript" ev:event="xforms-value-changed">
  1852. <![CDATA[
  1853. //fSetRefFromdd();
  1854. ]]>
  1855. </script>
  1856. </input>
  1857. <input id="ipt_reftodd" ref="/root/hidden/spcref/reftodd" class="input_search" navindex="10" inputtype="date" format="yyyy-mm-dd" style="left:574px; top:39px; width:90px; height:19px; "/>
  1858. <select1 id="cmb_exec" ref="/root/hidden/spcref/execdept" class="combo_search" navindex="7" appearance="minimal" itemcount="20" style="left:208px; top:38px; width:137px; height:19px; ">
  1859. <choices>
  1860. <itemset nodeset="/root/init/LB0106">
  1861. <label ref="nm"/>
  1862. <value ref="cd"/>
  1863. </itemset>
  1864. </choices>
  1865. </select1>
  1866. <select id="chk_undoacpt" ref="/root/hidden/spcref/undoacpt" class="checkbox_search" overflow="visible" appearance="full" style="left:1037px; top:41px; width:55px; height:15px; border-style:none; ">
  1867. <choices>
  1868. <item>
  1869. <label>미접수</label>
  1870. <value>1</value>
  1871. </item>
  1872. </choices>
  1873. </select>
  1874. <select id="chk_detlspcinfoyn" ref="/root/hidden/spcref/detlspcinfoyn" class="checkbox_search" visibility="visible" overflow="visible" appearance="full" style="left:1037px; top:11px; width:68px; height:15px; border-style:none; ">
  1875. <choices>
  1876. <item>
  1877. <label>상세조회</label>
  1878. <value>1</value>
  1879. </item>
  1880. </choices>
  1881. </select>
  1882. <line id="line5" class="line_7" style="x1:15px; y1:32px; x2:1185px; y2:31px; "/>
  1883. <input id="input1" ref="/root/hidden/spcref/pidtodd" class="input_search" navindex="10" visibility="hidden" inputtype="date" format="yyyy-mm-dd" style="left:539px; top:9px; width:90px; height:19px; "/>
  1884. <caption id="caption4" class="search_no_b" visibility="hidden" style="left:522px; top:10px; width:15px; height:17px; text-align:center; ">~</caption>
  1885. <input id="input2" ref="/root/hidden/spcref/pidfromdd" class="input_search" navindex="9" visibility="hidden" inputtype="date" format="yyyy-mm-dd" style="left:431px; top:9px; width:90px; height:19px; ">
  1886. <script type="javascript" ev:event="xforms-value-changed">
  1887. <![CDATA[
  1888. //fSetRefFromdd();
  1889. ]]>
  1890. </script>
  1891. </input>
  1892. <caption id="caption12" class="search_name" visibility="hidden" style="left:315px; top:10px; width:121px; height:17px; ">검색처방일자 :</caption>
  1893. <select id="checkbox6" ref="/root/hidden/spcref/piddd" class="checkbox_search" visibility="hidden" overflow="visible" appearance="full" style="left:637px; top:11px; width:68px; height:15px; border-style:none; ">
  1894. <choices>
  1895. <item>
  1896. <label>일자사용</label>
  1897. <value>1</value>
  1898. </item>
  1899. </choices>
  1900. </select>
  1901. <select1 id="cmb_lrgexec" ref="/root/hidden/spcref/lrgexecdept" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:105px; top:38px; width:100px; height:19px; text-align:left; ">
  1902. <choices>
  1903. <itemset nodeset="/root/init/LB0111">
  1904. <label ref="nm"/>
  1905. <value ref="cd"/>
  1906. </itemset>
  1907. </choices>
  1908. <script type="javascript" ev:event="xforms-value-changed">
  1909. <![CDATA[
  1910. fSetTLrgCd2();
  1911. ]]>
  1912. </script>
  1913. </select1>
  1914. <select1 id="radio1" ref="/root/hidden/spcref/genrflag" class="radio_search" appearance="full" cellspacing="10" cols="4" overflow="visible" style="left:770px; top:10px; width:230px; height:15px; border-style:none; ">
  1915. <choices>
  1916. <item>
  1917. <label>전체</label>
  1918. <value>00</value>
  1919. </item>
  1920. <item>
  1921. <label>입원</label>
  1922. <value>1</value>
  1923. </item>
  1924. <item>
  1925. <label>외래</label>
  1926. <value>2</value>
  1927. </item>
  1928. <item>
  1929. <label>건진</label>
  1930. <value>3</value>
  1931. </item>
  1932. </choices>
  1933. </select1>
  1934. </group>
  1935. <datagrid id="grd_spcreflist" nodeset="/root/main/spclistref" caption="^등록번호^환자명^진료과^병동/병실^시행부서^접수번호^바코드번호^검사코드^검사명^검체명^결과^특수검사연번호^처방일시^검체상태^바코드출력일시^채취일시^가접수일시^접수일시^취소사유^취소자^검체상태" colsep="^" colwidth="21, 68, 95, 85, 90, 100, 130, 80, 80, 140, 80, 80, 100, 80, 60, 140, 130, 100, 120, 100, 100, 0" dataheight="25" defaultrows="0" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25px" rowsep="|" tooltip="true" style="left:5px; top:95px; width:1185px; height:598px; text-align:center; ">
  1936. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  1937. <col ref="pid" style="text-align:left; "/>
  1938. <col ref="patnm" style="text-align:center; "/>
  1939. <col ref="orddeptnm" style="text-align:left; "/>
  1940. <col ref="wardroom" style="text-align:left; "/>
  1941. <col disabled="true" ref="tsectcd" type="combo" style="text-align:left; ">
  1942. <choices>
  1943. <itemset nodeset="/root/init/LB0106">
  1944. <label ref="nm"/>
  1945. <value ref="cd"/>
  1946. </itemset>
  1947. </choices>
  1948. </col>
  1949. <col ref="workno" style="text-align:left; "/>
  1950. <col ref="bcno" type="input" style="text-align:left; "/>
  1951. <col ref="testcd" visibility="hidden" style="text-align:left; "/>
  1952. <col ref="tclsnm" visibility="hidden" style="text-align:left; "/>
  1953. <col ref="spcnm" style="text-align:left; "/>
  1954. <col ref="reptrslt" visibility="hidden"/>
  1955. <col ref="spcltestseq"/>
  1956. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:left; "/>
  1957. <col disabled="true" ref="spcstat" type="combo">
  1958. <choices>
  1959. <item>
  1960. <label>검체취소</label>
  1961. <value>0</value>
  1962. </item>
  1963. <item>
  1964. <label>바코드출력</label>
  1965. <value>1</value>
  1966. </item>
  1967. <item>
  1968. <label>채혈</label>
  1969. <value>2</value>
  1970. </item>
  1971. <item>
  1972. <label>가접수</label>
  1973. <value>3</value>
  1974. </item>
  1975. <item>
  1976. <label>접수</label>
  1977. <value>4-</value>
  1978. </item>
  1979. <item>
  1980. <label>결과저장</label>
  1981. <value>41</value>
  1982. </item>
  1983. <item>
  1984. <label>중간보고</label>
  1985. <value>42</value>
  1986. </item>
  1987. <item>
  1988. <label>검사중</label>
  1989. <value>43</value>
  1990. </item>
  1991. <item>
  1992. <label>최종보고</label>
  1993. <value>44</value>
  1994. </item>
  1995. <item>
  1996. <label>수정보고</label>
  1997. <value>45</value>
  1998. </item>
  1999. </choices>
  2000. </col>
  2001. <col ref="barcdprntdt" style="text-align:left; "/>
  2002. <col ref="bcolldt" style="text-align:left; "/>
  2003. <col ref="spcarvdt" style="text-align:left; "/>
  2004. <col ref="spcacptdt" style="text-align:left; "/>
  2005. <col ref="cnclcnts"/>
  2006. <col ref="spccnclnm"/>
  2007. <col disabled="true" ref="spcstat" type="combo" style="text-align:left; ">
  2008. <choices>
  2009. <item>
  2010. <label>검체취소</label>
  2011. <value>0</value>
  2012. </item>
  2013. <item>
  2014. <label>바코드출력</label>
  2015. <value>1</value>
  2016. </item>
  2017. <item>
  2018. <label>채혈</label>
  2019. <value>2</value>
  2020. </item>
  2021. <item>
  2022. <label>가접수</label>
  2023. <value>3</value>
  2024. </item>
  2025. <item>
  2026. <label>접수</label>
  2027. <value>4</value>
  2028. </item>
  2029. </choices>
  2030. </col>
  2031. <script type="javascript" ev:event="onaftersort">
  2032. <![CDATA[
  2033. grd_spcreflist.gridToInstance();
  2034. ]]>
  2035. </script>
  2036. </datagrid>
  2037. <group id="group_page" visibility="hidden" style="left:1040px; top:693px; width:145px; height:22px; ">
  2038. <output id="opt_first" ref="/root/send/page" style="left:45px; top:1px; width:25px; height:19px; ">
  2039. <![CDATA[>]]>
  2040. </output>
  2041. <output id="opt_last" ref="/root/main/page/lastpage" style="left:82px; top:1px; width:25px; height:19px; "/>
  2042. <caption id="cap_aaa" style="left:72px; top:2px; width:15px; height:15px; ">/</caption>
  2043. <button id="btn_pp" class="icon_pre_month" style="left:28px; top:2px; width:16px; height:16px; ">
  2044. <caption/>
  2045. <script type="javascript" ev:event="DOMActivate">
  2046. <![CDATA[
  2047. fSetPage("2");
  2048. ]]>
  2049. </script>
  2050. </button>
  2051. <button id="btn_pf" class="icon_pre_year" style="left:11px; top:2px; width:16px; height:16px; ">
  2052. <caption/>
  2053. <script type="javascript" ev:event="DOMActivate">
  2054. <![CDATA[
  2055. fSetPage("1");
  2056. ]]>
  2057. </script>
  2058. </button>
  2059. <button id="btn_np" class="icon_next_month" style="left:108px; top:2px; width:16px; height:16px; ">
  2060. <caption/>
  2061. <script type="javascript" ev:event="DOMActivate">
  2062. <![CDATA[
  2063. fSetPage("3");
  2064. ]]>
  2065. </script>
  2066. </button>
  2067. <button id="ntn_nl" class="icon_next_year" style="left:125px; top:2px; width:16px; height:16px; ">
  2068. <caption/>
  2069. <script type="javascript" ev:event="DOMActivate">
  2070. <![CDATA[
  2071. fSetPage("4");
  2072. ]]>
  2073. </script>
  2074. </button>
  2075. </group>
  2076. <button id="btn_excel" class="btn2_letter4" style="left:1126px; top:74px; width:64px; height:19px; ">
  2077. <caption>엑셀저장</caption>
  2078. <script type="javascript" ev:event="DOMActivate">
  2079. <![CDATA[
  2080. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  2081. if (fileName != ""){
  2082. grd_spcreflist.saveExcel(fileName);
  2083. }
  2084. ]]>
  2085. </script>
  2086. </button>
  2087. </case>
  2088. </switch>
  2089. <button id="btn_swacpt" class="btn_sw" group="tab" selected="true" style="left:0px; top:5px; width:70px; height:22px; ">
  2090. <caption>검체접수</caption>
  2091. <!-- 검체접수 화면 -->
  2092. <toggle case="case1" ev:event="DOMActivate"/>
  2093. <script type="javascript" ev:event="DOMActivate">
  2094. <![CDATA[
  2095. fbuttonvisible("A");
  2096. ]]>
  2097. </script>
  2098. </button>
  2099. <button id="btn_swref" class="btn_sw" group="tab" style="left:70px; top:5px; width:70px; height:22px; ">
  2100. <caption>검체조회</caption>
  2101. <toggle case="case2" ev:event="DOMActivate"/>
  2102. <script type="javascript" ev:event="DOMActivate">
  2103. <![CDATA[
  2104. fbuttonvisible("B");
  2105. ]]>
  2106. </script>
  2107. </button>
  2108. <select id="checkbox4" ref="/root/hidden/toppatinfo" overflow="visible" appearance="full" style="left:1088px; top:7px; width:105px; height:20px; border-style:none; ">
  2109. <choices>
  2110. <item>
  2111. <label>환자정보띄우기</label>
  2112. <value>1</value>
  2113. </item>
  2114. </choices>
  2115. </select>
  2116. <object id="socket" clsid="{81e9de7e-90be-4958-bbda-ac731c05aba8}" visibility="hidden" style="left:320px; top:5px; width:35px; height:30px; ">
  2117. <!-- 소켓 받은 메시지 이벤트 -->
  2118. <script type="javascript" ev:event="OnReceive(nDataLength, szID)">
  2119. <![CDATA[
  2120. ]]>
  2121. </script>
  2122. <!-- 소켓 에러 이벤트 -->
  2123. <script type="javascript" ev:event="OnError(lError, szMsg)">
  2124. <![CDATA[
  2125. alert("Error code = " + lError+"\nError Message : "+szMsg);
  2126. socket.close(); // 소켓 닫기
  2127. //isConnected = false; // 접속 여부 false
  2128. ]]>
  2129. </script>
  2130. <!-- 소켓 연결 이벤트 -->
  2131. <script type="javascript" ev:event="OnConnect(szID)">
  2132. <![CDATA[
  2133. fExeSlidIssA();
  2134. ]]>
  2135. </script>
  2136. <!-- 소켓 close 이벤트
  2137. <script ev:event="OnClose(szID)" type="javascript">
  2138. <![CDATA[
  2139. isConnected = false; // 접속 여부 false
  2140. ]]>
  2141. </script>
  2142. -->
  2143. </object>
  2144. <object id="socket2" clsid="{81e9de7e-90be-4958-bbda-ac731c05aba8}" visibility="hidden" style="left:355px; top:5px; width:35px; height:30px; ">
  2145. <!-- 소켓 받은 메시지 이벤트 -->
  2146. <script type="javascript" ev:event="OnReceive(nDataLength, szID)">
  2147. <![CDATA[
  2148. ]]>
  2149. </script>
  2150. <!-- 소켓 에러 이벤트 -->
  2151. <script type="javascript" ev:event="OnError(lError, szMsg)">
  2152. <![CDATA[
  2153. alert("Error code = " + lError+"\nError Message : "+szMsg);
  2154. socket.close(); // 소켓 닫기
  2155. //isConnected = false; // 접속 여부 false
  2156. ]]>
  2157. </script>
  2158. <!-- 소켓 연결 이벤트 -->
  2159. <script type="javascript" ev:event="OnConnect(szID)">
  2160. <![CDATA[
  2161. fExeSlidIssB();
  2162. ]]>
  2163. </script>
  2164. <!-- 소켓 close 이벤트
  2165. <script ev:event="OnClose(szID)" type="javascript">
  2166. <![CDATA[
  2167. isConnected = false; // 접속 여부 false
  2168. ]]>
  2169. </script>
  2170. -->
  2171. </object>
  2172. <select id="checkbox5" ref="/root/hidden/microorder" overflow="visible" appearance="full" style="left:990px; top:7px; width:95px; height:20px; border-style:none; ">
  2173. <choices>
  2174. <item>
  2175. <label>미생물처방전</label>
  2176. <value>1</value>
  2177. </item>
  2178. </choices>
  2179. </select>
  2180. <select id="checkbox7" ref="/root/hidden/remicroorder" overflow="visible" appearance="full" style="left:955px; top:7px; width:35px; height:20px; border-style:none; ">
  2181. <choices>
  2182. <item>
  2183. <label>재</label>
  2184. <value>1</value>
  2185. </item>
  2186. </choices>
  2187. </select>
  2188. </group>
  2189. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1194px; height:27px; ">
  2190. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  2191. <group id="group7" style="left:827px; top:0px; width:367px; height:25px; ">
  2192. <button id="btn_init" class="btn4_letter3" style="left:298px; top:3px; width:68px; height:22px; ">
  2193. <caption>초기화</caption>
  2194. <script type="javascript" ev:event="DOMActivate">
  2195. <![CDATA[
  2196. model.removeNodeset("/root/main/spclistref");
  2197. grd_spcreflist.rebuild();
  2198. ]]>
  2199. </script>
  2200. </button>
  2201. <button id="btn_acptcancel" class="btn4_letter4" navindex="14" style="left:3px; top:3px; width:80px; height:22px; ">
  2202. <caption>접수취소</caption>
  2203. <script type="javascript" ev:event="DOMActivate">
  2204. <![CDATA[
  2205. //채혈접수취소등록
  2206. fSetAcptCncl();
  2207. ]]>
  2208. </script>
  2209. </button>
  2210. <button id="btn_spclist" class="btn4_letter6" navindex="15" style="left:85px; top:3px; width:104px; height:22px; ">
  2211. <caption>검체목록출력</caption>
  2212. <script type="javascript" ev:event="DOMActivate">
  2213. <![CDATA[
  2214. fExePrint();
  2215. ]]>
  2216. </script>
  2217. </button>
  2218. <button id="btn_rebarcd" class="btn4_letter6" navindex="16" style="left:192px; top:3px; width:104px; height:22px; ">
  2219. <caption>바코드재출력</caption>
  2220. <script type="javascript" ev:event="DOMActivate">
  2221. <![CDATA[
  2222. fExeBarcdRePrnt();
  2223. ]]>
  2224. </script>
  2225. </button>
  2226. </group>
  2227. <group id="group6" style="left:1039px; top:0px; width:155px; height:25px; ">
  2228. <button id="btn_batacpt" class="btn4_letter4" navindex="6" visibility="hidden" style="left:3px; top:3px; width:80px; height:22px; ">
  2229. <caption>일괄접수</caption>
  2230. <script type="javascript" ev:event="DOMActivate">
  2231. <![CDATA[
  2232. fSetBatAcpt();
  2233. ]]>
  2234. </script>
  2235. </button>
  2236. <button id="btn_reset" class="btn4_letter3" navindex="5" style="left:86px; top:3px; width:68px; height:22px; ">
  2237. <caption>초기화</caption>
  2238. <script type="javascript" ev:event="DOMActivate">
  2239. <![CDATA[
  2240. fSetInit();
  2241. ]]>
  2242. </script>
  2243. </button>
  2244. </group>
  2245. <button id="btn_prnt" class="btn3_letter5" navindex="18" style="left:0px; top:3px; width:92px; height:22px; ">
  2246. <caption>프린터설정</caption>
  2247. <script type="javascript" ev:event="DOMActivate">
  2248. <![CDATA[
  2249. fSetPrint();
  2250. ]]>
  2251. </script>
  2252. </button>
  2253. <button id="btn_badspc" class="btn3_letter7" navindex="17" style="left:93px; top:3px; width:116px; height:22px; ">
  2254. <caption>부적합검체등록</caption>
  2255. <script type="javascript" ev:event="DOMActivate">
  2256. <![CDATA[
  2257. fSetBadSpc();
  2258. ]]>
  2259. </script>
  2260. </button>
  2261. <button id="btn_aprv" class="btn3_letter6" style="left:210px; top:3px; width:104px; height:22px; background-image:../../../com/commonweb/images/btn3_letter4.gif; ">
  2262. <caption>유전자동의서</caption>
  2263. <script type="javascript" ev:event="DOMActivate">
  2264. <![CDATA[
  2265. //model.makeValue("/root/init/popup/ioflag", "I");
  2266. //open("SPLLJ90400","","","","","/root/init/popup/ioflag","/root/send/ioflag");
  2267. //model.removenode("/root/init/ioflag");
  2268. open("SPLLJ90400");
  2269. ]]>
  2270. </script>
  2271. </button>
  2272. </group>
  2273. </xhtml:body>
  2274. </xhtml:html>