SMADT20700_특수조제실조제관리.xrw 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>특수조제실조제관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <사원번호/>
  11. <안내문/>
  12. <masterinfo>
  13. <druglist>
  14. <sel/>
  15. <prcpdd/>
  16. <hngnm/>
  17. <pid/>
  18. <drugno/>
  19. <orddeptnm/>
  20. <drugstatnm/>
  21. <appdt/>
  22. <rgstdm/>
  23. <sumdt/>
  24. <prntdt/>
  25. <labelcompdt/>
  26. <prcpdt/>
  27. <waitmin/>
  28. <prcpidnm/>
  29. <drugdt/>
  30. <drugidnm/>
  31. <stocdeptnm/>
  32. <stocdt/>
  33. <drugstat/>
  34. <prcpid/>
  35. <drugid/>
  36. <drugdd/>
  37. <ioflag/>
  38. <instcd/>
  39. <hosinhosoutflag/>
  40. <stocdeptcd/>
  41. <spcldrug/>
  42. </druglist>
  43. </masterinfo>
  44. <waitinfo>
  45. <tmlist1>
  46. <waittm/>
  47. <avgwaitmin/>
  48. </tmlist1>
  49. <tmlist2>
  50. <orddeptnm/>
  51. <avgwaitmin/>
  52. <orddeptcd/>
  53. </tmlist2>
  54. <totwatitinfo>
  55. <avgwaitmin/>
  56. <minwaitmin/>
  57. <maxwaitmin/>
  58. </totwatitinfo>
  59. </waitinfo>
  60. <totwaitinfo>
  61. <tmlist3>
  62. <item>
  63. <titlenm>전체평균</titlenm>
  64. <avgwaitmin/>
  65. </item>
  66. <item>
  67. <titlenm>전체최대</titlenm>
  68. <avgwaitmin/>
  69. </item>
  70. <item>
  71. <titlenm>전체최소</titlenm>
  72. <avgwaitmin/>
  73. </item>
  74. </tmlist3>
  75. </totwaitinfo>
  76. <detlinfo>
  77. <detdruglist>
  78. <ordrtnflag/>
  79. <prcpcd/>
  80. <drugnm/>
  81. <drugtypenm/>
  82. <prcpqty/>
  83. <prcptims/>
  84. <prcpdayno/>
  85. <prntdt/>
  86. <prcpdt/>
  87. <sumdt/>
  88. <pid/>
  89. <drugno/>
  90. <bcno/>
  91. <powdflag/>
  92. <drugdd/>
  93. <ioflag/>
  94. <drugseqno/>
  95. <instcd/>
  96. <prcpdd/>
  97. <prcpno/>
  98. <prcphistno/>
  99. <execprcpno/>
  100. <drugtype/>
  101. </detdruglist>
  102. </detlinfo>
  103. </main>
  104. <send>
  105. <srchinfo>
  106. <srchsumdt1/>
  107. <srchsumdt2/>
  108. <srchorddeptcd/>
  109. <srchpid/>
  110. <srchhngnm/>
  111. <srchdrugyn/>
  112. <srchbcno/>
  113. <srchdrugdd/>
  114. <srchdrugno/>
  115. <srchioflag/>
  116. <srchprcpno/>
  117. </srchinfo>
  118. <req>
  119. <drugdd/>
  120. <drugno/>
  121. <ioflag/>
  122. <drugstat/>
  123. <dispflag/>
  124. <dispcnts/>
  125. <inputtm/>
  126. <userid/>
  127. <stocdeptcd/>
  128. <instcd/>
  129. <srchrcvflag/>
  130. <srchdrugmngtyn/>
  131. <pid/>
  132. <dispcnts/>
  133. </req>
  134. <callbarcode/>
  135. <srchdetlinfo>
  136. <drugdd/>
  137. <drugno/>
  138. <ioflag/>
  139. </srchdetlinfo>
  140. </send>
  141. <init>
  142. <orddept>
  143. </orddept>
  144. <patinfo>
  145. <pid/>
  146. <hngnm/>
  147. </patinfo>
  148. <stocinfo>
  149. <stocdeptcd>3242106000</stocdeptcd>
  150. </stocinfo>
  151. </init>
  152. <hidden>
  153. <item>
  154. <count/>
  155. </item>
  156. <cnfrresult/>
  157. <stocdeptlist>
  158. <deptlist>
  159. <stocdeptcd/>
  160. <stocdeptnm/>
  161. </deptlist>
  162. </stocdeptlist>
  163. </hidden>
  164. </root>
  165. </instance>
  166. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  167. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  168. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  169. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  170. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  171. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  172. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  173. <script type="javascript" ev:event="xforms-ready">
  174. <![CDATA[
  175. zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept"); //부서코드 콤보조회
  176. if ( model.instances(0).selectSingleNode("/root/init/orddept/dept") != null) {
  177. astfAddCombo("/root/init/orddept","dept","deptcd,depthngnm",",전체");
  178. }
  179. // 20100203_laboru_불출부서 visibility 막기
  180. // submit("TRADT00704");
  181. // if(model.getValue("/root/hidden/stocdeptlist/deptlist/stocdeptcd") == "Y") {
  182. // cmb_stocdeptcd.visible = false;
  183. // caption1.visible = false;
  184. // }
  185. model.setValue("/root/send/srchinfo/srchsumdt1" , getCurrentDate());
  186. model.setValue("/root/send/srchinfo/srchsumdt2" , getCurrentDate());
  187. //model.setValue("/root/init/stocinfo/stocdeptcd",getUserInfo("dutplcecd")); // 재고불출부서 로긴부서로 default세팅
  188. model.refresh();
  189. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  190. var colHidnValue = grdBaseColHidn("D");
  191. //1회 기준
  192. if( colHidnValue == "C") {
  193. grd_detdruglist.colHidden(grd_detdruglist.colRef("prcpqty")) = true;
  194. } else {
  195. grd_detdruglist.colHidden(grd_detdruglist.colRef("prcpqty2")) = true;
  196. }
  197. ]]>
  198. </script>
  199. <submission id="TXADT00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden/item"/>
  200. <script type="javascript">
  201. <![CDATA[
  202. var gWaitDispType = "G"; // 대기시간 표현방법(G-그래프, T-표)
  203. var gTimer;
  204. var gInterval = 500000000;
  205. function fSubmitDrugStat(drugstat){
  206. var selrow = 0;
  207. var predrugstat = ""; // 이전처방상태
  208. ///2012년 9월19일 한개 처리에서 멀티선택 처리 하기
  209. // if (grid_druglist.rows > 0 && grid_druglist.row <= 0)
  210. // selrow = 1;
  211. // else selrow = grid_druglist.row;
  212. for (var i=1; i<grid_druglist.rows; i++) {
  213. var sel = model.getValue("/root/main/masterinfo/druglist["+i+"]/sel");
  214. //alert(i + " , " + sel );
  215. if(sel == "true") {
  216. selrow = i ;
  217. // 처방상태처리
  218. predrugstat = model.getValue("/root/main/masterinfo/druglist["+selrow+"]/drugstat");
  219. spcldrug = model.getValue("/root/main/masterinfo/druglist["+selrow+"]/spcldrug");
  220. if (drugstat == "P" && predrugstat != "D" && spcldrug != "M" ) {
  221. messageBox("이전상태가 조제완료가 아니므로 조제취소하실 수 없습니다.","I999");
  222. return;
  223. }
  224. if (drugstat == "NM" && predrugstat != "M" && spcldrug != "M" ) {
  225. messageBox("이전상태가 투약완료가 아니므로 투약취소하실 수 없습니다.","I999");
  226. return;
  227. }
  228. if (drugstat == "M" && predrugstat != "D" && spcldrug != "M") {
  229. messageBox("조제완료 상태가 아니므로 투약완료하실 수 없습니다.","I999");
  230. return;
  231. }
  232. // 투약취소 -> 조제완료
  233. if (drugstat == "NM" ) drugstat = "D";
  234. // 전송정보
  235. model.setValue("/root/send/req/drugdd" , model.getValue("/root/main/masterinfo/druglist["+selrow+"]/drugdd"));
  236. model.setValue("/root/send/req/drugno" , model.getValue("/root/main/masterinfo/druglist["+selrow+"]/drugno"));
  237. model.setValue("/root/send/req/ioflag" , model.getValue("/root/main/masterinfo/druglist["+selrow+"]/ioflag"));
  238. model.setValue("/root/send/req/drugstat" , drugstat);
  239. model.setValue("/root/send/req/userid" , getUserId());
  240. model.setValue("/root/send/req/instcd" , getUserInfo("dutplceinstcd"));
  241. // 투약처리
  242. if (drugstat =="M") model.setValue("/root/send/req/stocdeptcd", model.getValue("/root/init/stocinfo/stocdeptcd"));
  243. // 조제취소, 투약완료 시 승인이 필요한 경우
  244. var srchdrugyn = model.getValue("/root/send/srchinfo/srchdrugyn");
  245. var srchrcvflag = "";
  246. var srchdrugmngtyn = "";
  247. if(srchdrugyn != null && srchdrugyn.length> 0) {
  248. if(srchdrugyn == "1") {
  249. srchrcvflag = "Y";
  250. model.setValue("/root/send/req/srchrcvflag", "Y");
  251. model.setValue("/root/send/req/srchdrugmngtyn", "");
  252. } else if(srchdrugyn == "1 2" || srchdrugyn == "2 1") {
  253. srchrcvflag = "Y";
  254. model.setValue("/root/send/req/srchrcvflag", "Y");
  255. srchdrugmngtyn = "Y";
  256. model.setValue("/root/send/req/srchdrugmngtyn", "Y");
  257. } else if(srchdrugyn == "2") {
  258. srchdrugmngtyn = "Y";
  259. model.setValue("/root/send/req/srchrcvflag", "");
  260. model.setValue("/root/send/req/srchdrugmngtyn", "Y");
  261. }
  262. }
  263. // 조제취소
  264. if(drugstat == "P" && predrugstat == "D" && srchrcvflag == "Y") {
  265. model.setValue("/root/hidden/cnfrresult", "");
  266. model.setValue("/root/send/req/pid", model.getValue("/root/main/masterinfo/druglist["+selrow+"]/pid"));
  267. modal("SPADT63400",0,100,150,"SPADT63400","/root/send/req","/root/send/srchinfo");
  268. } else if(drugstat == "M" && predrugstat == "D" && srchrcvflag == "Y" && srchdrugmngtyn == "Y") {
  269. model.setValue("/root/hidden/cnfrresult", "");
  270. model.setValue("/root/send/req/pid", model.getValue("/root/main/masterinfo/druglist["+selrow+"]/pid"));
  271. modal("SPADT63400",0,100,150,"SPADT63400","/root/send/req","/root/send/srchinfo");
  272. }
  273. if(drugstat == "P" && predrugstat == "D" && srchrcvflag == "Y" && model.getValue("/root/hidden/cnfrresult") == "Y") {
  274. var success = submit("TXADT00701");
  275. // if (success) submit("TRADT00701");
  276. } else if(drugstat == "M" && predrugstat == "D" && srchdrugmngtyn == "Y" && model.getValue("/root/hidden/cnfrresult") == "Y") {
  277. var success = submit("TXADT00701");
  278. // if (success) submit("TRADT00701");
  279. } else {
  280. var success = submit("TXADT00701");
  281. // if (success) submit("TRADT00701");
  282. }
  283. }
  284. }
  285. // submit("TRADT00701");
  286. }
  287. function fDrugnoDisp(drugstat) {
  288. ///2012년 9월19일 한개 처리에서 멀티선택 처리 하기
  289. for (var j=1; j<grid_druglist.rows; j++) {
  290. var sel = model.getValue("/root/main/masterinfo/druglist["+j+"]/sel");
  291. if(sel == "true") {
  292. // 전광판처리
  293. if(drugstat == "D") {
  294. model.setValue("/root/send/req/dispcnts", "N");
  295. }
  296. model.setValue("/root/send/req/dispflag", drugstat);
  297. model.setValue("/root/send/req/inputtm", getCurrentTime());
  298. model.setValue("/root/send/req/drugdd", model.getValue("/root/main/masterinfo/druglist["+j+"]/drugdd"));
  299. model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist["+j+"]/drugno"));
  300. // if(model.getValue("/root/send/req/drugdd") == "") {
  301. // model.setValue("/root/send/req/drugdd", model.getValue("/root/main/masterinfo/druglist[1]/drugdd"));
  302. // }
  303. // if(model.getValue("/root/send/req/drugno") == "") {
  304. //alert("dd");
  305. // model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist[1]/drugno"));
  306. // }
  307. //alert(model.getValue("/root/send/req/drugno"));
  308. //전광판 데이터
  309. submit("TXADT00702");
  310. // alert("wait");
  311. //model.refresh();
  312. }
  313. }
  314. btn_sea.dispatch( "DOMActivate");
  315. }
  316. function fDispWaitTime(type) {
  317. var success = submit("TRADT20703");
  318. var avgwaitmin = model.getValue("/root/main/waitinfo/totwatitinfo/avgwaitmin"); // 전체 평균대기시간
  319. var minwaitmin = model.getValue("/root/main/waitinfo/totwatitinfo/minwaitmin"); // 전체 최소대기시간
  320. var maxwaitmin = model.getValue("/root/main/waitinfo/totwatitinfo/maxwaitmin"); // 전체 최대대기시간
  321. // 데이터가 없을 경우 return
  322. if (avgwaitmin == null || avgwaitmin == "") return;
  323. // 전체대기시간 세팅
  324. model.setValue("/root/main/totwaitinfo/tmlist3/item[1]/avgwaitmin",avgwaitmin);
  325. model.setValue("/root/main/totwaitinfo/tmlist3/item[2]/avgwaitmin",maxwaitmin);
  326. model.setValue("/root/main/totwaitinfo/tmlist3/item[3]/avgwaitmin",minwaitmin);
  327. model.refresh();
  328. document.all.item("TChart_Tot").visible = false;
  329. document.all.item("TChart_Time").visible = false;
  330. document.all.item("TChart_Ord").visible = false;
  331. if (type == "G") { // 20110113_laboru_경북대병원 임시로 그래프 버전 막기
  332. /* document.all.item("TChart_Tot").visible = true;
  333. document.all.item("TChart_Time").visible = true;
  334. document.all.item("TChart_Ord").visible = true;
  335. document.all.item("TChart_Tot").refresh();
  336. document.all.item("TChart_Time").refresh();
  337. document.all.item("TChart_Ord").refresh();
  338. btn_graph1.text = "텍스트로 보기"
  339. drawBar(TChart_Tot , grd_tottmlist , "avgwaitmin", "전체 대기시간" , true); // 전체 대기시간
  340. drawBar(TChart_Time, grd_bytmlist , "avgwaitmin", "시간별 대기시간" , true); // 시간대별 대기시간
  341. drawBar(TChart_Ord , grd_byordlist, "avgwaitmin", "진료과별 대기시간", true); // 진료과별 대기시간
  342. gWaitDispType = "T";*/
  343. } else if (type == "T") {
  344. /* if (gTimer != null) window.clearinterval(gTimer);
  345. btn_graph1.text = "그래프보기"
  346. gWaitDispType = "G";*/
  347. }
  348. }
  349. function fNuCall(drugno){
  350. // var max_drugno = drugno;
  351. // var max_drugno2;
  352. //
  353. // alert("aa = " +max_drugno);
  354. // alert("aa = " +max_drugno.length);
  355. // if(max_drugno.length == 1 ){
  356. // max_drugno2 = "000"+max_drugno;
  357. // } else if (max_drugno.length == 2 ){
  358. // max_drugno2 = "00"+max_drugno;
  359. // } else if (max_drugno.length == 3 ){
  360. // max_drugno2 = "0"+max_drugno;
  361. // } else if (max_drugno.length == 4 ){
  362. // max_drugno2 = max_drugno;
  363. // }
  364. // alert("max_drugno2 = " +max_drugno2);
  365. // if(max_drugno2.length != 5){
  366. // if(max_drugno2.length == 0){
  367. // max_drugno2.length = 1;
  368. // }
  369. // for (var i = max_drugno2.length; i > 0; i--){
  370. //// // 5번째 자리는 당분간 생략
  371. //// if(i = 5){
  372. //// var OOOOO = max_drugno.substring(0,i-1)+"0000.wav";
  373. //// alert("5 = "+OOOOO)
  374. //// }
  375. // if(i == 4){
  376. // var OOOO = max_drugno2.substring(0,1)+"000.wav";
  377. // snd2 = "";
  378. // if(OOOO != "0000.wav"){
  379. // snd2 ="c:\\windows\\media\\"+OOOO;
  380. // }
  381. // }
  382. // if(i == 3 ){
  383. // var OOO = max_drugno2.substring(1,2)+"00.wav";
  384. // snd3 = "";
  385. // if(OOO != "000.wav"){
  386. // snd3 ="c:\\windows\\media\\"+OOO;
  387. // }
  388. // }
  389. // if(i==2){
  390. // var OO = max_drugno2.substring(2,3)+"0.wav";
  391. // snd4 = "";
  392. // if(OO != "00.wav"){
  393. // snd4 ="c:\\windows\\media\\"+OO;
  394. // }
  395. // }
  396. // if(i==1){
  397. // var O = "0"+max_drugno2.substring(3,4)+".wav";
  398. // snd5 = "";
  399. // if(O != "00.wav"){
  400. // snd5 ="c:\\windows\\media\\"+O;
  401. // }
  402. // }
  403. // }//for
  404. //snd1 ="c:\\windows\\media\\딩동1.wav";
  405. //object1.url = snd1;
  406. // var intcnt =100;
  407. // call1 = window.setInterval("fCall1()",intcnt);
  408. // if(OOOO != "0000.wav"){
  409. // intcnt=intcnt+2200;
  410. //// fSleep(470);
  411. // call2 = window.setInterval("fCall2()",intcnt);
  412. // }
  413. // if(OOO != "000.wav"){
  414. // intcnt=intcnt+2000;
  415. //// fSleep(470);
  416. // call3 = window.setInterval("fCall3()",intcnt);
  417. // }
  418. // if(OO != "00.wav"){
  419. // intcnt=intcnt+2000;
  420. //// fSleep(470);
  421. // call4 = window.setInterval("fCall4()",intcnt);
  422. // }
  423. // if(O != "00.wav"){
  424. // intcnt=intcnt+2000;
  425. //// fSleep(470);
  426. // call5 = window.setInterval("fCall5()",intcnt);
  427. // }
  428. // intcnt=intcnt+900;
  429. //// fSleep(470);
  430. // snd6 ="c:\\windows\\media\\번.wav";
  431. // call6 = window.setInterval("fCall6()",intcnt);
  432. //
  433. // }
  434. // var speed = 500;
  435. //
  436. // object1.url = snd1;
  437. // fSleep(1000);
  438. }
  439. function fCall1(){
  440. object1.url = snd1;
  441. window.clearInterval(call1);
  442. }
  443. function fSleep(numberMillis) {
  444. var now = new Date();
  445. var exitTime = now.getTime() + numberMillis;
  446. while (true) {
  447. now = new Date();
  448. if (now.getTime() > exitTime)
  449. return;
  450. }
  451. }
  452. ]]>
  453. </script>
  454. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init/deptinfo"/>
  455. <submission id="TXADT00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden/item"/>
  456. <script type="javascript" ev:event="xforms-model-destruct">
  457. <![CDATA[
  458. if (gTimer != null) window.clearinterval(gTimer);
  459. gTimer = null;
  460. ]]>
  461. </script>
  462. <script type="javascript" ev:event="xforms-model-construct-done">
  463. <![CDATA[
  464. grid_druglist.fixedcellcheckbox(0,1) = true;
  465. ]]>
  466. </script>
  467. <submission id="TRADT20701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/masterinfo"/>
  468. <submission id="TRADT20702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchdetlinfo" replace="instance" resultref="/root/main/detlinfo/detdruglist"/>
  469. <submission id="TRADT20703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/waitinfo"/>
  470. <submission id="TRADT20704" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/stocdeptlist"/>
  471. </model>
  472. </xhtml:head>
  473. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  474. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  475. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">특수조제실 조제관리</caption>
  476. </group>
  477. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  478. <datagrid id="grd_byordlist" nodeset="/root/main/waitinfo/tmlist2" caption="진료과^대기시간(분)" colsep="^" colwidth="118, 78" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:979px; top:477px; width:215px; height:235px; ">
  479. <col ref="orddeptnm"/>
  480. <col ref="avgwaitmin" format="#,###" style="text-align:right; "/>
  481. </datagrid>
  482. <object id="TChart_Ord" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:980px; top:478px; width:215px; height:235px; "/>
  483. <datagrid id="grd_bytmlist" nodeset="/root/main/waitinfo/tmlist1" caption="시간대^대기시간(분)" colsep="^" colwidth="95, 100" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:979px; top:237px; width:215px; height:238px; ">
  484. <col ref="waittm"/>
  485. <col ref="avgwaitmin" format="#,###" style="text-align:right; "/>
  486. </datagrid>
  487. <datagrid id="grd_tottmlist" nodeset="/root/main/totwaitinfo/tmlist3/item" caption="구분^대기시간(분)" colsep="^" colwidth="95, 100" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:980px; top:110px; width:215px; height:123px; ">
  488. <col ref="titlenm"/>
  489. <col ref="avgwaitmin" format="#,###" style="text-align:right; "/>
  490. </datagrid>
  491. <group id="group2" style="left:0px; top:30px; width:1194px; height:45px; ">
  492. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:3px; width:1194px; height:42px; background-color:#fffbf2; border-color:#ffd799; "/>
  493. <button id="button5" class="icon_search" style="left:720px; top:13px; width:16px; height:16px; ">
  494. <caption/>
  495. <script type="javascript" ev:event="DOMActivate">
  496. <![CDATA[
  497. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/init/patinfo", "/root/send");
  498. model.setValue("/root/send/srchinfo/srchpid" ,model.getValue("/root/init/patinfo/pid"));
  499. model.setValue("/root/send/srchinfo/srchhngnm",model.getValue("/root/init/patinfo/hngnm"));
  500. ]]>
  501. </script>
  502. </button>
  503. <line id="line13" style="x1:1095px; y1:9px; x2:1095px; y2:34px; border-color:#ffe4bb; border-left-style:solid; "/>
  504. <caption id="caption24" class="search_name" style="left:10px; top:15px; width:86px; height:17px; ">적용일자 :</caption>
  505. <caption id="caption4" class="search_name" style="left:346px; top:15px; width:86px; height:17px; ">진료과 :</caption>
  506. <caption id="caption5" style="left:207px; top:15px; width:15px; height:20px; vertical-align:middle; ">~</caption>
  507. <caption id="caption26" class="search_name" style="left:568px; top:15px; width:86px; height:17px; ">환자 :</caption>
  508. <caption id="caption27" class="search_name" style="left:838px; top:15px; width:85px; height:17px; ">처방구분 :</caption>
  509. <button id="btn_sea" class="btn1_letter2" style="left:1120px; top:10px; width:56px; height:22px; ">
  510. <caption>조회</caption>
  511. <script type="javascript" ev:event="DOMActivate">
  512. <![CDATA[
  513. var barcode = model.getValue("/root/send/srchinfo/srchbcno");
  514. var ioflag = "";
  515. var drugdd = "";
  516. var drugno = "";
  517. var prcpno = "";
  518. if (barcode.length > 9) {
  519. // 일반 원내 처방전
  520. ioflag = barcode.substr(0,1);
  521. drugdd = barcode.substr(1,8);
  522. drugno = barcode.substr(9,barcode.length-9);
  523. // 외래데이터만 처리
  524. if (ioflag.toUpperCase() != "O") {
  525. messageBox("바코드 조회내용이 외래처방이 아니므로 처리","E001");
  526. model.setValue("/root/send/srchinfo/srchbcno","");
  527. model.refresh();
  528. return;
  529. }
  530. }else{
  531. // 투약번호별 입력으로 처리
  532. if (model.getValue("/root/send/srchinfo/srchdrugno") !="") {
  533. drugno=model.getValue("/root/send/srchinfo/srchdrugno");
  534. }
  535. }
  536. model.setValue("/root/send/srchinfo/srchdrugdd",drugdd);
  537. model.setValue("/root/send/srchinfo/srchdrugno",drugno);
  538. model.setValue("/root/send/srchinfo/srchprcpno",prcpno);
  539. // model.setValue("/root/send/srchinfo/srchioflag" ,"O");
  540. model.removeNodeset("/root/main/masterinfo/tmlist1");
  541. model.removeNodeset("/root/main/masterinfo/tmlist2");
  542. model.removeNodeset("/root/main/masterinfo/druglist");
  543. model.removeNodeset("/root/main/masterinfo/tmlist3");
  544. var success = submit("TRADT20701", false);
  545. if (success) {
  546. // 바코드번호 reset
  547. model.setValue("/root/send/srchinfo/srchbcno","");
  548. model.refresh();
  549. // 상세조회
  550. if (grid_druglist.rows > 0) {
  551. grid_druglist.dispatch("onclick");
  552. }
  553. // 그래프
  554. fDispWaitTime("G");
  555. gTimer = window.setInterval("fDispWaitTime('G')",gInterval);
  556. }
  557. ]]>
  558. </script>
  559. </button>
  560. <input id="ipt_sumdt1" ref="/root/send/srchinfo/srchsumdt1" class="input_s_essential" inputtype="date" style="left:104px; top:13px; width:100px; height:19px; "/>
  561. <input id="ipt_sumdt2" ref="/root/send/srchinfo/srchsumdt2" class="input_s_essential" inputtype="date" style="left:220px; top:13px; width:100px; height:19px; "/>
  562. <select1 id="cmb_orddeptcd" ref="/root/send/srchinfo/srchorddeptcd" class="combo_search" appearance="minimal" style="left:430px; top:13px; width:115px; height:19px; ">
  563. <choices>
  564. <itemset nodeset="/root/init/orddept/dept">
  565. <label ref="depthngnm"/>
  566. <value ref="deptcd"/>
  567. </itemset>
  568. </choices>
  569. </select1>
  570. <input id="ipt_pid" ref="/root/send/srchinfo/srchpid" class="input_search" autonext="false" maxlength="10" style="left:637px; top:13px; width:80px; height:19px; "/>
  571. <input id="ipt_hngnm" ref="/root/send/srchinfo/srchhngnm" class="input_search" style="left:740px; top:13px; width:70px; height:19px; "/>
  572. <select id="chk_drugyn" ref="/root/send/srchinfo/srchdrugyn" class="checkbox_search" overflow="visible" appearance="full" cols="2" rows="1" style="left:929px; top:15px; width:145px; height:19px; border-style:none; ">
  573. <choices>
  574. <item>
  575. <label>미수령약</label>
  576. <value>1</value>
  577. </item>
  578. <item>
  579. <label>투약관리약</label>
  580. <value>2</value>
  581. </item>
  582. </choices>
  583. </select>
  584. </group>
  585. <datagrid id="grid_druglist" nodeset="/root/main/masterinfo/druglist" scroll="auto" caption="^처방일자^환자명^등록번호^투약번호^진료과^조제상태^처방입력일시^특조전송일시^처방마감일시^처방출력일시^라벨조제완료일시^대기시간(분)^투약일시^투약약사^stocdeptnm^stocdt^drugstat^prcpid^drugid^drugdd^ioflag^instcd^hosinhosoutflag^stocdeptcd" colsep="^" colwidth="26, 67, 72, 71, 58, 100, 63, 116, 122, 116, 115, 123, 120, 139, 63, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" explorerbar="sortshow" frozencols="7" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="listbox" style="left:0px; top:112px; width:975px; height:283px; ">
  586. <col ref="sel" type="checkbox"/>
  587. <col ref="prcpdd" format="yyyy-mm-dd"/>
  588. <col ref="hngnm"/>
  589. <col ref="pid"/>
  590. <col ref="drugno"/>
  591. <col ref="orddeptnm"/>
  592. <col ref="drugstatnm" format="yyyy-mm-dd hh:mm:ss"/>
  593. <col ref="rgstdm" format="yyyy-mm-dd hh:mm:ss"/>
  594. <col ref="appdt" format="yyyy-mm-dd hh:mm:ss"/>
  595. <col ref="sumdt" format="yyyy-mm-dd hh:mm:ss"/>
  596. <col ref="prntdt" format="yyyy-mm-dd hh:mm:ss" style="left:831px; top:23px; width:115px; height:23px; "/>
  597. <col ref="labelcompdt" format="yyyy-mm-dd hh:mm:ss"/>
  598. <col ref="waitmin" format="#,###" style="text-align:right; "/>
  599. <col ref="prcpdt" format="yyyy-mm-dd hh:mm:ss"/>
  600. <col ref="prcpidnm" format="yyyy-mm-dd hh:mm:ss"/>
  601. <col ref="drugdt" visibility="hidden"/>
  602. <col ref="drugidnm" visibility="hidden" format="yyyy-mm-dd hh:mm:ss"/>
  603. <col ref="stocdeptnm" visibility="hidden"/>
  604. <col ref="stocdt" visibility="hidden"/>
  605. <col ref="drugstat" visibility="hidden"/>
  606. <col ref="prcpid" visibility="hidden"/>
  607. <col ref="drugid" visibility="hidden"/>
  608. <col ref="drugdd" visibility="hidden"/>
  609. <col ref="ioflag" visibility="hidden"/>
  610. <col ref="instcd" visibility="hidden"/>
  611. <col ref="hosinhosoutflag" visibility="hidden"/>
  612. <col ref="stocdeptcd" visibility="hidden"/>
  613. <col ref="spcldrug" visibility="hidden"/>
  614. <script type="javascript" ev:event="onclick">
  615. <![CDATA[
  616. var row = grid_druglist.row;
  617. if (row == -1) row = 1;
  618. var drugdd = model.getValue("/root/main/masterinfo/druglist["+row+"]/drugdd");
  619. var drugno = model.getValue("/root/main/masterinfo/druglist["+row+"]/drugno");
  620. var ioflag = model.getValue("/root/main/masterinfo/druglist["+row+"]/ioflag");
  621. var spcldrug = model.getValue("/root/main/masterinfo/druglist["+row+"]/spcldrug");
  622. model.setValue("/root/send/srchdetlinfo/drugdd",drugdd);
  623. model.setValue("/root/send/srchdetlinfo/drugno",drugno);
  624. model.setValue("/root/send/srchdetlinfo/ioflag" ,ioflag);
  625. submit("TRADT20702");
  626. // setRowStyle("grd_detdruglist" , "6" , "true" , "ordrtnflag", "equal" );
  627. model.refresh();
  628. ]]>
  629. </script>
  630. <script type="javascript" ev:event="onaftersort">
  631. <![CDATA[
  632. // 소트 후 인스턴스 정리
  633. grid_druglist.gridToInstance(); // Sort 된 Grid 상의 Data 순서와 Instance Node 상의 Data 순서를 동일하게 맞춰준다.
  634. ]]>
  635. </script>
  636. </datagrid>
  637. <line id="line6" class="line_1" style="x1:0px; y1:107px; x2:975px; y2:107px; "/>
  638. <caption id="caption11" class="tit_2" style="left:0px; top:406px; width:144px; height:13px; ">처방상세</caption>
  639. <line id="line1" class="line_1" style="x1:0px; y1:420px; x2:975px; y2:420px; "/>
  640. <datagrid id="grd_detdruglist" nodeset="/root/main/detlinfo/detdruglist" caption="반환^약품코드^약품명^제형^1일수량^1회수량^횟수^일수^처방출력일시^조제완료일시^적용일시^등록번호^약번호^바코드^산제" colsep="^" colwidth="31, 80, 216, 47, 48, 48, 37, 36, 125, 119, 120, 86, 75, 100, 35" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:425px; width:975px; height:288px; ">
  641. <col ref="ordrtnflag" type="checkbox"/>
  642. <col ref="prcpcd"/>
  643. <col ref="drugnm"/>
  644. <col ref="drugtypenm"/>
  645. <col ref="prcpqty" style="text-align:right; "/>
  646. <col ref="prcpqty2" style="text-align:right; "/>
  647. <col ref="prcptims" style="text-align:right; "/>
  648. <col ref="prcpdayno" style="text-align:right; "/>
  649. <col ref="prntdt" format="yyyy-mm-dd hh:mm:ss"/>
  650. <col ref="prcpdt" format="yyyy-mm-dd hh:mm:ss"/>
  651. <col ref="sumdt" format="yyyy-mm-dd hh:mm:ss"/>
  652. <col ref="pid"/>
  653. <col ref="drugno"/>
  654. <col ref="bcno"/>
  655. <col ref="powdflag" type="checkbox"/>
  656. </datagrid>
  657. <caption id="caption12" class="tit_2" style="left:975px; top:92px; width:144px; height:14px; ">대기시간(분)</caption>
  658. <line id="line2" class="line_1" style="x1:979px; y1:107px; x2:1194px; y2:107px; "/>
  659. <caption id="caption2" class="cell_1" style="left:11px; top:80px; width:59px; height:23px; vertical-align:middle; ">조제완료</caption>
  660. <input id="ipt_bcno" ref="/root/send/srchinfo/srchbcno" class="input_search" imemode="alpha" style="left:75px; top:82px; width:115px; height:19px; ">
  661. <script type="javascript" ev:event="onkeyup">
  662. <![CDATA[
  663. var barcode = "";
  664. var drugstat = "";
  665. var ioflag = "";
  666. if(event.keyCode == "13") {
  667. setInputNodeCurText();
  668. barcode = model.getValue("/root/send/srchinfo/srchbcno");
  669. // 소리 나오기
  670. fNuCall("1");
  671. btn_sea.dispatch( "DOMActivate");
  672. // 외래데이터만 처리
  673. if (barcode.length > 1) {
  674. if(barcode.substr(0,1) == "M"){//마약전용처방전
  675. ioflag = barcode.substr(1,1);
  676. } else {// 일반 원내처방전
  677. ioflag = barcode.substr(0,1);
  678. }
  679. if (ioflag.toUpperCase() != "O") return;
  680. }
  681. // 바코드에 해당하는 데이터없음
  682. if (grid_druglist.rows == 0) {
  683. messageBox("처리할 데이터가 ","I004");
  684. return;
  685. }
  686. // 조제처리
  687. drugstat = model.getValue("/root/main/masterinfo/druglist[1]/drugstat");
  688. if (drugstat == "P" || drugstat == "ND") {
  689. fSubmitDrugStat("D");
  690. //window.children.item("SMADT01200").model.dispatch("xforms-ready");
  691. model.setFocus("ipt_bcno");
  692. } else if(barcode.substr(0,1) == "M") {
  693. //model.setValue("/root/send/req/dispcnts", "N");
  694. //model.setValue("/root/send/req/dispflag", "D");
  695. //model.setValue("/root/send/req/drugdd", model.getValue("/root/main/masterinfo/druglist[1]/drugdd"));
  696. //model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist[1]/drugno"));
  697. //model.setValue("/root/send/req/inputtm", getCurrentTime());
  698. //전광판 데이터
  699. //submit("TXADT00702");
  700. } else {
  701. //messageBox("처리할 데이터가 ","I004");
  702. }
  703. //전광판 데이터 전송
  704. if (grid_druglist.rows > 0) {
  705. //20110127_laboru
  706. model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist[1]/drugno"));
  707. fDrugnoDisp("D");
  708. }
  709. //바코드 스캔 반복가능하도록 focus 이동. 2011.9.8 jmkim
  710. model.setFocus("ipt_bcno", true);
  711. }
  712. //btn_sea.dispatch( "DOMActivate");
  713. ]]>
  714. </script>
  715. </input>
  716. <caption id="caption8" class="cell_1" style="left:385px; top:80px; width:55px; height:23px; text-align:center; vertical-align:middle; ">호출</caption>
  717. <input id="input1" ref="/root/send/callbarcode" class="input_search" imemode="alpha" style="left:445px; top:82px; width:115px; height:19px; ">
  718. <script type="javascript" ev:event="onkeyup">
  719. <![CDATA[
  720. var drugstat = "";
  721. var barcode = "";
  722. var drugdd = "";
  723. var drugno = "";
  724. var ioflag = "";
  725. if(event.keyCode == "13") {
  726. setInputNodeCurText();
  727. barcode = model.getValue("/root/send/callbarcode");
  728. if (barcode.length > 9) {
  729. ioflag = barcode.substr(0,1);
  730. drugdd = barcode.substr(1,8);
  731. drugno = barcode.substr(9,barcode.length-9);
  732. // 외래데이터만 처리
  733. if (ioflag.toUpperCase() != "O") {
  734. messageBox("외래처방이 아니므로 처리","E001");
  735. model.setValue("/root/send/callbarcode","");
  736. model.refresh();
  737. return;
  738. }
  739. }
  740. model.setValue("/root/send/req/drugdd",drugdd);
  741. model.setValue("/root/send/req/drugno",drugno);
  742. model.setValue("/root/send/req/ioflag" ,"O");
  743. model.setValue("/root/send/req/dispflag" ,"C");
  744. model.setValue("/root/send/req/inputtm" ,getCurrentTime());
  745. //전광판 데이터
  746. // submit("TXADT00702");
  747. model.setValue("/root/send/callbarcode","");
  748. model.refresh();
  749. /*
  750. // 바코드에 해당하는 데이터없음
  751. if (grid_druglist.rows == 0) {
  752. messageBox("처리할 데이터가 ","I004");
  753. return;
  754. }
  755. // 조제처리
  756. drugstat = model.getValue("/root/main/masterinfo/druglist[1]/drugstat");
  757. if (drugstat == "P" || drugstat == "ND") {
  758. fSubmitDrugStat("D");
  759. } else if (drugstat == "D") {
  760. fSubmitDrugStat("M");
  761. } else {
  762. messageBox("처리할 데이터가 ","I004");
  763. }*/
  764. window.children.item("SMADT01200").model.dispatch("xforms-ready");
  765. }
  766. ]]>
  767. </script>
  768. </input>
  769. <button id="btn_graph1" class="btn2_letter6" style="left:1105px; top:87px; width:86px; height:19px; ">
  770. <caption>텍스트로보기</caption>
  771. <script type="javascript" ev:event="DOMActivate">
  772. <![CDATA[
  773. // 타이머 설정
  774. if (gWaitDispType == "G") {
  775. if (gTimer == null) gTimer = window.setInterval("fDispWaitTime('G')",gInterval);
  776. } else if (gWaitDispType == "T") {
  777. if (gTimer != null) window.clearinterval(gTimer);
  778. gTimer = null;
  779. }
  780. // 조회
  781. fDispWaitTime(gWaitDispType);
  782. ]]>
  783. </script>
  784. </button>
  785. <object id="TChart_Time" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:980px; top:238px; width:215px; height:235px; "/>
  786. <object id="TChart_Tot" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:980px; top:112px; width:215px; height:120px; "/>
  787. <button id="button6" class="btn2_letter2" navindex="4" style="left:925px; top:85px; width:42px; height:19px; ">
  788. <caption>엑셀</caption>
  789. <script type="javascript" ev:event="onclick">
  790. <![CDATA[
  791. var file = window.fileDialog("save","","false","","xls","Excel Files(*.xls)|*.xls");
  792. grid_druglist.saveExcel(file);
  793. ]]>
  794. </script>
  795. </button>
  796. <input id="input3" ref="/root/send/srchinfo/srchbcno" class="input_search" imemode="alpha" style="left:264px; top:82px; width:115px; height:19px; ">
  797. <script type="javascript" ev:event="onkeyup">
  798. <![CDATA[
  799. var barcode = "";
  800. var drugstat = "";
  801. var ioflag = "";
  802. if(event.keyCode == "13") {
  803. setInputNodeCurText();
  804. barcode = model.getValue("/root/send/srchinfo/srchbcno");
  805. btn_sea.dispatch( "DOMActivate");
  806. // 외래데이터만 처리
  807. if (barcode.length > 1) {
  808. if(barcode.substr(0,1) == "M"){//마약전용처방전
  809. ioflag = barcode.substr(1,1);
  810. } else {
  811. ioflag = barcode.substr(0,1);
  812. }
  813. if (ioflag.toUpperCase() != "O") return;
  814. }
  815. // 바코드에 해당하는 데이터없음
  816. if (grid_druglist.rows == 0) {
  817. messageBox("처리할 데이터가 ","I004");
  818. return;
  819. }
  820. // 조제처리
  821. drugstat = model.getValue("/root/main/masterinfo/druglist[1]/drugstat");
  822. if (drugstat == "D") {
  823. fSubmitDrugStat("M");
  824. // window.children.item("SMADT01200").model.dispatch("xforms-ready");
  825. // model.setFocus("input3");
  826. model.setFocus("input3");
  827. } else if(barcode.substr(0,1) == "M") {
  828. //model.setValue("/root/send/req/dispflag", "M");
  829. //model.setValue("/root/send/req/drugdd", model.getValue("/root/main/masterinfo/druglist[1]/drugdd"));
  830. //model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist[1]/drugno"));
  831. //model.setValue("/root/send/req/inputtm", getCurrentTime());
  832. //전광판 데이터
  833. //submit("TXADT00702");
  834. } else{
  835. //messageBox("처리할 데이터가 ","I004");
  836. }
  837. //전광판 데이터 전송
  838. if (grid_druglist.rows > 0) {
  839. //20110127_laboru
  840. model.setValue("/root/send/req/drugno", model.getValue("/root/main/masterinfo/druglist[1]/drugno"));
  841. fDrugnoDisp("M");
  842. }
  843. //바코드 스캔 반복가능하도록 focus 이동. 2011.9.8 jmkim
  844. model.setFocus("input3", true);
  845. }
  846. //btn_sea.dispatch( "DOMActivate");
  847. ]]>
  848. </script>
  849. </input>
  850. <caption id="caption10" class="cell_1" style="left:200px; top:80px; width:59px; height:23px; vertical-align:middle; ">투약완료</caption>
  851. <input id="input2" ref="/root/send/srchinfo/srchdrugno" class="input_search" autonext="false" maxlength="10" format="9999999999" style="left:847px; top:83px; width:68px; height:19px; ">
  852. <script type="javascript" ev:event="onkeyup">
  853. <![CDATA[
  854. inputEnterKey("btn_sea","DOMActivate");
  855. ]]>
  856. </script>
  857. </input>
  858. <caption id="caption9" class="search_name" style="left:758px; top:85px; width:86px; height:17px; ">투약번호 :</caption>
  859. </group>
  860. </xhtml:body>
  861. </xhtml:html>