SMLLJ00110_연구용검체관리.xrw 101 KB

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