SMLPJ00200_전달검체수신확인.xrw 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLP00200.xfm
  4. * 설 명 : 검체전달
  5. * 설 계 자 : 설계자가 별도로 존재시 작성
  6. * 작 성 자 : 유동철(ACK)
  7. * 작 성 일 : 2006.12.01
  8. * 수정이력 : 최종작성일 기준으로 변경사항 이력관리
  9. * 기 타 : 주석문에 반영되어야 할 사항 표기
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>전달검체 수신확인</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <prcpcnfm>
  20. <prcpcnfmlist>
  21. <choi/>
  22. <instcd/>
  23. <spcbarcdno/>
  24. <spccnt/>
  25. <reqfrmno/>
  26. <pid/>
  27. <patnm/>
  28. <orddeptcd/>
  29. <orddeptnm/>
  30. <oproomnm/>
  31. <orddrid/>
  32. <orddrnm/>
  33. <prcprgstdt/>
  34. <testcd/>
  35. <testnm/>
  36. <rcptflag/>
  37. <delivedt/>
  38. <delivenm/>
  39. <cnfmdt/>
  40. <cnfmnm/>
  41. <trandd/>
  42. <tranno/>
  43. <transeqno/>
  44. <spctrandd/>
  45. <spctranno/>
  46. <spctranseqno/>
  47. <preststatcd/>
  48. <orgprcpstatcd/>
  49. <prcpgenrflag/>
  50. <prcpdd/>
  51. <prcpno/>
  52. <execprcpuniqno/>
  53. <tretflag/>
  54. <resncdkind/>
  55. <resncd/>
  56. <spcstatcd/>
  57. <workflagcd/>
  58. <acptdt/>
  59. <cnfmid/>
  60. <reqfrmflagcd/>
  61. <testhngnm/>
  62. <formrecseq/>
  63. <ptno/>
  64. <disp1/>
  65. <disp2/>
  66. <disp3/>
  67. <disp1img/>
  68. <disp2img/>
  69. <disp3img/>
  70. </prcpcnfmlist>
  71. </prcpcnfm>
  72. <prcplist>
  73. <prcpcnfmlist>
  74. <choi/>
  75. <instcd/>
  76. <spcbarcdno/>
  77. <spccnt/>
  78. <reqfrmno/>
  79. <pid/>
  80. <patnm/>
  81. <orddeptcd/>
  82. <orddeptnm/>
  83. <oproomnm/>
  84. <orddrid/>
  85. <orddrnm/>
  86. <prcprgstdt/>
  87. <testcd/>
  88. <testnm/>
  89. <rcptflag/>
  90. <delivedt/>
  91. <delivenm/>
  92. <cnfmdt/>
  93. <cnfmnm/>
  94. <trandd/>
  95. <tranno/>
  96. <transeqno/>
  97. <spctrandd/>
  98. <spctranno/>
  99. <spctranseqno/>
  100. <preststatcd/>
  101. <orgprcpstatcd/>
  102. <prcpgenrflag/>
  103. <prcpdd/>
  104. <prcpno/>
  105. <execprcpuniqno/>
  106. <tretflag/>
  107. <resncdkind/>
  108. <resncd/>
  109. </prcpcnfmlist>
  110. </prcplist>
  111. <barcdprntsetup>
  112. <prntsetupinfo>
  113. <setupinfo/>
  114. </prntsetupinfo>
  115. </barcdprntsetup>
  116. <barcdinfo>
  117. <barcdlist>
  118. <instcd/>
  119. <pid/>
  120. </barcdlist>
  121. </barcdinfo>
  122. <spcbarcd>
  123. <barcdlist>
  124. <instcd/>
  125. </barcdlist>
  126. </spcbarcd>
  127. <spcbarcdstat>
  128. <spcbarcdstatinfo>
  129. <instcd/>
  130. </spcbarcdstatinfo>
  131. </spcbarcdstat>
  132. </main>
  133. <send>
  134. <data1/>
  135. <data2/>
  136. </send>
  137. <init>
  138. <ddfrom/>
  139. <ddto/>
  140. <trsmdeptcd/>
  141. <testdeptcd/>
  142. <seaflagcd>0</seaflagcd>
  143. <barcdno/>
  144. <ddflagcd>0</ddflagcd>
  145. <hospenv>
  146. <hospenvinfo>
  147. <instcd/>
  148. <lendrtnterm/>
  149. <recvqualmthdcd/>
  150. <reptautoprntflagcd/>
  151. </hospenvinfo>
  152. </hospenv>
  153. <sysdt>
  154. <sysdtinfo>
  155. <sysdd/>
  156. <systm/>
  157. </sysdtinfo>
  158. </sysdt>
  159. <deptlist>
  160. <dept>
  161. <deptcd/>
  162. <deptnm/>
  163. </dept>
  164. </deptlist>
  165. <resncd>
  166. <resncdlist>
  167. <instcd/>
  168. <flagcd/>
  169. <resncd/>
  170. <resncnts/>
  171. </resncdlist>
  172. </resncd>
  173. <testdeptlist>
  174. <dept>
  175. <deptcd/>
  176. <deptnm/>
  177. </dept>
  178. </testdeptlist>
  179. <pidno/>
  180. </init>
  181. <hidden>
  182. <resncd/>
  183. <interval>10</interval>
  184. </hidden>
  185. <temp>
  186. <loginid/>
  187. </temp>
  188. </root>
  189. </instance>
  190. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/hospenv/hospenvinfo"/>
  191. <submission id="TRLPZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/sysdt/sysdtinfo"/>
  192. <submission id="TRLPZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/resncd/resncdlist"/>
  193. <submission id="TRLPJ00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/prcpcnfm/prcpcnfmlist"/>
  194. <submission id="TRLPJ00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spcbarcd/barcdlist"/>
  195. <submission id="TRLPJ00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/spcbarcdstat/spcbarcdstatinfo"/>
  196. <submission id="TXLPJ00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdinfo/barcdlist"/>
  197. <submission id="TRLLC90101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdprntsetup"/>
  198. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  199. <script type="javascript" ev:event="xforms-ready">
  200. <![CDATA[
  201. fExeInitialize();
  202. lzzfMakeBrcdPrntObjHanDo("CommAX");
  203. ]]>
  204. </script>
  205. </model>
  206. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  207. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  208. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  209. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  210. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  211. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  212. <script type="javascript">
  213. <![CDATA[
  214. //-------------------------
  215. // 그리드상의 컬럼 위치 설정
  216. var COL_SPCINFO = 11;
  217. var interval_id;
  218. var sAutoSearYN = "N";
  219. var iAcptPrcpCnt = Array(); // 수신확인한 검체 갯수
  220. var sBarCode = "";
  221. var iCnt = 0;
  222. /* @group : 전달검체수신확인
  223. * @ver : 2007.02.12 (CMCDEV-0001)
  224. * @by : 유동철(ACK)
  225. * @-----------------------------------
  226. * @type : function
  227. * @access : public
  228. * @desc : 초기화 Function
  229. */
  230. function fExeInitialize() {
  231. //타부서에서는 버튼 비활성화
  232. btn_save.disabled = !checkAuth("X");
  233. btn_cnfm.disabled = !checkAuth("X");
  234. //-----------------------
  235. // 사용자의 비밀번호 확인
  236. if(checkAuth("X")) {
  237. lpzfExeUserPwdCnfm();
  238. }
  239. var iMaxRowCnt = 0;
  240. var instcd = getUserInfo("dutplceinstcd");
  241. var standard_yn = "orduseyn";
  242. var ord_deptflag = "D";
  243. var rslt_ref = "/root/init/deptlist";
  244. var sort_field = "dispseq";
  245. var sort_method = "asc";
  246. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_field, sort_method);
  247. //--------------
  248. // 시행부서 검색
  249. ord_deptflag = "E";
  250. rslt_ref = "/root/init/testdeptlist";
  251. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_field, sort_method);
  252. //-------------------------------------------------------
  253. iMaxRowCnt = getNodesetCount("/root/init/testdeptlist/dept");
  254. model.removeNodeset("/root/init/testdeptlist/dept[deptcd='']");
  255. for (var iNo=1; iNo <= getNodesetCount("/root/init/testdeptlist/dept"); iNo++) {
  256. model.makeValue("/root/init/testdeptlist/dept["+iNo+"]/deptflagcd", "E");
  257. }
  258. //---------------------------------------------------------
  259. model.removeNodeset("/root/init/deptlist/dept[deptcd='']");
  260. for (var iNo=1; iNo <= getNodesetCount("/root/init/deptlist/dept"); iNo++) {
  261. model.makeValue("/root/init/deptlist/dept["+iNo+"]/deptflagcd", "-");
  262. }
  263. //--------------------------------------------------------------------------------------
  264. copyNodesetType("/root/init/deptlist/dept", "/root/init/testdeptlist/dept[*]", "after");
  265. //-------------------------------------------------------
  266. iMaxRowCnt = getNodesetCount("/root/init/deptlist/dept");
  267. model.makeValue("/root/init/deptlist/dept["+(Number(iMaxRowCnt)+1)+"]/deptcd", "ZZZZZ");
  268. model.makeValue("/root/init/deptlist/dept["+(Number(iMaxRowCnt)+1)+"]/depthngnm", "전 체");
  269. //-----------------------
  270. cmb_trsmdeptcd.refresh();
  271. //---------------------
  272. // Instance Node 초기화
  273. model.removeNodeset("/root/main/prcpcnfm/prcpcnfmlist");
  274. //------------------------------------------
  275. model.setValue("/root/init/barcdno", ""); // 바코드번호 초기화
  276. model.setValue("/root/init/trsmdeptcd", ""); // 발송과 초기화
  277. model.setValue("/root/init/trsmdeptcd", ""); // 발송과 초기화
  278. model.setValue("/root/init/ddflagcd", "0"); // 일자구분코드(0:발송일자, 1:수신일자)
  279. model.setValue("/root/init/seaflagcd", "0"); // 검색방법(0:미확인, 1:확인, 2:전체)
  280. //----------------------------------------------------------------------------------
  281. model.makeValue("/root/init/ddfrom", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  282. model.makeValue("/root/init/ddto", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  283. model.makeValue("/root/init/trsmdeptcd", "ZZZZZ");
  284. //---------------------
  285. // 병원환경설정 정보조회
  286. fGetHospEnvSetInfo();
  287. //--------------------------------------------------
  288. model.makeValue("/root/send/scrnid", getScreenID());
  289. submit("TRLLC90101", false);
  290. //---------------------------------
  291. // 수신확인방법(0:선조회, 1:후조회)
  292. if (model.getValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd") == "0") {
  293. fGetPrcpCnfmList("1");
  294. }
  295. //--------------
  296. model.refresh();
  297. }
  298. /* @group : 전달검체수신확인
  299. * @ver : 2007.02.12 (CMCDEV-0001)
  300. * @by : 유동철(ACK)
  301. * @-----------------------------------
  302. * @type : function
  303. * @access : public
  304. * @desc : 병원환경설정 정보조회 처리 Function
  305. */
  306. function fGetHospEnvSetInfo() {
  307. model.removeNodeset("/root/send");
  308. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  309. submit("TRLPZ00101");
  310. //--------------------
  311. submit("TRLPZ00102"); // 시스템 현재일시를 조회
  312. fExeSysDtSet(); // 시스템일자를 설정
  313. //----------------------------------------------
  314. model.makeValue("/root/send/baseflagcd", "'20'");
  315. submit("TRLPZ00103");
  316. //-------------
  317. model.refresh();
  318. }
  319. /* @group : 전달검체수신확인
  320. * @ver : 2007.02.12 (CMCDEV-0001)
  321. * @by : 유동철(ACK)
  322. * @-----------------------------------
  323. * @type : function
  324. * @access : public
  325. * @desc : 시스템일시 설정 처리 Function
  326. */
  327. function fExeSysDtSet() {
  328. var sTDay = model.getValue("/root/init/sysdt/sysdtinfo/sysdd");
  329. model.setValue("/root/init/ddfrom", sTDay.toDate().getAddDate(-3,"D").getDateFormat("YYYYMMDD"));
  330. model.setValue("/root/init/ddto", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  331. }
  332. /* @group : 전달검체수신확인
  333. * @ver : 2007.02.12 (CMCDEV-0001)
  334. * @by : 유동철(ACK)
  335. * @-----------------------------------
  336. * @type : function
  337. * @access : public
  338. * @desc : 의뢰지 검체정보 조회 처리 Function
  339. */
  340. function fExePopupOpenSpeciman()
  341. {
  342. //-----------------------------------
  343. // 체크되었을 경우만 팝업창을 표시한다.
  344. if (model.getValue("/root/main/ordinfo/ordinfolist/spcinfo") == "true")
  345. {
  346. modal("SPLPJ00100", "", "", "", "", "");
  347. // lpzfExeComnOpenScrn2("SPLPJ00100_의뢰지검체정보.xrw", "/root/main/docuno/docunoinfo", "modeless", "460", "606");
  348. }
  349. else
  350. {
  351. /* 2008.12.24 ms2003 change...
  352. var infinfo = window.children("SPLPJ00100_의뢰지검체정보.xrw");
  353. if (infinfo == null) return false;
  354. else infinfo.close();
  355. */
  356. var sPath = "/root/main/prcpcnfm/prcpcnfmlist";
  357. if(model.getValue(sPath + "[" + grd_prcplist.mouseRow + "]/pid") != "")
  358. {
  359. model.makeValue(sPath + "[" + grd_prcplist.row + "]/testhngnm",
  360. model.getValue(sPath + "[" + grd_prcplist.row + "]/testnm"));
  361. model.makeValue(sPath + "[" + grd_prcplist.row + "]/reprspccd",
  362. model.getValue(sPath + "[" + grd_prcplist.row + "]/mmospccd"));
  363. lpzfExeReqFrmInfo(sPath, grd_prcplist, grd_prcplist.row);
  364. }
  365. }
  366. }
  367. /* @group : 전달검체수신확인
  368. * @ver : 2007.02.12 (CMCDEV-0001)
  369. * @by : 유동철(ACK)
  370. * @-----------------------------------
  371. * @type : function
  372. * @access : public
  373. * @desc : "처방리스트" 그리트 클릭 처리 Function
  374. */
  375. function fExeOrdListClick()
  376. {
  377. switch (grd_prcplist.col) {
  378. case COL_SPCINFO : fExePopupOpenSpeciman();
  379. break;
  380. }
  381. }
  382. /* @group : 전달검체수신확인
  383. * @ver : 2007.05.07 (CMCDEV-0001)
  384. * @by : 유동철(ACK)
  385. * @-----------------------------------
  386. * @type : function
  387. * @access : public
  388. * @desc : 전달검체 및 수신확인 검체 조회 처리 Function
  389. */
  390. function fGetPrcpCnfmList(param)
  391. {
  392. var bState = false;
  393. var iMaxRowCnt = 0;
  394. var sDeptFlagCd = "";
  395. var sNode = "/root/main/prcpcnfm/prcpcnfmlist";
  396. var sOrgNode = "/root/main/prcplist/prcpcnfmlist";
  397. var sMthdNode = "/root/init/hospenv/hospenvinfo/recvqualmthdcd";
  398. // 입력된 바코드번호의 존재여부를 검색
  399. if (!fExeBarCdNoSea(ipt_barcdno.currentText, getNodesetCount(sNode)))
  400. {
  401. return false;
  402. }
  403. // 선 조회일 경우 처리(0:선조회, 1:후조회)
  404. if (model.getValue(sMthdNode) == "0")
  405. {
  406. //-------------------------------------
  407. // 바코드번호 입력 후 검색 할 경우 처리
  408. if (param == "0")
  409. {
  410. model.removeNodeset("/root/send");
  411. model.removeNodeset("/root/main/spcbarcdstat/spcbarcdstatinfo");
  412. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  413. model.makeValue("/root/send/spcbarcdno", ipt_barcdno.currentText);
  414. if (submit("TRLPJ00203"))
  415. {
  416. // 검색방법:미확인
  417. if (model.getValue("/root/init/seaflagcd") == "0")
  418. {
  419. if (model.getValue("/root/main/spcbarcdstat/spcbarcdstatinfo/spcstatcd") != "0")
  420. {
  421. messageBox(model.getValue("/root/main/spcbarcdstat/spcbarcdstatinfo/spcstatnm"), "I007");
  422. return false;
  423. }
  424. }
  425. else if (model.getValue("/root/init/seaflagcd") == "1")
  426. {
  427. if (model.getValue("/root/main/spcbarcdstat/spcbarcdstatinfo/spcstatcd") != "2"
  428. && model.getValue("/root/main/spcbarcdstat/spcbarcdstatinfo/spcstatcd") != "5")
  429. {
  430. messageBox(model.getValue("/root/main/spcbarcdstat/spcbarcdstatinfo/spcstatnm"), "I007");
  431. return false;
  432. }
  433. }
  434. }
  435. else
  436. {
  437. messageBox("바코드 정보를 조회할 수 없습니다!", "I007");
  438. return false;
  439. }
  440. }
  441. else
  442. {
  443. model.removeNodeset(sNode);
  444. TRLPJ00201.attribute("add") = "";
  445. bState = true;
  446. grd_prcplist.rebuild();
  447. }
  448. }
  449. else
  450. {
  451. bState = true;
  452. //-------------------------------------
  453. // 바코드번호 입력 후 검색 할 경우 처리
  454. if (param == "0")
  455. {
  456. TRLPJ00201.attribute("add") = "bottom";
  457. }
  458. else
  459. {
  460. TRLPJ00201.attribute("add") = "";
  461. grd_prcplist.rebuild();
  462. }
  463. }
  464. //------------
  465. if (bState)
  466. {
  467. //---------------------------------
  468. model.removeNodeset("/root/send");
  469. sDeptFlagCd = model.getValue("/root/init/deptlist/dept[deptcd='"+model.getValue("/root/init/trsmdeptcd")+"']/deptflagcd");
  470. //----------------------------------------------------------------------
  471. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  472. model.makeValue("/root/send/fromdd", model.getValue("/root/init/ddfrom")); // 검색시작일자
  473. model.makeValue("/root/send/todd", model.getValue("/root/init/ddto")); // 검색종료일자
  474. model.makeValue("/root/send/barcdno", model.getValue("/root/init/barcdno")); // 바코드번호
  475. model.makeValue("/root/send/delivedeptcd", model.getValue("/root/init/trsmdeptcd")); // 발송과코드
  476. model.makeValue("/root/send/ddflagcd", model.getValue("/root/init/ddflagcd")); // 일자구분코드(0:발송일자,1:수신일자)
  477. model.makeValue("/root/send/refflagcd", model.getValue("/root/init/seaflagcd")); // 검색구분코드(0:미확인,1:확인,2:전체)
  478. model.makeValue("/root/send/trsmdeptcd", model.getValue("/root/init/trsmdeptcd")); // 발송과
  479. model.makeValue("/root/send/deptflagcd", sDeptFlagCd); // 발송과 구분(E:시행부서)
  480. model.makeValue("/root/send/pidno", model.getValue("/root/init/pidno")); // 등록번호
  481. //------------------------
  482. if (submit("TRLPJ00201"))
  483. {
  484. // 후 조회, 바코드입력시에만 처리
  485. if (model.getValue(sMthdNode) != "0" && param == "0")
  486. {
  487. //---------------------------------------------------------------
  488. iMaxRowCnt = getNodesetCount("/root/main/prcpcnfm/prcpcnfmlist");
  489. if (iMaxRowCnt > 25)
  490. {
  491. grd_prcplist.topRow = Number(iMaxRowCnt) - 25;
  492. }
  493. // 바코드로 조회한 경우 해당되는 바코드의 색을 변경
  494. grd_prcplist.rowstyle(grd_prcplist.rows-1, "data", "background-color") = "#99ffcc";
  495. }
  496. else if (model.getValue(sMthdNode) == "0") // 선조회일 경우 자동선택을 비활성화 한다.
  497. {
  498. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++)
  499. {
  500. model.setValue(sNode+"["+iNo+"]/choi", "false");
  501. }
  502. }
  503. /*
  504. //--------------------------------------------
  505. // 검체수신확인일 경우 접수자료의 Row색을 변경
  506. if (model.getValue("/root/init/seaflagcd") == "1") {
  507. //--------------------------
  508. grd_prcplist.rebuildStyle();
  509. grd_prcplist.rebuild();
  510. var iTotRow = Number(getNodesetCount(sNode));
  511. //--------------------------------------
  512. for (var iNo=1; iNo <= iTotRow; iNo++) {
  513. //----------------------------------------------------
  514. if (model.getValue(sNode+"["+iNo+"]/acptdt") == "-" ||
  515. model.getValue(sNode+"["+iNo+"]/acptdt") == "") {
  516. grd_prcplist.rowstyle(iNo, "data", "background-color") = "red";
  517. }
  518. }
  519. }
  520. */
  521. }
  522. //감염정보표시
  523. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  524. if(model.getValue(sNode+"["+ iNo +"]/disp1") == "Y") {
  525. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp1img")) = "../../../com/hismainweb/images/injector_en.gif"
  526. } else {
  527. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp1img")) = "../../../com/hismainweb/images/icnRSTFLAG_N.gif"
  528. }
  529. if(model.getValue(sNode+"["+ iNo +"]/disp2") == "Y") {
  530. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp2img")) = "../../../com/hismainweb/images/touch_en.gif"
  531. } else {
  532. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp2img")) = "../../../com/hismainweb/images/icnRSTFLAG_N.gif"
  533. }
  534. if(model.getValue(sNode+"["+ iNo +"]/disp3") == "Y") {
  535. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp3img")) = "../../../com/hismainweb/images/air_en.gif"
  536. } else {
  537. grd_prcplist.cellstyle("background-image", iNo, grd_prcplist.colRef("disp3img")) = "../../../com/hismainweb/images/icnRSTFLAG_N.gif"
  538. }
  539. }
  540. }
  541. model.setFocus("ipt_barcdno");
  542. /* ******************************************************************************************
  543. //--------------------------------------------------
  544. // 조회버튼을 클릭한 경우 처방목록 Instance를 초기화
  545. if (param == "1") {
  546. model.removeNodeset(sNode);
  547. }
  548. var iRowNo = getNodesetCount(sNode);
  549. //------------------------
  550. if (Number(iRowNo) <= 0) {
  551. model.makeNode(sNode);
  552. }
  553. //-----------------------------------------------------------
  554. //grd_prcplist.rebuildStyle(1, 1, iRowNo, grd_prcplist.cols-1);
  555. //grd_prcplist.refresh();
  556. //grd_prcplist.allstyle( "data", "background-color" ) = "#ffffff";
  557. //---------------------------------------------
  558. // 입력된 바코드번호가 그리드에 존재하는지 검사
  559. if (!fExeBarCdNoSea(ipt_barcdno.currentText, iRowNo)) {
  560. // Continue
  561. } else {
  562. //---------------------------------
  563. model.removeNodeset("/root/send");
  564. sDeptFlagCd = model.getValue("/root/init/deptlist/dept[deptcd='"+model.getValue("/root/init/trsmdeptcd")+"']/deptflagcd");
  565. //----------------------------------------------------------------------
  566. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  567. model.makeValue("/root/send/fromdd", model.getValue("/root/init/ddfrom")); // 검색시작일자
  568. model.makeValue("/root/send/todd", model.getValue("/root/init/ddto")); // 검색종료일자
  569. model.makeValue("/root/send/barcdno", model.getValue("/root/init/barcdno")); // 바코드번호
  570. model.makeValue("/root/send/delivedeptcd", model.getValue("/root/init/trsmdeptcd")); // 발송과코드
  571. model.makeValue("/root/send/ddflagcd", model.getValue("/root/init/ddflagcd")); // 일자구분코드(0:발송일자,1:수신일자)
  572. model.makeValue("/root/send/refflagcd", model.getValue("/root/init/seaflagcd")); // 검색구분코드(0:미확인,1:확인,2:전체)
  573. model.makeValue("/root/send/trsmdeptcd", model.getValue("/root/init/trsmdeptcd")); // 발송과
  574. model.makeValue("/root/send/deptflagcd", sDeptFlagCd); // 발송과 구분(E:시행부서)
  575. //------------------------
  576. if (submit("TRLPJ00201")) {
  577. //----------------------------------------
  578. // 선조회일 경우 자동선택을 비활성화 한다.
  579. if (model.getValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd") == "0") {
  580. for (var iNo=1; iNo <= getNodesetCount(sOrgNode); iNo++) {
  581. model.setValue(sOrgNode+"["+iNo+"]/choi", "false");
  582. }
  583. }
  584. //--------------------------------------------------------------------------------------------------
  585. copyNodesetType("/root/main/prcpcnfm/prcpcnfmlist", "/root/main/prcplist/prcpcnfmlist[*]", "after");
  586. //------------------------
  587. if (Number(iRowNo) <= 0) {
  588. model.removeNodeset("/root/main/prcpcnfm/prcpcnfmlist[1]");
  589. }
  590. //---------------------------------------------------------------
  591. iMaxRowCnt = getNodesetCount("/root/main/prcpcnfm/prcpcnfmlist");
  592. if (iMaxRowCnt > 25) {
  593. grd_prcplist.topRow = Number(iMaxRowCnt) - 25;
  594. }
  595. //--------------------
  596. // 후 조회일 경우 처리
  597. if (model.getValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd") != "0") {
  598. grd_prcplist.refresh();
  599. //------------------------------------------------
  600. //for (var iNo=iRowNo+1; iNo <= iMaxRowCnt; iNo++) {
  601. grd_prcplist.rowstyle(Number(iRowNo)+1, "data", "background-color") = "#99ffcc";
  602. //}
  603. }
  604. }
  605. }
  606. //---------------------
  607. grd_prcplist.refresh();
  608. ************************************************************************************* */
  609. //자동조회.
  610. //fExeAutoAcptFlagSet(param);
  611. }
  612. /* @group : 전달검체수신확인
  613. * @ver : 2007.05.07 (CMCDEV-0001)
  614. * @by : 유동철(ACK)
  615. * @-----------------------------------
  616. * @type : function
  617. * @access : public
  618. * @desc : 바코드번호 입력란에서 Enter Key입력 시 처리 Function
  619. */
  620. function fGetBarCdInfo()
  621. {
  622. if(event.keyCode == 13)
  623. {
  624. model.setValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd", "0");
  625. fSelectBarcdInfo("1");
  626. }
  627. }
  628. function fSelectBarcdInfo(sCheck)
  629. {
  630. var strNode = "/root/main/prcpcnfm/prcpcnfmlist";
  631. sBarCode = ipt_barcdno.currentText;
  632. if((event.target == "ipt_barcdno") || (event.target == "ipt_pidno") )
  633. {
  634. if(sCheck == "1")
  635. {
  636. model.setvalue("/root/init/pidno", "-");
  637. model.setvalue("/root/init/barcdno", ipt_barcdno.currentText.toUpperCase());
  638. ipt_barcdno.refresh();
  639. }
  640. else if(sCheck == "2")
  641. {
  642. model.setvalue("/root/init/barcdno", "-");
  643. model.setvalue("/root/init/pidno", ipt_pidno.currentText);
  644. ipt_pidno.refresh();
  645. }
  646. // 바코드 길이 검사(11자리가 아닐경우 바코드 오류)
  647. if ((sCheck == "1") && (ipt_barcdno.currentText.length != 11))
  648. {
  649. messageBox("바코드번호 오류", "E008");
  650. return false;
  651. }
  652. fGetPrcpCnfmList("0");
  653. if(sCheck == "1")
  654. {
  655. model.makeValue("/root/init/barcdno", "");
  656. ipt_barcdno.selBegin = 0;
  657. ipt_barcdno.selEnd = ipt_barcdno.currentText.length;
  658. model.setFocus("ipt_barcdno");
  659. }
  660. else if(sCheck == "2")
  661. {
  662. model.makeValue("/root/init/pidno", "");
  663. ipt_barcdno.selBegin = 0;
  664. ipt_barcdno.selEnd = ipt_pidno.currentText.length;
  665. model.setFocus("ipt_pidno");
  666. }
  667. model.refresh();
  668. }
  669. }
  670. /* @group : 전달검체수신확인
  671. * @ver : 2007.05.07 (CMCDEV-0001)
  672. * @by : 유동철(ACK)
  673. * @-----------------------------------
  674. * @type : function
  675. * @access : public
  676. * @desc : 바코드번호 검색 처리 Function
  677. */
  678. function fExeBarCdNoSea(sBarCdNo, pMaxRow) {
  679. var strNode = "/root/main/prcpcnfm/prcpcnfmlist";
  680. var iFindRowNo = -1;
  681. var iRowNo = 1;
  682. //------------------------------
  683. if (sBarCdNo == "") return true;
  684. do {
  685. //-----------------------------------------------------------------
  686. iFindRowNo = grd_prcplist.findRow(sBarCdNo, iRowNo, grd_prcplist.colRef("spcbarcdno"), true, true);
  687. iRowNo = Number(iFindRowNo) + 1;
  688. //---------------------------
  689. if (Number(iFindRowNo) > 0) {
  690. if (model.getValue(strNode + "[" + iFindRowNo + "]/choi") == "false") {
  691. model.setValue(strNode + "[" + iFindRowNo + "]/choi", "true");
  692. grd_prcplist.rowstyle(iFindRowNo, "data", "background-color") = "#99ffcc";
  693. if ((Number(pMaxRow) - 25) > 0) {
  694. if (iFindRowNo < (Number(pMaxRow) - 25)) {
  695. grd_prcplist.topRow = iFindRowNo;
  696. } else {
  697. grd_prcplist.topRow = Number(pMaxRow) - 25;
  698. }
  699. }
  700. // return false;
  701. } else {
  702. messageBox("검색된 바코드번호", "E008");
  703. return false;
  704. }
  705. } else {
  706. return true;
  707. }
  708. } while (iRowNo != -1);
  709. }
  710. /* @group : 전달검체수신확인
  711. * @ver : 2007.05.07 (CMCDEV-0001)
  712. * @by : 유동철(ACK)
  713. * @-----------------------------------
  714. * @type : function
  715. * @access : public
  716. * @desc : 전달검체 수신확인 Function
  717. */
  718. function fExePrcpCnfm(param)
  719. {
  720. var strNode = "/root/main/prcpcnfm/prcpcnfmlist";
  721. var iRowNo = grd_prcplist.findRow("true", 1, 0, true, true);
  722. var iNo = 0;
  723. if (iRowNo <= 0) {
  724. messageBox("처방을 선택하여 주십시오! 확인을", "E001");
  725. return false;
  726. }
  727. // 확인취소일 경우 취소사유 입력여부를 검사
  728. if (param == "1") {
  729. if (!isRequiredControls("cbo_cnclresn")) return false;
  730. }
  731. // 선택여부에 따라 접수검체가 존재하는지 검사
  732. for (iRowNo=1; iRowNo <= getNodesetCount(strNode); iRowNo++)
  733. {
  734. if (model.getValue(strNode + "[" + iRowNo + "]/choi") == "true")
  735. {
  736. if (model.getValue(strNode + "[" + iRowNo + "]/preststatcd") == "5" &&
  737. model.getValue(strNode + "[" + iRowNo + "]/spcstatcd") == "5")
  738. {
  739. //--------------------------------------------------------------------------------
  740. if (param == "1" && model.getValue(strNode+"["+iRowNo+"]/workflagcd") == "1002")
  741. {
  742. // Continue
  743. } else
  744. {
  745. messageBox("접수된 처방은 확인 및 확인취소를 ", "E001");
  746. return false;
  747. }
  748. }
  749. }
  750. }
  751. //--------------------
  752. // 그리드 상태 초기화
  753. grd_prcplist.clearStatus();
  754. //-------------------------------------
  755. // 선택여부에 따라 그리드 변경상태를 설정
  756. for (iRowNo=1; iRowNo <= getNodesetCount(strNode); iRowNo++)
  757. {
  758. if (model.getValue(strNode + "[" + iRowNo + "]/choi") == "true")
  759. {
  760. //검체접수자를 화면 오픈시 확인한 사람으로 등록.
  761. model.setValue(strNode + "[" + iRowNo + "]/cnfmid", model.getValue("/root/temp/loginid"));
  762. grd_prcplist.addStatus(iRowNo, "update");
  763. }
  764. //--------------
  765. // 처리구분 추가
  766. model.makeValue(strNode + "[" + iRowNo + "]/tretflag", param);
  767. model.makeValue(strNode + "[" + iRowNo + "]/resncdkind", "20");
  768. model.makeValue(strNode + "[" + iRowNo + "]/resncd", model.getValue("/root/hidden/resncd"));
  769. }
  770. //---------------------------------
  771. model.removeNodeset("/root/send");
  772. //------------------------------------------------------------------
  773. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  774. model.makeValue("/root/send/prcpdata", grd_prcplist.getUpdateData()); // 처방목록
  775. // 검채 수신 확인 갯수 구하기 iNo
  776. for (iRowNo=1; iRowNo <= getNodesetCount(strNode); iRowNo++)
  777. {
  778. var sBarcdTmp = model.getValue(strNode + "[" + iRowNo + "]/spcbarcdno");
  779. if (model.getValue(strNode + "[" + iRowNo + "]/choi") == "true")
  780. {
  781. if(iNo == 0)
  782. {
  783. iAcptPrcpCnt[iNo] = sBarcdTmp;
  784. iNo++;
  785. }
  786. else
  787. {
  788. var iCheck = 0;
  789. for(var i = 0; i < iAcptPrcpCnt.length; i++)
  790. {
  791. if (sBarcdTmp == iAcptPrcpCnt[i])
  792. {
  793. iCheck = 1;
  794. break;
  795. }
  796. }
  797. if(iCheck == 0)
  798. {
  799. iAcptPrcpCnt[iNo] = sBarcdTmp;
  800. iNo++;
  801. }
  802. }
  803. }
  804. }
  805. if(iAcptPrcpCnt.length > 0)
  806. {
  807. if(param == "0")
  808. {
  809. messageBox("바코드 " + iAcptPrcpCnt.length + " 건 확인 ", "I001");
  810. }
  811. else if (param == "1")
  812. {
  813. messageBox("바코드 " + iAcptPrcpCnt.length + " 건 확인취소 ", "I001");
  814. }
  815. iAcptPrcpCnt = Array();
  816. iCnt = 0;
  817. }
  818. //-------------------------
  819. if (submit("TXLPJ00201"))
  820. {
  821. model.removeNodeset(strNode+"[choi='true']");
  822. grd_prcplist.rebuildStyle();
  823. grd_prcplist.refresh();
  824. // 추가 검체에 대한 바코드 출력
  825. fExeBarCdPrnt();
  826. } else
  827. {
  828. messageBox("수신확인을 ", "E009");
  829. }
  830. model.setFocus("ipt_barcdno");
  831. }
  832. /* @group : 전달검체수신확인
  833. * @ver : 2007.05.07 (CMCDEV-0001)
  834. * @by : 유동철(ACK)
  835. * @-----------------------------------
  836. * @type : function
  837. * @access : public
  838. * @desc : 그리드 자료 Excel로 저장 처리 function
  839. */
  840. function fExeBarCdPopupCall() {
  841. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  842. if(count == 0) {
  843. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  844. }
  845. modal("SPLLC90100" , "","","","","/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  846. }
  847. /* @group : 전달검체수신확인
  848. * @ver : 2008.08.07 (CMCDEV-0001)
  849. * @by : 유동철(ACK)
  850. * @-----------------------------------
  851. * @type : function
  852. * @access : public
  853. * @desc : 바코드 출력 처리 function
  854. */
  855. function fExeBarCdPrnt() {
  856. lpzfAcptBarCd("0", 1,
  857. "/root/main/barcdinfo/barcdlist",
  858. "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  859. }
  860. /* @group : 전달검체수신확인
  861. * @ver : 2008.09.02 (CMCDEV-0001)
  862. * @by : 유동철(ACK)
  863. * @-----------------------------------
  864. * @type : function
  865. * @access : public
  866. * @desc : 바코드 출력 처리 function
  867. */
  868. function fExeRefMthdChange() {
  869. fGetPrcpCnfmList("1");
  870. }
  871. /* @group : 전달검체수신확인
  872. * @ver : 2008.11.20 (CMCDEV-0001)
  873. * @by : 유동철(ACK)
  874. * @-----------------------------------
  875. * @type : function
  876. * @access : public
  877. * @desc : 바코드 재출력 처리 function
  878. */
  879. function fExeBarCdRePrnt() {
  880. var sList = "";
  881. var iFindNo = 0;
  882. var sNode = "/root/main/prcpcnfm/prcpcnfmlist";
  883. iFindNo = grd_prcplist.findRow("true", 1, 0, true, true);
  884. if (Number(iFindNo) <= 0) {
  885. messageBox("재출력 바코드를 선택하여 주십시오!", "I007");
  886. return false;
  887. }
  888. //-----------------------------------------------------
  889. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  890. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  891. sList += model.getValue(sNode+"["+iNo+"]/spcbarcdno") + ",";
  892. }
  893. }
  894. sList = sList.substr(0, sList.length-1);
  895. //--------------------------------
  896. // 바코드 재출력에 필요한 정보조회
  897. model.removeNodeset("/root/send");
  898. model.removeNodeset("/root/main/spcbarcd/barcdlist");
  899. //---------------------------------------------------------------------
  900. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  901. model.makeValue("/root/send/fromdd", model.getValue("/root/init/ddfrom"));
  902. model.makeValue("/root/send/todd", model.getValue("/root/init/ddto"));
  903. model.makeValue("/root/send/spcbarcdno", sList);
  904. if (submit("TRLPJ00202")) {
  905. lpzfAcptBarCd("1", 1,
  906. "/root/main/spcbarcd/barcdlist",
  907. "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  908. }
  909. }
  910. /* @group : 전달검체수신확인
  911. * @ver : 2008.11.20 (CMCDEV-0001)
  912. * @by : 유동철(ACK)
  913. * @-----------------------------------
  914. * @type : function
  915. * @access : public
  916. * @desc : 환자번호롤 조회 function
  917. */
  918. function fExeSelectInfo()
  919. {
  920. if(event.keyCode == 13)
  921. {
  922. model.setValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd", "1");
  923. model.removeNodeset("/root/main/prcpcnfm/prcpcnfmlist");
  924. grd_prcplist.refresh();
  925. fSelectBarcdInfo("2");
  926. model.setValue("/root/init/hospenv/hospenvinfo/recvqualmthdcd", "0");
  927. }
  928. }
  929. /* @group : 조직검체수신확인
  930. * @ver : 2006.11.01 (CMCDEV-0001)
  931. * @by : 유동철(ACK)
  932. * @-----------------------------------
  933. * @type : function
  934. * @access : public
  935. * @desc : 자동접수 상태변환 Function
  936. */
  937. function fExeAutoAcptFlagSet(param){
  938. //------------------
  939. // 자동접수여부 검사
  940. if (sAutoSearYN == "N") {
  941. if (model.getValue("/root/hidden/interval") == "" || Number(model.getValue("/root/hidden/interval")) <= 0) {
  942. messageBox("자동조회를 선택할 경우 자동조회시간을 입력하여 주십시오!", "E999");
  943. return false;
  944. } else if (Number(model.getValue("/root/hidden/interval")) < 10) {
  945. messageBox("자동조회시간은 10초이상 되어야 합니다!", "E999");
  946. return false;
  947. }
  948. if(interval_id != "") {
  949. window.clearinterval(interval_id);
  950. interval_id = "";
  951. }
  952. //----------------------------------------------------------------------
  953. var interval_time = Number(model.getValue("/root/hidden/interval"));
  954. button89.attribute("text") = "자동조회 On";
  955. interval_id = window.setinterval("fGetPrcpCnfmList("+ param +")", interval_time * 1000);
  956. sAutoSearYN = "Y";
  957. ipt_interval.disabled = true;
  958. } else {
  959. button89.attribute("text") = "자동조회 Off";
  960. window.clearinterval(interval_id);
  961. interval_id = "";
  962. sAutoSearYN = "N"
  963. ipt_interval.disabled = false;
  964. }
  965. button89.refresh();
  966. }
  967. ]]>
  968. </script>
  969. </xhtml:head>
  970. <xhtml:body guideline="1,1211;2,784;" style="border-width:4px; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  971. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  972. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:800px; height:15px; ">전달검체 수신확인</caption>
  973. </group>
  974. <group id="grp_biz" style="left:0px; top:40; width:1195; height:744px; ">
  975. <caption id="caption6" class="tit_2" style="left:5px; top:55px; width:370px; height:14px; font-family:굴림체; font-size:9pt; ">처방목록</caption>
  976. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:1194; y2:70px; "/>
  977. <group id="grp_sea" style="left:0px; top:10px; width:1195px; height:35px; vertical-align:top; ">
  978. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  979. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  980. <input id="ipt_barcdno" ref="/root/init/barcdno" class="input_search" navindex="1" imemode="disabled" _chartype="upper" style="left:119px; top:8px; width:141px; height:19px; ">
  981. <script type="javascript" ev:event="onkeypress">
  982. <![CDATA[
  983. fGetBarCdInfo();
  984. ]]>
  985. </script>
  986. </input>
  987. <caption id="caption2" class="search_name" style="left:17px; top:9px; width:110px; height:17px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">바코드번호:</caption>
  988. <caption id="caption4" class="search_no_b" style="left:774px; top:8px; width:21px; height:17px; font-family:굴림체; font-size:10pt; text-align:center; vertical-align:middle; ">~</caption>
  989. <select1 id="cmbddflag" ref="/root/init/ddflagcd" class="combo_search" navindex="4" appearance="minimal" style="left:591px; top:8px; width:100px; height:19px; ">
  990. <choices>
  991. <item>
  992. <label>발송일자</label>
  993. <value>0</value>
  994. </item>
  995. <item>
  996. <label>수신일자</label>
  997. <value>1</value>
  998. </item>
  999. </choices>
  1000. </select1>
  1001. <caption id="caption5" class="search_name" autoresize="true" style="left:896px; top:9px; width:97px; height:17px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">검색방법 :</caption>
  1002. <input id="input3" ref="/root/init/ddto" class="input_search" navindex="6" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:791px; top:8px; width:84px; height:19px; "/>
  1003. <input id="ipt_ddfrom" ref="/root/init/ddfrom" class="input_search" navindex="5" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:693px; top:8px; width:84px; height:19px; "/>
  1004. <caption id="caption3" class="search_name" visibility="hidden" style="left:390px; top:9px; width:80px; height:17px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">진료과:</caption>
  1005. <select1 id="cmbseaflagcd" ref="/root/init/seaflagcd" class="combo_search" navindex="7" appearance="minimal" style="left:993px; top:8px; width:100px; height:19px; ">
  1006. <choices>
  1007. <item>
  1008. <label>미확인</label>
  1009. <value>0</value>
  1010. </item>
  1011. <item>
  1012. <label>확인</label>
  1013. <value>1</value>
  1014. </item>
  1015. <item>
  1016. <label>전체</label>
  1017. <value>2</value>
  1018. </item>
  1019. </choices>
  1020. <script type="javascript" ev:event="xforms-value-changed">
  1021. <![CDATA[
  1022. fExeRefMthdChange();
  1023. ]]>
  1024. </script>
  1025. </select1>
  1026. <button id="btn_sea" accesskey="f4" class="btn1_letter2" navindex="8" style="left:1123px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  1027. <caption>조회</caption>
  1028. <script type="javascript" ev:event="DOMActivate">
  1029. <![CDATA[
  1030. fGetPrcpCnfmList("1");
  1031. ]]>
  1032. </script>
  1033. </button>
  1034. <input id="ipt_pidno" ref="/root/init/pidno" class="input_search" navindex="1" style="left:398px; top:9px; width:112px; height:19px; ">
  1035. <script type="javascript" ev:event="onkeypress">
  1036. <![CDATA[
  1037. fExeSelectInfo();
  1038. ]]>
  1039. </script>
  1040. </input>
  1041. <caption id="caption7" class="search_name" style="left:308px; top:10px; width:95px; height:17px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">등록번호:</caption>
  1042. <select1 id="cmb_trsmdeptcd" ref="/root/init/trsmdeptcd" class="combo_search" navindex="2" visibility="hidden" appearance="minimal" itemcount="20" style="left:465px; top:8px; width:120px; height:19px; ">
  1043. <choices>
  1044. <itemset nodeset="/root/init/deptlist/dept">
  1045. <label ref="depthngnm"/>
  1046. <value ref="deptcd"/>
  1047. </itemset>
  1048. </choices>
  1049. </select1>
  1050. </group>
  1051. <datagrid id="grd_prcplist" nodeset="/root/main/prcpcnfm/prcpcnfmlist" class="datagrid2" caption="선택^기관코드^감염정보^감염정보^감염정보^caption1^caption2^caption3^검체명^바코드번호^검체정보^검체정보^내시경&#xA;소견^등록번호^성명^진료과코드^진료과^발송과^진료의ID^진료&#xA;의사^검사코드^처방명^수납&#xA;구분^처방등록일시^발송시간^발송자^수신시간^수신자^전송일자^전송번호^전송일련번호^검체전송일자^검체전송번호^검체전송일련번호^현재상태코드^처방상태코드^처방발생구분^처방일자^처방번호^실시처방고유번호^처리구분^취소구분코드^취소코드^spcstatcd^workflagcd^접수일시^병리번호^의뢰지구분^cnfmid^reqfrmVal^mmospccd" colsep="^" colwidth="30, 0, 25, 25, 25, 100, 100, 100, 100, 100, 35, 25, 44, 70, 70, 0, 60, 70, 0, 60, 80, 200, 50, 100, 100, 60, 100, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 75, 100, 0, 100, 100" dataheight="25" explorerbar="sortshowmove" mergecellsfixedrows="bycolrec" navindex="9" style="left:0px; top:75px; width:1194px; height:665px; ">
  1052. <col ref="choi" type="checkbox"/>
  1053. <col ref="instcd"/>
  1054. <col ref="disp1img" type="output"/>
  1055. <col ref="disp2img" type="output"/>
  1056. <col ref="disp3img" type="output"/>
  1057. <col ref="disp1" type="output" visibility="hidden"/>
  1058. <col ref="disp2" type="output" visibility="hidden"/>
  1059. <col ref="disp3" type="output" visibility="hidden"/>
  1060. <col ref="spcnm"/>
  1061. <col class="text_center" ref="spcbarcdno"/>
  1062. <col class="text_center" ref="spccnt"/>
  1063. <col checkimage="../../../com/commonweb/images/icon_search.gif" type="checkbox" uncheckimage="../../../com/commonweb/images/icon_search.gif"/>
  1064. <col class="text_center" ref="formrecseq"/>
  1065. <col class="text_center" ref="pid"/>
  1066. <col class="text_center" ref="patnm"/>
  1067. <col ref="orddeptcd"/>
  1068. <col class="text_center" ref="orddeptnm"/>
  1069. <col class="text_center" ref="oproomnm"/>
  1070. <col ref="orddrid"/>
  1071. <col class="text_center" ref="orddrnm"/>
  1072. <col ref="testcd"/>
  1073. <col ref="testnm"/>
  1074. <col class="text_center" ref="rcptflag"/>
  1075. <col ref="prcprgstdt"/>
  1076. <col ref="delivedt"/>
  1077. <col class="text_center" ref="delivenm"/>
  1078. <col ref="cnfmdt"/>
  1079. <col class="text_center" ref="cnfmnm"/>
  1080. <col ref="trandd"/>
  1081. <col ref="tranno"/>
  1082. <col ref="transeqno"/>
  1083. <col ref="spctrandd"/>
  1084. <col ref="spctranno"/>
  1085. <col ref="spctranseqno"/>
  1086. <col ref="preststatcd"/>
  1087. <col ref="orgprcpstatcd"/>
  1088. <col ref="prcpgenrflag"/>
  1089. <col ref="prcpdd"/>
  1090. <col ref="prcpno"/>
  1091. <col ref="execprcpuniqno"/>
  1092. <col ref="tretflag"/>
  1093. <col ref="resncdkind"/>
  1094. <col ref="resncd"/>
  1095. <col ref="spcstatcd"/>
  1096. <col ref="workflagcd"/>
  1097. <col ref="acptdt"/>
  1098. <col ref="ptno"/>
  1099. <col ref="reqfrmflagcd" visibility="hidden"/>
  1100. <col ref="cnfmid"/>
  1101. <col ref="reqfrmno" visibility="hidden"/>
  1102. <col ref="mmospccd" visibility="hidden"/>
  1103. <script type="javascript" ev:event="onclick">
  1104. <![CDATA[
  1105. fExeOrdListClick();
  1106. ]]>
  1107. </script>
  1108. <script type="javascript" ev:event="onaftersort">
  1109. <![CDATA[
  1110. grd_prcplist.gridToInstance();
  1111. ]]>
  1112. </script>
  1113. <script type="javascript" ev:event="onaftermovecolumn">
  1114. <![CDATA[
  1115. grd_prcplist.gridToInstance();
  1116. ]]>
  1117. </script>
  1118. <script type="javascript" ev:event="xforms-value-changed">
  1119. <![CDATA[
  1120. var sNode = "/root/main/prcpcnfm/prcpcnfmlist";
  1121. var sBarCdNo = "";
  1122. if ((grd_prcplist.col == grd_prcplist.colRef("choi")) && (grd_prcplist.row >= grd_prcplist.fixedRows) && (grd_prcplist.isCell(event.target))){
  1123. sBarCdNo = model.getValue(sNode+"["+ grd_prcplist.row +"]/spcbarcdno");
  1124. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1125. if(model.getValue(sNode+"["+ iNo +"]/spcbarcdno") == sBarCdNo) {
  1126. model.setValue(sNode+"["+iNo+"]/choi", model.getValue(sNode+"["+ grd_prcplist.row +"]/choi"));
  1127. if(model.getValue(sNode+"["+ grd_prcplist.row +"]/choi") == "false") {
  1128. grd_prcplist.rowstyle(iNo, "data", "background-color") = "#FFFFFF";
  1129. } else {
  1130. grd_prcplist.rowstyle(iNo, "data", "background-color") = "#99ffcc";
  1131. }
  1132. }
  1133. }
  1134. grd_prcplist.refresh();
  1135. }
  1136. ]]>
  1137. </script>
  1138. </datagrid>
  1139. <group id="grp_resncancle" visibility="hidden" style="left:390px; top:195px; width:420px; height:75px; ">
  1140. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:4px; top:5px; width:411px; height:65px; background-color:#fffbf2; border-color:#ffd799; border-width:3px; "/>
  1141. <caption id="cap_cnclresn" class="cell_2" style="left:15px; top:15px; width:80px; height:23px; font-family:돋움; vertical-align:middle; ">취소사유</caption>
  1142. <line id="line2" class="line_3" style="x1:16px; y1:15px; x2:400px; y2:15px; "/>
  1143. <select1 id="cbo_cnclresn" ref="/root/hidden/resncd" class="combo_default" navindex="14" appearance="minimal" style="left:15px; top:40px; width:385px; height:19px; ">
  1144. <choices>
  1145. <itemset nodeset="/root/init/resncd/resncdlist">
  1146. <label ref="resncnts"/>
  1147. <value ref="resncd"/>
  1148. </itemset>
  1149. </choices>
  1150. </select1>
  1151. <line id="line3" class="line_3" style="x1:16px; y1:60px; x2:400px; y2:60px; "/>
  1152. <button id="btn_cncresn" class="btn2_letter4" navindex="16" style="left:334px; top:19px; width:64px; height:19px; ">
  1153. <caption>확인취소</caption>
  1154. <script type="javascript" ev:event="DOMActivate">
  1155. <![CDATA[
  1156. fExePrcpCnfm("1");
  1157. grp_resncancle.visible = false;
  1158. ]]>
  1159. </script>
  1160. </button>
  1161. </group>
  1162. <input id="ipt_interval" ref="/root/hidden/interval" format="##" style="left:1139px; top:50px; width:40px; height:19px; text-align:right; "/>
  1163. <button id="button89" class="btn5_letter6" style="left:1053px; top:50px; width:86px; height:19px; ">
  1164. <caption>자동조회 Off</caption>
  1165. <script type="javascript" ev:event="DOMActivate">
  1166. <![CDATA[
  1167. fExeAutoAcptFlagSet("1");
  1168. ]]>
  1169. </script>
  1170. </button>
  1171. <caption id="caption8" style="left:1179px; top:51px; width:15px; height:20px; ">초</caption>
  1172. </group>
  1173. <group id="grp_btn" scroll="auto" style="left:0px; top:13; width:1195px; height:27px; ">
  1174. <line id="line9" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  1175. <button id="btn_cnfm" class="btn4_letter4" navindex="13" style="left:1114; top:3px; width:80px; height:22px; ">
  1176. <caption>확인취소</caption>
  1177. <script type="javascript" ev:event="DOMActivate">
  1178. <![CDATA[
  1179. grp_resncancle.visible = true;
  1180. //fExePrcpCnfm("1");
  1181. ]]>
  1182. </script>
  1183. </button>
  1184. <button id="btn_excel" accesskey="f9" class="btn6_letter8" navindex="10" style="left:5px; top:3px; width:92px; height:22px; ">
  1185. <caption>EXCEL저장 [F9]</caption>
  1186. <script type="javascript" ev:event="DOMActivate">
  1187. <![CDATA[
  1188. lpzfExeSaveToExcel(grd_prcplist, "전달검체수신확인");
  1189. ]]>
  1190. </script>
  1191. </button>
  1192. <button id="btn_clear" class="btn3_letter3" navindex="11" style="left:136px; top:3px; width:68px; height:22px; ">
  1193. <caption>초기화</caption>
  1194. <script type="javascript" ev:event="DOMActivate">
  1195. <![CDATA[
  1196. model.removeNodeset("/root/main/prcpcnfm/prcpcnfmlist");
  1197. grd_prcplist.refresh();
  1198. ]]>
  1199. </script>
  1200. </button>
  1201. <button id="btn_save" accesskey="f2" class="btn4_letter5" navindex="12" style="left:1018px; top:3px; width:92px; height:22px; ">
  1202. <caption>확인 [F2]</caption>
  1203. <script type="javascript" ev:event="DOMActivate">
  1204. <![CDATA[
  1205. fExePrcpCnfm("0");
  1206. fGetPrcpCnfmList("1");
  1207. ]]>
  1208. </script>
  1209. </button>
  1210. <button id="button26" class="btn3_letter5" style="left:207px; top:3px; width:92px; height:22px; ">
  1211. <caption>프린터설정</caption>
  1212. <script type="javascript" ev:event="DOMActivate">
  1213. <![CDATA[
  1214. fExeBarCdPopupCall();
  1215. ]]>
  1216. </script>
  1217. </button>
  1218. <button id="btn_reprnt" class="btn3_letter6" style="left:300px; top:3px; width:96px; height:22px; ">
  1219. <caption>바코드재출력</caption>
  1220. <script type="javascript" ev:event="DOMActivate">
  1221. <![CDATA[
  1222. fExeBarCdRePrnt();
  1223. ]]>
  1224. </script>
  1225. </button>
  1226. </group>
  1227. </xhtml:body>
  1228. </xhtml:html>