SMMNV12000_검사실전광판관리프로그램.xrw 100 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640
  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. <search>
  11. <orddd/>
  12. <centcd/>
  13. <orddeptcd/>
  14. <ordroomcd/>
  15. <globalinstance>
  16. <instance1/>
  17. </globalinstance>
  18. </search>
  19. <ordschelist>
  20. <ordschelistinfo>
  21. <chk/>
  22. <ordtm/>
  23. <pid/>
  24. <statenm/>
  25. <patnm/>
  26. <sexage/>
  27. <instcd/>
  28. <orddd/>
  29. <cretno/>
  30. <centcd/>
  31. <orddeptcd/>
  32. <subdeptcd/>
  33. <orddrid/>
  34. <ordrsrvtm/>
  35. </ordschelistinfo>
  36. <ordscheretelistinfo>
  37. <chk/>
  38. <ordtm/>
  39. <pid/>
  40. <statenm/>
  41. <patnm/>
  42. <sexage/>
  43. <instcd/>
  44. <orddd/>
  45. <cretno/>
  46. <centcd/>
  47. <orddeptcd/>
  48. <subdeptcd/>
  49. <orddrid/>
  50. </ordscheretelistinfo>
  51. <ordschereteendlistinfo>
  52. <chk/>
  53. <ordtm/>
  54. <pid/>
  55. <statenm/>
  56. <patnm/>
  57. <sexage/>
  58. <instcd/>
  59. <orddd/>
  60. <cretno/>
  61. <centcd/>
  62. <orddeptcd/>
  63. <subdeptcd/>
  64. <orddrid/>
  65. </ordschereteendlistinfo>
  66. <ordinfoschelistinfo>
  67. <chk/>
  68. <ordtm/>
  69. <pid/>
  70. <statenm/>
  71. <patnm/>
  72. <sexage/>
  73. <instcd/>
  74. <orddd/>
  75. <cretno/>
  76. <centcd/>
  77. <orddeptcd/>
  78. <subdeptcd/>
  79. <orddrid/>
  80. </ordinfoschelistinfo>
  81. <ordentroomlistinfo>
  82. <chk/>
  83. <ordtm/>
  84. <pid/>
  85. <statenm/>
  86. <patnm/>
  87. <sexage/>
  88. <instcd/>
  89. <orddd/>
  90. <cretno/>
  91. <centcd/>
  92. <orddeptcd/>
  93. <subdeptcd/>
  94. <orddrid/>
  95. </ordentroomlistinfo>
  96. <ordroomscheinfo>
  97. <centcd/>
  98. <orddeptcd/>
  99. <subdeptcd/>
  100. <orddd/>
  101. <ordroomnm/>
  102. <ordflag/>
  103. <orddrid/>
  104. <orddrnm/>
  105. <ordnurid/>
  106. <ordnurnm/>
  107. <msg/>
  108. <msgfromtm/>
  109. <msgtotm/>
  110. <delytm/>
  111. <status/>
  112. </ordroomscheinfo>
  113. <msgrgstinfo>
  114. <msgfromtm/>
  115. <msgtotm/>
  116. <delytm/>
  117. <msg/>
  118. <msgflag/>
  119. </msgrgstinfo>
  120. </ordschelist>
  121. </main>
  122. <send>
  123. <savedata/>
  124. <reqdata/>
  125. <removedata/>
  126. </send>
  127. <init>
  128. <cmb_info>
  129. <suppdeptlist>
  130. <suppdept>
  131. <suppdeptcd/>
  132. <depthngnm/>
  133. </suppdept>
  134. </suppdeptlist>
  135. <excuroomcdlist>
  136. <excuroom>
  137. <basecd/>
  138. <basecdflagdesc/>
  139. </excuroom>
  140. </excuroomcdlist>
  141. </cmb_info>
  142. </init>
  143. <hidden>
  144. <cond>
  145. <condwait/>
  146. </cond>
  147. <msgrgst>
  148. <msgfromtm/>
  149. <msgtotm/>
  150. <msg/>
  151. <status/>
  152. </msgrgst>
  153. </hidden>
  154. <temp>
  155. <popmenu>
  156. <menu>
  157. <name>보류</name>
  158. <func>fOrdPatWaitRete</func>
  159. </menu>
  160. </popmenu>
  161. <popmenu2>
  162. <menu>
  163. <name>대기</name>
  164. <func>fOrdPatWait</func>
  165. </menu>
  166. </popmenu2>
  167. <popmenu3>
  168. <menu>
  169. <name>입실</name>
  170. <func>fOrdRoomEnter</func>
  171. </menu>
  172. <menu>
  173. <name>보류</name>
  174. <func>fOrdInfoPatWaitRete</func>
  175. </menu>
  176. </popmenu3>
  177. <popmenu4>
  178. <menu>
  179. <name>퇴실</name>
  180. <func>fOrdRoomOut</func>
  181. </menu>
  182. </popmenu4>
  183. <popmenu5>
  184. <menu>
  185. <name>대기</name>
  186. <func>fOrdPatEndWait</func>
  187. </menu>
  188. </popmenu5>
  189. </temp>
  190. <cond>
  191. <con/>
  192. </cond>
  193. <chkvalue>
  194. <chk/>
  195. </chkvalue>
  196. </root>
  197. </instance>
  198. <script type="javascript" ev:event="xforms-ready">
  199. <![CDATA[
  200. fInit();
  201. ]]>
  202. </script>
  203. <submission id="TRZSD00208" mediatype="application/x-www-form-urlencoded" method="urlencoded-post" replace="instance"/>
  204. <submission id="TRZSU10118" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  205. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  206. <submission id="TRPMOCOM01" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/session" replace="instance" resultref="/root/init"/>
  207. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init_com/init"/>
  208. <submission id="TRPMO00305" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/enrcomncode"/>
  209. <submission id="TRPMO00304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/rcv"/>
  210. <submission id="TRAEA00902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cmb_info/excuroomcdlist"/>
  211. <submission id="TRAEA00903" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cmb_info/execridlist"/>
  212. <submission id="TRAEA00904" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cmb_info/suppdeptlist"/>
  213. <submission id="TRMNV12001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ordschelist"/>
  214. <submission id="TXMNV12001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  215. <submission id="TXMNV12002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  216. <submission id="TXMNV12003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  217. <submission id="TXMNV12004" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  218. </model>
  219. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  220. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  221. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  222. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  223. <script type="javascript" src="../../.S./com/commonweb/js/numericHelper.js"/>
  224. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  225. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  226. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  227. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  228. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  229. <script type="javascript">
  230. <![CDATA[
  231. function fInit()
  232. {
  233. var CurrentDate = getCurrentDate();
  234. model.makeValue("/root/main/search/orddd",CurrentDate);
  235. model.makeValue("/root/hidden/cond/condwait","1"); // 진료예정 대기로 디폴트 값 셋팅
  236. grd_ordschereteendlistinfo.visible=false;
  237. model.removeNodeset("/root/main/ordschelist");
  238. submit("TRAEA00904", false); //지원부서
  239. //var userid=getUserInfo("userid");
  240. //var dutplcecd=getUserInfo("dutplcecd");
  241. model.refresh();
  242. }
  243. function fOrdScheList() //검사 대기 환자 리스트 조회한다.
  244. {
  245. model.removeNodeset("/root/send/reqdata");
  246. model.makeNode("/root/send/reqdata");
  247. model.copyNode("/root/send/reqdata","/root/main/search");
  248. if(submit("TRMNV12001")==true)
  249. {
  250. fOrdRoomInfrWaitPat(); // 진료대기예정자 리스트의 상위2명을 진료실 앞 대기 환자로 셋팅해주는 함수
  251. var msgstatus=model.getValue("/root/main/ordschelist/msgrgstinfo/msgstatus");
  252. if(!isNull(msgstatus)) // 공지사항이 존재 할때 필요한 노드에 카피 (상태값 u일때)
  253. {
  254. model.copyNode("/root/hidden/msgrgst","/root/main/ordschelist/msgrgstinfo");
  255. }
  256. else
  257. {
  258. model.resetInstanceNode("/root/hidden/msgrgst");
  259. }
  260. }
  261. model.refresh();
  262. }
  263. function fOrdRoomInfrWaitPat()// 진료대기예정자 리스트의 상위2명을 진료실 앞 대기 환자로 셋팅해주는 함수
  264. {
  265. if(grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows>0)
  266. {
  267. model.removeNodeset("/root/main/ordschelist/ordinfoschelistinfo");
  268. for(i=1;i<=2;i++)
  269. {
  270. var pid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/pid");
  271. var orddd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddd");
  272. var cretno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/cretno");
  273. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvtm");
  274. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddrid");
  275. var orddeptcd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd");
  276. var patnm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/patnm");
  277. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvseqno");
  278. var sexage=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/sexage");
  279. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/pid",pid);
  280. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/orddd",orddd);
  281. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/cretno",cretno);
  282. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/ordrsrvtm",ordrsrvtm);
  283. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/ordrsrvseqno",ordrsrvseqno);
  284. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/orddrid",orddrid);
  285. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/orddeptcd",orddeptcd);
  286. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/patnm",patnm);
  287. model.makeValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+i+"]/sexage",sexage);
  288. }
  289. }
  290. }
  291. function fOrdRetePatList() // 진료보류 및 완료 리스트의 환자 중 보류 환자만 보류환자 리스트로 셋팅해주는 함수
  292. {
  293. var idxrow=grd_ordschereteendlistinfo.rows;
  294. var fixrow=grd_ordschereteendlistinfo.fixedRows;
  295. var j=1; //보류및 완료 리스트에서 보류환자 갯수만 셀 변수
  296. if(idxrow-fixrow>0)
  297. {
  298. model.removeNodeset("/root/main/ordschelist/ordscheretelistinfo");
  299. for(i=1;i<=idxrow-fixrow;i++)
  300. {
  301. var status=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/status");
  302. if(status=='1B'||status=='2B') //보류 환자 인것만 노드 만들어 copy한다
  303. {
  304. var pid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/pid");
  305. var orddd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/orddd");
  306. var cretno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/cretno");
  307. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/ordrsrvtm");
  308. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/ordrsrvseqno");
  309. var orddrid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/orddrid");
  310. var orddeptcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/orddeptcd");
  311. var patnm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/patnm");
  312. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/ordrsrvtm");
  313. var sexage=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/sexage");
  314. var ordtm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/ordtm");
  315. var elbulbodstat=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/elbulbodstat"); // otpt전광판상태
  316. var status=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+i+"]/status");
  317. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/pid",pid);
  318. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/orddd",orddd);
  319. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/cretno",cretno);
  320. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/ordtm",ordtm);
  321. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/ordrsrvtm",ordrsrvtm);
  322. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/ordrsrvseqno",ordrsrvseqno);
  323. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/orddrid",orddrid);
  324. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/orddeptcd",orddeptcd);
  325. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/patnm",patnm);
  326. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/sexage",sexage);
  327. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/elbulbodstat",elbulbodstat);
  328. model.makeValue("/root/main/ordschelist/ordscheretelistinfo"+"["+j+"]/status",status);
  329. j=j+1;
  330. }
  331. }
  332. }
  333. }
  334. function fOrdPatWaitRete() // 진료대기 예정자 리스트에서 보류 버튼 클릭시 보류 상태로 변하는 함수
  335. {
  336. var idxRow=grd_ordschelistinfo.row;
  337. var idxfixRows=grd_ordschelistinfo.fixedRows;
  338. var idxRows=grd_ordschelistinfo.rows;
  339. var chkCount=0;
  340. for(i=1;i<=idxRows-idxfixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  341. {
  342. var chkFlag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chk");
  343. if(chkFlag=='1')
  344. {
  345. chkCount=chkCount+1;
  346. }
  347. }
  348. if(idxRow<=0 && chkCount=='0') // 체크가 안되어 있으면서 그리드 밖을 클릭시
  349. {
  350. messageBox("환자를 선택","I008");
  351. return;
  352. }
  353. if(chkCount!='0')
  354. {
  355. fOrdPaitReteToWait(); // 여러개 체크시 보류 멀티 저장함수 태운다.
  356. return;
  357. }
  358. var pid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/pid");
  359. var orddd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddd");
  360. var cretno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/cretno");
  361. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  362. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  363. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddrid");
  364. var orddeptcd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddeptcd");
  365. model.makeValue("/root/send/savedata/pid",pid);
  366. model.makeValue("/root/send/savedata/orddd",orddd);
  367. model.makeValue("/root/send/savedata/cretno",cretno);
  368. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  369. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  370. model.makeValue("/root/send/savedata/patstat",'B'); //보류B로 저장
  371. model.makeValue("/root/send/savedata/orddrid",orddrid);
  372. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  373. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  374. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  375. {
  376. messageBox("처리가","I002");
  377. fOrdScheList();
  378. }
  379. model.refresh();
  380. }
  381. function fOrdPatWait() //보류환자 대기 상태로 셋팅
  382. {
  383. var idxRow=grd_ordscheretelistinfo.row;
  384. var idxfixRows=grd_ordscheretelistinfo.fixedRows;
  385. var idxfixRows=grd_ordscheretelistinfo.fixedRows;
  386. var idxRows=grd_ordscheretelistinfo.rows;
  387. var chkCount=0;
  388. for(i=1;i<=idxRows-idxfixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  389. {
  390. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  391. if(chkFlag=='1')
  392. {
  393. chkCount=chkCount+1;
  394. }
  395. }
  396. if(idxRow<=0 && chkCount=='0') // 체크가 안되어 있으면서 그리드 밖을 클릭시
  397. {
  398. messageBox("환자를 선택","I008");
  399. return;
  400. }
  401. if(chkCount!='0')
  402. {
  403. fOrdPatWaitToRete(); // 여러개 체크시 여러명 보류 환자 대기로 보내는 저장함수 태운다.
  404. return;
  405. }
  406. var pid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/pid");
  407. var orddd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddd");
  408. var cretno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/cretno");
  409. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvtm");
  410. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  411. var orddrid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddrid");
  412. var orddeptcd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddeptcd");
  413. var ordroomcd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordroomcd");
  414. var status=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/status");
  415. var updttm=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/updttm");
  416. //alert(status);
  417. model.makeValue("/root/send/savedata/pid",pid);
  418. model.makeValue("/root/send/savedata/orddd",orddd);
  419. model.makeValue("/root/send/savedata/cretno",cretno);
  420. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  421. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  422. model.makeValue("/root/send/savedata/patstat",'D'); //대기 D로 저장
  423. model.makeValue("/root/send/savedata/orddrid",orddrid);
  424. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  425. model.makeValue("/root/send/savedata/ordroomcd",ordroomcd);
  426. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  427. model.makeValue("/root/send/savedata/status",status);
  428. model.makeValue("/root/send/savedata/updttm",updttm); //변경 시간
  429. //alert(model.getValue("/root/send/savedata/status"));
  430. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  431. {
  432. messageBox("처리가","I002");
  433. fOrdScheList();
  434. }
  435. model.refresh();
  436. }
  437. function fOrdPatEndWait() //보류완료환자 대기 상태로 셋팅
  438. {
  439. var idxRow=grd_ordschereteendlistinfo.row;
  440. if(idxRow<0)
  441. {
  442. messageBox("환자를 선택","I008");
  443. return;
  444. }
  445. var pid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/pid");
  446. var orddd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddd");
  447. var cretno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/cretno");
  448. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/ordrsrvtm");
  449. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/ordrsrvseqno");
  450. var orddrid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddrid");
  451. var orddeptcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddeptcd");
  452. var ordroomcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/ordroomcd");
  453. var centcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/centcd");
  454. var status=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/status"); //상태값
  455. /*
  456. if(status=='1C'||status=='2C'||status=='2-'||status=='2A')
  457. { //진료실 퇴실 후 완료 환자가 대기 상태로 갈경우 가장 끝으로 데이터 보내준다.
  458. var lastordrsrvtm=parseInt(ordrsrvtm)+parseInt(5000);
  459. model.makeValue("/root/send/savedata/ordrsrvtm",lastordrsrvtm);
  460. //model.makeValue("/root/send/savedata/ordrsrvseqno",'0000');
  461. }
  462. else
  463. {*/
  464. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  465. //}
  466. //alert(model.getValue("/root/send/savedata/ordrsrvtm"));
  467. model.makeValue("/root/send/savedata/pid",pid);
  468. model.makeValue("/root/send/savedata/orddd",orddd);
  469. model.makeValue("/root/send/savedata/cretno",cretno);
  470. model.makeValue("/root/send/savedata/patstat",'D'); //대기 D로 저장
  471. model.makeValue("/root/send/savedata/orddrid",orddrid);
  472. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  473. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  474. model.makeValue("/root/send/savedata/ordroomcd",ordroomcd);
  475. model.makeValue("/root/send/savedata/centcd",centcd);
  476. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  477. model.makeValue("/root/send/savedata/endflag","Y"); // 완료보류일때 대기
  478. model.makeValue("/root/send/savedata/status",status); // 완료보류일때 대기
  479. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  480. {
  481. messageBox("처리가","I002");
  482. fOrdScheList();
  483. }
  484. model.refresh();
  485. }
  486. function fOrdRoomEnter() // 진료앞 대기 환자 진료실 입실
  487. {
  488. var idxEntRow=grd_ordentroomlistinfo.rows; // 들어오실분 리스트
  489. var idxfixedRow=grd_ordentroomlistinfo.fixedRows;
  490. var i=idxEntRow-idxfixedRow;
  491. var idxRow=grd_ordinfoschelistinfo.row; //선택한 행
  492. //alert(idxRow);
  493. if(idxRow=='2') //진료실 앞 대기 환자 리스트 2번째 환자는 입실시키지 못하도록 한다.
  494. {
  495. messageBox("입실할 환자의 우선순위를","I007");
  496. return;
  497. }
  498. if(idxEntRow-idxfixedRow>0) //들어오실 분 내역이 아직 존재할때
  499. {
  500. var patstat=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+i+"]/patstat");
  501. if(patstat=='A')
  502. {
  503. messageBox("검사가 완료될 때까지 기다려 주십시요. 검사실 퇴실도 ","I006");
  504. return;
  505. }
  506. /*
  507. else if(status=='2E')
  508. {
  509. messageBox("진료실 퇴실을 먼저","I008");
  510. return;
  511. }
  512. */
  513. }
  514. var idxRow=grd_ordinfoschelistinfo.row;
  515. var pid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/pid");
  516. var orddd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddd");
  517. var cretno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/cretno");
  518. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  519. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  520. var orddrid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddrid");
  521. var orddeptcd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddeptcd");
  522. var elbulbodstat=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/elbulbodstat");
  523. //var status=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/status");
  524. model.makeValue("/root/send/savedata/pid",pid);
  525. model.makeValue("/root/send/savedata/orddd",orddd);
  526. model.makeValue("/root/send/savedata/cretno",cretno);
  527. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  528. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  529. //model.makeValue("/root/send/savedata/status",status);
  530. //if(elbulbodstat=='2') //otpt 전광판 상태 "완료" 일때
  531. //{
  532. // model.makeValue("/root/send/savedata/patstat",'E'); //진료실 입실상태 E(재입실)로 저장
  533. //}
  534. //else if(elbulbodstat=='1') //otpt 전광판 상태 "대기" 일때
  535. //{
  536. model.makeValue("/root/send/savedata/patstat",'A'); //진료실 입실상태 A(입실)로 저장
  537. //}
  538. model.makeValue("/root/send/savedata/orddrid",orddrid);
  539. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  540. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  541. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 입실상태로 update
  542. {
  543. messageBox("처리가","I002");
  544. fOrdScheList();
  545. }
  546. model.refresh();
  547. }
  548. function fOrdRoomOut() //진료실 퇴실 함수
  549. {
  550. var idxRow=grd_ordentroomlistinfo.row;
  551. var pid=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/pid");
  552. var orddd=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddd");
  553. var cretno=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/cretno");
  554. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/ordrsrvtm");
  555. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/ordrsrvseqno");
  556. var orddrid=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddrid");
  557. var orddeptcd=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddeptcd");
  558. var status=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/status");
  559. //alert(status);
  560. model.makeValue("/root/send/savedata/pid",pid);
  561. model.makeValue("/root/send/savedata/orddd",orddd);
  562. model.makeValue("/root/send/savedata/cretno",cretno);
  563. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  564. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  565. model.makeValue("/root/send/savedata/patstat",'C'); //퇴실 C로 저장
  566. model.makeValue("/root/send/savedata/orddrid",orddrid);
  567. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  568. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  569. model.makeValue("/root/send/savedata/status",status);
  570. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 퇴실인 환자 update
  571. {
  572. messageBox("처리가","I002");
  573. fOrdScheList();
  574. }
  575. model.refresh();
  576. }
  577. function fOrdInfoPatWaitRete() // 진료실앞 대기환자에서 보류 상태 클릭시 발생하는 함수
  578. {
  579. var idxRow=grd_ordinfoschelistinfo.row;
  580. var pid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/pid");
  581. var orddd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddd");
  582. var cretno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/cretno");
  583. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  584. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  585. var orddrid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddrid");
  586. var orddeptcd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddeptcd");
  587. //var ordroomcd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordroomcd");
  588. if(isNull(pid))
  589. {
  590. messageBox("처리할 환자가","I004");
  591. return;
  592. }
  593. model.makeValue("/root/send/savedata/pid",pid);
  594. model.makeValue("/root/send/savedata/orddd",orddd);
  595. model.makeValue("/root/send/savedata/cretno",cretno);
  596. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  597. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  598. model.makeValue("/root/send/savedata/patstat",'B'); //보류B로 저장
  599. model.makeValue("/root/send/savedata/orddrid",orddrid);
  600. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  601. //model.makeValue("/root/send/savedata/ordroomcd",ordroomcd);
  602. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  603. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  604. {
  605. messageBox("처리가","I002");
  606. fOrdScheList();
  607. }
  608. model.refresh();
  609. }
  610. function fSetMenuGroupSeq(toSeq, type) // 순서 변경 함수
  611. {
  612. var isSeq = grd_ordschelistinfo.row; //클릭한 로우
  613. var fixRow = grd_ordschelistinfo.fixedRows;
  614. //alert("isSeq"+isSeq);
  615. //alert("fix"+fixRow);
  616. if(isSeq > 0){ // 클릭한 로우가 존재할 때
  617. var srcSeq = (isSeq > toSeq) ? isSeq+1 : isSeq; //클릭한 행과 이동할 행을 비교하여 클릭한 행이 클 때는
  618. grd_ordschelistinfo.insertRow(toSeq, type, false); // 이동할 위치에 행을 하나 삽입한다.
  619. model.copyNode("/root/main/ordschelist/ordschelistinfo["+grd_ordschelistinfo.row+"]", "/root/main/ordschelist/ordschelistinfo["+srcSeq+"]");
  620. // alert("srcSeq위치에행을삭제한다"+srcSeq);
  621. grd_ordschelistinfo.deleteRow(srcSeq, false);
  622. if(isSeq > toSeq){
  623. startRow = toSeq;
  624. endRow = isSeq;
  625. grd_ordschelistinfo.row = startRow; //위로 올릴때 포커스는 시작점
  626. //alert("start"+startRow);
  627. if(isSeq==startRow) // 순서 위로 변경시 변경한 순서와 처음 순서가 같을 때
  628. {
  629. model.makeValue("/root/chkvalue/chk","Y");
  630. //alert("위"+model.getValue("/root/chkvalue/chk"));
  631. }
  632. }else{
  633. startRow = isSeq;
  634. endRow = toSeq;
  635. grd_ordschelistinfo.row = endRow; //밑으로 내릴 때 포커스는 끝나는점
  636. //alert("end"+endRow);
  637. if(isSeq==endRow) // 순서 밑으로 변경시 변경한 순서와 처음 순서가 같을 때
  638. {
  639. model.makeValue("/root/chkvalue/chk","Y");
  640. //alert("아래"+model.getValue("/root/chkvalue/chk"));
  641. }
  642. }
  643. model.refresh();
  644. }else{
  645. messageBox("변경할 메뉴그룹을","C002");
  646. }
  647. }
  648. function fOrdPatWaitSeqChng() //대기환자 순서 변경 함수
  649. {
  650. var idxRows=grd_ordschelistinfo.rows;
  651. var idxFixRows=grd_ordschelistinfo.fixedRows;
  652. var idxRow=grd_ordschelistinfo.row; //클릭한 행 반환
  653. var upRow=idxRow-1; //클릭한 행 윗 행
  654. var downRow=idxRow+1; //클릭한 행 아래 행
  655. if(rdo_condwait.value=='2') //보류 환자 선택시
  656. {
  657. messageBox("순서 변경은 대기 환자만","I006");
  658. return;
  659. }
  660. if(idxRows-idxFixRows=='0') //조회된 행이 없을 때
  661. {
  662. messageBox("환자 리스트가","I004");
  663. return;
  664. }
  665. if(idxRow<0) // 환자 선택하지 않았을때
  666. {
  667. messageBox("순서 변경할 환자를 선택","I008");
  668. return;
  669. }
  670. if(idxRow<3) //최상위 3명 환자의 순서는 변경할 수 없다.
  671. {
  672. messageBox("상위 2명 환자의 순서는 변경할수","E001");
  673. return;
  674. }
  675. if(model.getValue("/root/chkvalue/chk")=="Y") //순서가 변경되지 않았을 때
  676. {
  677. messageBox("순서 변경 유무를","I007");
  678. return;
  679. }
  680. var idxordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/updttm");
  681. var upordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+upRow+"]/updttm");
  682. var downordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+downRow+"]/updttm");
  683. var idxordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  684. var upordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+upRow+"]/ordrsrvseqno");
  685. var downordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+downRow+"]/ordrsrvseqno");
  686. //alert(upordrsrvseqno+".."+upordrsrvseqno+".."+downordrsrvseqno);
  687. /*
  688. if(upordrsrvseqno=='0000'&& downordrsrvseqno=='0000')
  689. {
  690. model.makeValue("/root/send/savedata/ordrsrvseqno",'5000');
  691. //alert('5000');
  692. }
  693. else if(upordrsrvseqno>downordrsrvseqno)
  694. {
  695. model.makeValue("/root/send/savedata/ordrsrvseqno",(parseInt(10000)+parseInt(upordrsrvseqno))/2);
  696. //alert("1:"+upordrsrvseqno+".."+parseInt(upordrsrvseqno)+".."+(parseInt(10000)+parseInt(upordrsrvseqno))+".."+(parseInt(10000)+parseInt(upordrsrvseqno))/2);
  697. }
  698. else if(upordrsrvseqno<downordrsrvseqno)
  699. {
  700. model.makeValue("/root/send/savedata/ordrsrvseqno",(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))/2);
  701. //alert(upordrsrvseqno+downordrsrvseqno);
  702. //alert("2:"+(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))+".."+(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))/2);
  703. }
  704. */
  705. if(upordrsrvtm==downordrsrvtm)
  706. {
  707. var midseqno=(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))/2;
  708. var subordrsrvseqno=Math.round(midseqno);
  709. //alert(subordrsrvseqno);
  710. model.makeValue("/root/send/savedata/ordrsrvseqno",subordrsrvseqno);
  711. }
  712. else
  713. {
  714. var midseqno2=(parseInt(10000)+parseInt(upordrsrvseqno))/2;
  715. //var subordrsrvseqno=round(midseqno2,0);
  716. var subordrsrvseqno=Math.round(midseqno2);
  717. //alert(subordrsrvseqno);
  718. model.makeValue("/root/send/savedata/ordrsrvseqno",subordrsrvseqno);
  719. //alert(upordrsrvseqno+downordrsrvseqno);
  720. //alert("2:"+(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))+".."+(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))/2);
  721. //model.makeValue("/root/send/savedata/ordrsrvseqno",(parseInt(10000)+parseInt(upordrsrvseqno))/2);
  722. }
  723. var pid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/pid");
  724. var orddd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddd");
  725. var cretno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/cretno");
  726. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddrid");
  727. var orddeptcd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddeptcd");
  728. var patstat=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/patstat");
  729. // alert(idxRow+"idxrow"+pid+"pid"+orddd+"orddd"+cretno+"cretno"+orddrid+"orddrid"+orddeptcd+"orddeptcd"+patstat+"patstat");
  730. model.makeValue("/root/send/savedata/updttm",upordrsrvtm);
  731. model.makeValue("/root/send/savedata/pid",pid);
  732. model.makeValue("/root/send/savedata/orddd",orddd);
  733. model.makeValue("/root/send/savedata/cretno",cretno);
  734. model.makeValue("/root/send/savedata/orddrid",orddrid);
  735. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  736. model.makeValue("/root/send/savedata/patstat","D"); //환자 대기 상태로 셋팅
  737. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  738. if(submit("TXMNV12004")==true)
  739. {
  740. messageBox("순서변경이","I002");
  741. fOrdScheList();
  742. model.removeNodeset("/root/chkvalue/chk"); //체크값 리셋
  743. }
  744. model.refresh();
  745. }
  746. function fOrdRoomScheSave() // 외래 진료실 일정 등록 함수
  747. {
  748. var centcd=model.getValue("/root/hidden/con/centcd");
  749. var orddeptcd =model.getValue("/root/hidden/con/orddeptcd");
  750. var subdeptcd=model.getValue("/root/hidden/con/subdeptcd");
  751. var orddrid=model.getValue("/root/hidden/con/orddrid");
  752. var ordnurnm=model.getValue("/root/hidden/con/ordnurnm");
  753. var chrgempid =model.getValue("/root/hidden/con/chrgempid");
  754. var ordroomcd=model.getValue("/root/hidden/con/ordroomcd");
  755. var ordflag=model.getValue("/root/hidden/con/ordflag");
  756. var orddd=model.getValue("/root/hidden/con/orddd");
  757. if(isNull(orddd))
  758. {
  759. messageBox("진료일자는","I003");
  760. model.setFocus("ipt_orddd");
  761. return;
  762. }
  763. if(isNull(ordroomcd))
  764. {
  765. messageBox("진료실명은","I003");
  766. model.setFocus("cmb_ordroomcd");
  767. return;
  768. }
  769. if(isNull(ordflag))
  770. {
  771. messageBox("진료구분은","I003");
  772. model.setFocus("rdo_ordflag");
  773. return;
  774. }
  775. if(isNull(orddrid))
  776. {
  777. messageBox("담당의는","I003");
  778. model.setFocus("cmb_orddrid");
  779. return;
  780. }
  781. if(isNull(chrgempid))
  782. {
  783. messageBox("담당직원은","I003");
  784. model.setFocus("cmb_chrgempid");
  785. return;
  786. }
  787. if(isNull(centcd))
  788. {
  789. model.makeValue("/root/hidden/con/centcd","-");
  790. }
  791. if(isNull(orddeptcd))
  792. {
  793. model.makeValue("/root/hidden/con/orddeptcd","-");
  794. }
  795. if(isNull(centcd)&&isNull(orddeptcd))
  796. {
  797. messageBox("센터나 진료과 둘 중 하나는","I003");
  798. model.setFocus("cmb_centcd");
  799. }
  800. if(isNull(subdeptcd))
  801. {
  802. model.makeValue("/root/hidden/con/subdeptcd","-");
  803. }
  804. model.makeValue("/root/hidden/con/msgflag","O"); //외래 진료실 일정 등록 구분 플래그 O , 공지사항 등록 구분 플래그 M
  805. model.copyNode("/root/send/savedata","/root/hidden/con");
  806. if(submit("TXMNV07002")==true)
  807. {
  808. messageBox("외래 진료실 일정 처리가","I002");
  809. fOrdScheList(); //조회
  810. }
  811. model.resetInstanceNode("/root/hidden/con/msgflag");
  812. }
  813. function fOrdDridSet() //진료과 선택시 세부진료과, 담당의, 담당직원 조회
  814. {
  815. model.resetInstanceNode("/root/main/search/subdeptcd");
  816. model.resetInstanceNode("/root/hidden/con/orddrid");
  817. model.resetInstanceNode("/root/hidden/con/chrgempid");
  818. model.makeValue("/root/hidden/con/basedd",model.getValue("/root/hidden/con/orddd")); //기준일자는 진료일자
  819. model.copyNode("/root/send/reqdata","/root/hidden/con");
  820. submit("TRMNV07001");
  821. model.refresh();
  822. }
  823. function fOrdRoomMsgSave() //공지사항 등록 함수
  824. {
  825. var msgfromtm=model.getValue("/root/hidden/msgrgst/msgfromtm");
  826. var msgtotm=model.getValue("/root/hidden/msgrgst/msgtotm");
  827. var orddd=model.getValue("/root/main/search/orddd");
  828. var orddeptcd=model.getValue("/root/main/search/orddeptcd");
  829. var ordroomcd=model.getValue("/root/main/search/ordroomcd");
  830. if(isNull(msgfromtm))
  831. {
  832. messageBox("공지사항 표시시간은","I003");
  833. model.setFocus("ipt_msgfromtm");
  834. return;
  835. }
  836. if(isNull(msgtotm))
  837. {
  838. messageBox("공지사항 표시시간은","I003");
  839. model.setFocus("ipt_msgtotm");
  840. return;
  841. }
  842. if(msgfromtm>msgtotm)
  843. {
  844. messageBox("시작시간이 종료시간보다 클 수는","I004");
  845. model.setFocus("ipt_msgfromtm");
  846. return;
  847. }
  848. if(isNull(orddeptcd))
  849. {
  850. messageBox("지원부서는","I003");
  851. model.setFocus("ipt_orddeptcd");
  852. return;
  853. }
  854. else
  855. {
  856. model.makeValue("/root/send/savedata/orddeptcd",model.getValue("/root/main/search/orddeptcd"));
  857. }
  858. if(isNull(ordroomcd))
  859. {
  860. messageBox("검사치료실은","I003");
  861. model.setFocus("ipt_ordroomcd");
  862. return;
  863. }
  864. else
  865. {
  866. model.makeValue("/root/send/savedata/ordroomcd",model.getValue("/root/main/search/ordroomcd"));
  867. }
  868. model.makeValue("/root/send/savedata/centcd","-");
  869. model.makeValue("/root/send/savedata/subdeptcd","-");
  870. model.makeValue("/root/send/savedata/orddd",orddd);
  871. model.makeValue("/root/send/savedata/msg",model.getValue("/root/hidden/msgrgst/msg"));
  872. model.makeValue("/root/send/savedata/msgfromtm",model.getValue("/root/hidden/msgrgst/msgfromtm"));
  873. model.makeValue("/root/send/savedata/msgtotm",model.getValue("/root/hidden/msgrgst/msgtotm"));
  874. model.makeValue("/root/send/savedata/status",model.getValue("/root/hidden/msgrgst/status"));
  875. if(submit("TXMNV12003")==true)
  876. {
  877. messageBox("검사실 공지사항 처리가","I002");
  878. fOrdScheList(); //조회
  879. }
  880. model.resetInstanceNode("/root/hidden/msgrgst/status");
  881. model.refresh();
  882. }
  883. function fOrdPaitReteToWait()// // 대기환자 여러 명 보류로 보내는 함수
  884. {
  885. var idxRow=grd_ordschelistinfo.rows;
  886. var idxRows=grd_ordschelistinfo.fixedRows;
  887. var chkCount=0;
  888. var chkdata = 'chk'
  889. + '▦pid'
  890. + '▦orddd'
  891. + '▦cretno'
  892. + '▦ordrsrvtm'
  893. + '▦ordrsrvseqno'
  894. + '▦orddrid'
  895. + '▦orddeptcd'
  896. + '▦patstat'
  897. + '▦dspflag'
  898. + '▩' ;
  899. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  900. {
  901. var chkFlag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chk");
  902. if(chkFlag=='1')
  903. {
  904. chkdata+= chkFlag
  905. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/pid")
  906. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddd")
  907. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/cretno")
  908. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvtm")
  909. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvseqno")
  910. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddrid")
  911. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd")
  912. + '▦' +'B' //환자 상태 보류 B로 저장
  913. + '▦' +'T' //외래 플래그 O로 저장
  914. + '▩' ;
  915. chkCount=chkCount+1;
  916. }
  917. }
  918. if(chkCount=='0')
  919. {
  920. messageBox("보류 시킬 환자를 대기 리스트에서 선택","I008");
  921. return;
  922. }
  923. model.removeNodeset("/root/send/savedata");
  924. model.makeNode("/root/send/savedata");
  925. model.makeValue("/root/main/cond/chkdata",chkdata);
  926. //alert(model.getValue("/root/main/cond/chkdata"));
  927. model.copyNode("/root/send/savedata","/root/main/cond");
  928. //alert(model.getValue("/root/send/savedata"));
  929. //alert(model.getValue("/root/send/savedata"));
  930. if(submit("TXMNV12002")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  931. {
  932. messageBox("처리가","I002");
  933. fOrdScheList();
  934. }
  935. model.refresh();
  936. }
  937. function fOrdPatWaitToRete() // 보류 환자 대기 상태로 멀티 저장하는 함수
  938. {
  939. var idxRow=grd_ordscheretelistinfo.rows;
  940. var idxRows=grd_ordscheretelistinfo.fixedRows;
  941. var chkCount=0;
  942. var chkdata = 'chk'
  943. + '▦pid'
  944. + '▦orddd'
  945. + '▦cretno'
  946. + '▦ordrsrvtm'
  947. + '▦ordrsrvseqno'
  948. + '▦orddrid'
  949. + '▦orddeptcd'
  950. + '▦ordroomcd'
  951. + '▦centcd'
  952. + '▦patstat'
  953. + '▦dspflag'
  954. + '▩' ;
  955. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  956. {
  957. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  958. if(chkFlag=='1')
  959. {
  960. chkdata+= chkFlag
  961. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/pid")
  962. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddd")
  963. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/cretno")
  964. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvtm")
  965. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvseqno")
  966. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddrid")
  967. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddeptcd")
  968. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordroomcd")
  969. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/centcd")
  970. + '▦' +'D' //환자 상태 대기 D로 저장
  971. + '▦' +'T' //검사 플래그 T로 저장
  972. + '▩' ;
  973. chkCount=chkCount+1;
  974. }
  975. }
  976. if(chkCount=='0')
  977. {
  978. messageBox("대기시킬 환자를 보류 리스트에서 선택","I008");
  979. return;
  980. }
  981. model.removeNodeset("/root/send/savedata");
  982. model.makeNode("/root/send/savedata");
  983. model.makeValue("/root/main/cond/chkdata",chkdata); //임시 노드 con/chkdata에 저장
  984. model.copyNode("/root/send/savedata","/root/main/cond");
  985. if(submit("TXMNV12002")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  986. {
  987. messageBox("처리가","I002");
  988. fOrdScheList();
  989. }
  990. model.refresh();
  991. }
  992. function fOrdAutoRoomOut() //자동 퇴실 함수
  993. {
  994. var idxEntRow=grd_ordentroomlistinfo.rows; // 들어오실분 리스트
  995. var idxfixedRow=grd_ordentroomlistinfo.fixedRows;
  996. var i=idxEntRow-idxfixedRow;
  997. var idxRow=grd_ordinfoschelistinfo.row; //대기 환자 리스트
  998. var idxRows=grd_ordinfoschelistinfo.rows;
  999. var fixRow=grd_ordinfoschelistinfo.fixedRows;
  1000. if(idxEntRow-idxfixedRow=='0')
  1001. {
  1002. messageBox("입실한 환자가","I004");
  1003. return;
  1004. }
  1005. /*
  1006. if(idxEntRow-idxfixedRow>0) //들어오실 분 내역이 아직 존재할때
  1007. {
  1008. var patstat=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+i+"]/patstat");
  1009. if(patstat=='A')
  1010. {
  1011. messageBox("검사가 완료될 때까지 기다려 주십시요. 검사실 퇴실도 ","I006");
  1012. return;
  1013. }
  1014. } */
  1015. var idxRow=1;
  1016. var pid=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/pid");
  1017. var orddd=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddd");
  1018. var cretno=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/cretno");
  1019. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/ordrsrvtm");
  1020. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/ordrsrvseqno");
  1021. var orddrid=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddrid");
  1022. var orddeptcd=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/orddeptcd");
  1023. var elbulbodstat=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+idxRow+"]/elbulbodstat");
  1024. model.makeValue("/root/send/savedata/pid",pid);
  1025. model.makeValue("/root/send/savedata/orddd",orddd);
  1026. model.makeValue("/root/send/savedata/cretno",cretno);
  1027. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  1028. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  1029. model.makeValue("/root/send/savedata/patstat",'C'); //퇴실 플래그 저장
  1030. model.makeValue("/root/send/savedata/orddrid",orddrid);
  1031. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  1032. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  1033. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 입실상태로 update
  1034. {
  1035. messageBox("처리가","I002");
  1036. fOrdScheList();
  1037. }
  1038. model.refresh();
  1039. }
  1040. function fAutoRoomEnter() // 자동입실 함수
  1041. {
  1042. var idxEntRow=grd_ordentroomlistinfo.rows; // 들어오실분 리스트
  1043. var idxfixedRow=grd_ordentroomlistinfo.fixedRows;
  1044. var i=idxEntRow-idxfixedRow;
  1045. var idxRow=grd_ordinfoschelistinfo.row; //선택한 행
  1046. var idxRows=grd_ordinfoschelistinfo.rows;
  1047. var fixRow=grd_ordinfoschelistinfo.fixedRows;
  1048. if(idxRows-fixRow=='0')
  1049. {
  1050. messageBox("조회된 환자 리스트가","I004");
  1051. return;
  1052. }
  1053. /*
  1054. if(idxRow=='2') //진료실 앞 대기 환자 리스트 2번째 환자는 입실시키지 못하도록 한다.
  1055. {
  1056. messageBox("입실할 환자의 우선순위를","I007");
  1057. return;
  1058. }
  1059. */
  1060. if(idxEntRow-idxfixedRow>0) //들어오실 분 내역이 아직 존재할때
  1061. {
  1062. var patstat=model.getValue("/root/main/ordschelist/ordentroomlistinfo"+"["+i+"]/patstat");
  1063. if(patstat=='A')
  1064. {
  1065. messageBox("검사가 완료될 때까지 기다려 주십시요. 검사실 퇴실도 ","I006");
  1066. return;
  1067. }
  1068. }
  1069. var idxRow=1;
  1070. var pid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/pid");
  1071. var orddd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddd");
  1072. var cretno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/cretno");
  1073. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  1074. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  1075. var orddrid=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddrid");
  1076. var orddeptcd=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/orddeptcd");
  1077. var elbulbodstat=model.getValue("/root/main/ordschelist/ordinfoschelistinfo"+"["+idxRow+"]/elbulbodstat");
  1078. model.makeValue("/root/send/savedata/pid",pid);
  1079. model.makeValue("/root/send/savedata/orddd",orddd);
  1080. model.makeValue("/root/send/savedata/cretno",cretno);
  1081. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  1082. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  1083. model.makeValue("/root/send/savedata/patstat",'A'); //입실 플래그 저장
  1084. model.makeValue("/root/send/savedata/orddrid",orddrid);
  1085. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  1086. model.makeValue("/root/send/savedata/dspflag","T"); //진료구분 (O - 외래, T-검사)';
  1087. if(submit("TXMNV12001")==true) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 입실상태로 update
  1088. {
  1089. messageBox("처리가","I002");
  1090. fOrdScheList();
  1091. }
  1092. model.refresh();
  1093. }
  1094. ]]>
  1095. </script>
  1096. </xhtml:head>
  1097. <xhtml:body guideline="2,733;1,1388;1,1192;1,1192;1,1194;1,1193;1,1194;1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1098. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; "/>
  1099. <group id="group3" scroll="auto" style="left:0px; top:10px; width:1195px; height:720px; ">
  1100. <caption id="caption12" class="tit_2" style="left:426px; top:87px; width:144px; height:13px; ">입실환자</caption>
  1101. <line id="line5" class="line_1" style="x1:422px; y1:102px; x2:835px; y2:102px; "/>
  1102. <caption id="caption2" class="tit_2" style="left:426px; top:453px; width:118px; height:13px; ">공지사항</caption>
  1103. <caption id="caption13" class="tit_2" style="left:426px; top:246px; width:136px; height:13px; ">대기 환자</caption>
  1104. <textarea id="tx_msg" ref="/root/hidden/msgrgst/msg" navindex="8" maxlength="4000" style="left:422px; top:479px; width:413px; height:171px; "/>
  1105. <group id="grp_sea" style="left:0px; top:0px; width:1194px; height:70px; vertical-align:top; ">
  1106. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:20px; width:1194px; height:45px; "/>
  1107. <button id="button1" class="btn1_letter2" style="left:1059px; top:32px; width:56px; height:22px; ">
  1108. <caption>조회</caption>
  1109. <script type="javascript" ev:event="DOMActivate">
  1110. <![CDATA[
  1111. fOrdScheList()
  1112. ]]>
  1113. </script>
  1114. </button>
  1115. <caption id="caption1" class="search_name" style="left:18px; top:31px; width:90px; height:17px; ">업무일자 :</caption>
  1116. <line id="line3" class="line_4" style="x1:1049px; y1:25px; x2:1049px; y2:58px; "/>
  1117. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:129px; height:14px; ">검사실 전광판 관리</caption>
  1118. <input id="ipt_orddd" ref="/root/main/search/orddd" class="input_search" navindex="4" inputtype="date" style="left:110px; top:31px; width:85px; height:19px; "/>
  1119. <caption id="caption3" class="search_name" style="left:213px; top:33px; width:86px; height:17px; text-align:left; background-image:../../../com/commonweb/images/search_bullet1.gif; ">지원부서 :</caption>
  1120. <select1 id="cmb_orddeptcd" ref="/root/main/search/orddeptcd" class="combo_search" appearance="minimal" style="left:302px; top:32px; width:173px; height:19px; ">
  1121. <choices>
  1122. <itemset nodeset="/root/init/cmb_info/suppdeptlist/suppdept">
  1123. <label ref="depthngnm"/>
  1124. <value ref="suppdeptcd"/>
  1125. </itemset>
  1126. </choices>
  1127. <script type="javascript" ev:event="xforms-value-changed">
  1128. <![CDATA[
  1129. model.removeNodeset("/root/send");
  1130. model.makeValue("/root/send/globalinstance/instance1", model.getValue("/root/main/search/orddeptcd"));
  1131. model.makeValue("/root/send/ordroomcd", "");
  1132. model.resetInstanceNode("/root/main/search/ordroomcd");
  1133. submit("TRAEA00902", false);
  1134. model.refresh();
  1135. ]]>
  1136. </script>
  1137. </select1>
  1138. <caption id="caption5" class="search_name" style="left:485px; top:33px; width:106px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">검사/치료실 :</caption>
  1139. <select1 id="cmb_ordroomcd" ref="/root/main/search/ordroomcd" class="combo_search" appearance="minimal" editmode="inputsearch" style="left:593px; top:32px; width:162px; height:19px; ">
  1140. <choices>
  1141. <itemset nodeset="/root/init/cmb_info/excuroomcdlist/excuroom">
  1142. <label ref="basecdflagdesc"/>
  1143. <value ref="basecd"/>
  1144. </itemset>
  1145. </choices>
  1146. <script type="javascript" ev:event="xforms-value-changed">
  1147. <![CDATA[
  1148. model.resetInstanceNode("/root/hidden/msgrgst");
  1149. model.refresh();
  1150. fOrdScheList(); //조회 함수
  1151. ]]>
  1152. </script>
  1153. </select1>
  1154. </group>
  1155. <caption id="caption16" class="tit_2" style="left:2px; top:87px; width:130px; height:13px; ">예정자리스트</caption>
  1156. <datagrid id="grd_ordschelistinfo" nodeset="/root/main/ordschelist/ordschelistinfo" scroll="auto" caption="선택^예약시간^등록번호^환자상태^환자명^S/A^종료시간^회의제목" colsep="^" colwidth="42, 55, 77, 57, 89, 51" dataheight="25" extendlastcol="scroll" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:107px; width:410px; height:606px; ">
  1157. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  1158. <col disabled="true" ref="ordrsrvtm" format="hh:nn" style="text-align:center; "/>
  1159. <col ref="pid" style="text-align:center; "/>
  1160. <col ref="statenm" style="text-align:center; "/>
  1161. <col ref="patnm" style="text-align:left; "/>
  1162. <col ref="sexage" style="text-align:left; "/>
  1163. <script type="javascript" ev:event="onmousedown">
  1164. <![CDATA[
  1165. if(grd_ordschelistinfo.isCell(event.target) && grd_ordschelistinfo.mouseRow >= grd_ordschelistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  1166. {
  1167. window.setPopupMenu(true,"/root/temp/popmenu/menu","name","func",false);
  1168. // fOrdPatWaitRete
  1169. }
  1170. else
  1171. {
  1172. window.setPopupMenu(false);
  1173. }
  1174. ]]>
  1175. </script>
  1176. </datagrid>
  1177. <script type="javascript" ev:event="ondayselect">
  1178. <![CDATA[
  1179. model.setFocus("ipt_fromtm");
  1180. ]]>
  1181. </script>
  1182. <datagrid id="grd_ordscheretelistinfo" nodeset="/root/main/ordschelist/ordscheretelistinfo" caption="선택^예약시간^등록번호^환자명^S/A" colsep="^" colwidth="42, 59, 66, 86, 43" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:870px; top:106px; width:322px; height:606px; ">
  1183. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  1184. <col checkvalue="1,0" ref="ordrsrvtm" format="hh:nn" style="text-align:center; "/>
  1185. <col ref="pid" style="left:20px; top:23px; width:98px; height:18px; text-align:center; "/>
  1186. <col ref="patnm"/>
  1187. <col ref="sexage"/>
  1188. <script type="javascript" ev:event="onmousedown">
  1189. <![CDATA[
  1190. if(grd_ordscheretelistinfo.isCell(event.target) && grd_ordscheretelistinfo.mouseRow >= grd_ordscheretelistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  1191. {
  1192. window.setPopupMenu(true,"/root/temp/popmenu2/menu","name","func",false);
  1193. // fOrdPatWait
  1194. }
  1195. else
  1196. {
  1197. window.setPopupMenu(false);
  1198. }
  1199. ]]>
  1200. </script>
  1201. </datagrid>
  1202. <caption id="caption20" class="tit_2" style="left:873px; top:87px; width:74px; height:13px; ">보류 환자</caption>
  1203. <line id="line14" class="line_1" style="x1:0px; y1:102px; x2:410px; y2:102px; "/>
  1204. <line id="line1" class="line_1" style="x1:422px; y1:474px; x2:835px; y2:474px; "/>
  1205. <line id="line8" class="line_1" style="x1:871px; y1:103px; x2:1188px; y2:102px; "/>
  1206. <line id="line7" class="line_1" style="x1:422px; y1:261px; x2:835px; y2:261px; "/>
  1207. <datagrid id="grd_ordentroomlistinfo" nodeset="/root/main/ordschelist/ordentroomlistinfo" scroll="auto" caption="예약시간^등록번호^환자명^S/A^종료시간^회의제목" colsep="^" colwidth="75, 92, 148, 58" dataheight="25" extendlastcol="scroll" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:422px; top:107px; width:413px; height:107px; ">
  1208. <col disabled="true" ref="ordrsrvtm" format="hh:nn" style="text-align:center; "/>
  1209. <col disabled="true" ref="pid"/>
  1210. <col ref="patnm" style="text-align:center; "/>
  1211. <col ref="sexage"/>
  1212. <script type="javascript" ev:event="onmousedown">
  1213. <![CDATA[
  1214. if(grd_ordentroomlistinfo.isCell(event.target) && grd_ordentroomlistinfo.mouseRow >= grd_ordentroomlistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  1215. {
  1216. window.setPopupMenu(true,"/root/temp/popmenu4/menu","name","func",false);
  1217. // fOrdRoomOut
  1218. }
  1219. else
  1220. {
  1221. window.setPopupMenu(false);
  1222. }
  1223. ]]>
  1224. </script>
  1225. </datagrid>
  1226. <datagrid id="grd_ordinfoschelistinfo" nodeset="/root/main/ordschelist/ordinfoschelistinfo" scroll="auto" caption="예약시간^등록번호^환자명^S/A^종료시간^회의제목" colsep="^" colwidth="79, 88, 148, 62" dataheight="25" extendlastcol="scroll" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:422px; top:265px; width:413px; height:177px; ">
  1227. <col disabled="true" ref="ordrsrvtm" format="hh:nn" style="text-align:center; "/>
  1228. <col ref="pid" style="left:99px; top:23px; width:88px; height:23px; text-align:center; "/>
  1229. <col ref="patnm" style="text-align:left; "/>
  1230. <col ref="sexage" style="text-align:left; "/>
  1231. <script type="javascript" ev:event="onmousedown">
  1232. <![CDATA[
  1233. if(grd_ordinfoschelistinfo.isCell(event.target) && grd_ordinfoschelistinfo.mouseRow >= grd_ordinfoschelistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  1234. {
  1235. window.setPopupMenu(true,"/root/temp/popmenu3/menu","name","func",false);
  1236. // fOrdRoomEnter
  1237. //alert("sss");
  1238. //window.setPopupMenu(true,"/root/temp/popmenu4/menu","name","func",false);
  1239. }
  1240. else
  1241. {
  1242. window.setPopupMenu(false);
  1243. }
  1244. ]]>
  1245. </script>
  1246. <script type="javascript" ev:event="onmousedown">
  1247. <![CDATA[
  1248. //window.setPopupMenu(true,"/root/temp/popmenu/menu","name","func",false);
  1249. ]]>
  1250. </script>
  1251. </datagrid>
  1252. <button id="button2" class="icon_right" style="left:839px; top:189px; width:26px; height:19px; ">
  1253. <caption/>
  1254. <script type="javascript" ev:event="onclick">
  1255. <![CDATA[
  1256. fOrdPaitReteToWait()// 대기환자 여러 명 보류로 보내는 함수
  1257. ]]>
  1258. </script>
  1259. </button>
  1260. <button id="button4" class="icon_left" style="left:839px; top:234px; width:26px; height:19px; ">
  1261. <caption/>
  1262. <script type="javascript" ev:event="onclick">
  1263. <![CDATA[
  1264. fOrdPatWaitToRete(); //보류 환자 대기로 보내는 함수
  1265. ]]>
  1266. </script>
  1267. </button>
  1268. <select1 id="rdo_condwait" ref="/root/hidden/cond/condwait" overflow="visible" appearance="full" cols="5" style="left:99px; top:85px; width:140px; height:20px; font-weight:bold; border-style:none; ">
  1269. <choices>
  1270. <item>
  1271. <label>대기</label>
  1272. <value>1</value>
  1273. </item>
  1274. <item>
  1275. <label>퇴실(완료)</label>
  1276. <value>2</value>
  1277. </item>
  1278. </choices>
  1279. <script type="javascript" ev:event="xforms-value-changed">
  1280. <![CDATA[
  1281. var condwait=model.getValue("/root/hidden/cond/condwait");
  1282. //alert(rdo_condwait.value);
  1283. if(condwait=='1') // 대기일때
  1284. {
  1285. grd_ordschelistinfo.visible=true;
  1286. grd_ordschereteendlistinfo.visible=false;
  1287. }
  1288. else // 보류일때
  1289. {
  1290. //submit("TRMNV07004"); //진료예정자 보류 리스트 조회
  1291. grd_ordschelistinfo.visible=false;
  1292. grd_ordschereteendlistinfo.visible=true;
  1293. }
  1294. model.refresh();
  1295. ]]>
  1296. </script>
  1297. </select1>
  1298. <datagrid id="grd_ordschereteendlistinfo" nodeset="/root/main/ordschelist/ordschereteendlistinfo" scroll="auto" caption="선택^예약시간^등록번호^환자상태^환자명^S/A^종료시간^회의제목" colsep="^" colwidth="42, 55, 76, 57, 89, 53" dataheight="25" extendlastcol="scroll" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:107px; width:410px; height:606px; ">
  1299. <col checkvalue="1,0" ref="chk" type="checkbox" visibility="hidden"/>
  1300. <col ref="ordrsrvtm" format="hh:nn" style="text-align:center; "/>
  1301. <col ref="pid" style="text-align:center; "/>
  1302. <col ref="statenm" style="text-align:center; "/>
  1303. <col ref="patnm" style="left:250px; top:23px; width:89px; height:23px; text-align:left; "/>
  1304. <col ref="sexage" style="left:339px; top:23px; width:53px; height:23px; text-align:left; "/>
  1305. <script type="javascript" ev:event="onmousedown">
  1306. <![CDATA[
  1307. if(grd_ordschereteendlistinfo.isCell(event.target) && grd_ordschereteendlistinfo.mouseRow >= grd_ordschereteendlistinfo.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  1308. {
  1309. window.setPopupMenu(true,"/root/temp/popmenu5/menu","name","func",false);
  1310. // fOrdPatEndWait
  1311. }
  1312. else
  1313. {
  1314. window.setPopupMenu(false);
  1315. }
  1316. ]]>
  1317. </script>
  1318. </datagrid>
  1319. <input id="ipt_msgfromtm" ref="/root/hidden/msgrgst/msgfromtm" format="nn:ss" style="left:585px; top:658px; width:57px; height:19px; "/>
  1320. <caption id="caption10" style="left:670px; top:659px; width:25px; height:20px; font-weight:bold; ">~</caption>
  1321. <input id="ipt_msgtotm" ref="/root/hidden/msgrgst/msgtotm" format="nn:ss" style="left:711px; top:658px; width:57px; height:19px; "/>
  1322. <shape id="roundrect2" class="roundrect_example" appearance="roundrect" style="left:422px; top:654px; width:413px; height:28px; "/>
  1323. <caption id="cpt_voluntrflag" class="cell_1" style="left:425px; top:658px; width:135px; height:20px; font-size:10pt; font-weight:bold; vertical-align:middle; ">공지사항 표시시간</caption>
  1324. <button id="button7" class="icon_top" style="left:234px; top:81px; width:26px; height:19px; ">
  1325. <caption/>
  1326. <script type="javascript" ev:event="DOMActivate">
  1327. <![CDATA[
  1328. if(rdo_condwait.value=='2') //보류 환자 선택시
  1329. {
  1330. messageBox("순서 변경은 대기 환자만","I006");
  1331. return;
  1332. }
  1333. if(grd_ordschelistinfo.row<0)
  1334. {
  1335. messageBox("환자를 선택","I008");
  1336. return;
  1337. }
  1338. if(grd_ordschelistinfo.row > 3)
  1339. {
  1340. fSetMenuGroupSeq("3", "above");
  1341. }
  1342. else
  1343. {
  1344. messageBox("상위 2명 환자의 순서는 변경할수","E001");
  1345. }
  1346. ]]>
  1347. </script>
  1348. <hint>
  1349. <![CDATA[맨위로]]>
  1350. </hint>
  1351. </button>
  1352. <button id="button8" class="icon_bottom" style="left:318px; top:81px; width:26px; height:19px; ">
  1353. <caption/>
  1354. <script type="javascript" ev:event="DOMActivate">
  1355. <![CDATA[
  1356. if(rdo_condwait.value=='2') //보류 환자 선택시
  1357. {
  1358. messageBox("순서 변경은 대기 환자만","I006");
  1359. return;
  1360. }
  1361. if(grd_ordschelistinfo.row<0)
  1362. {
  1363. messageBox("환자를 선택","I008");
  1364. return;
  1365. }
  1366. if(grd_ordschelistinfo.row < 3)
  1367. {
  1368. messageBox("상위 2명 환자의 순서는 변경할수","E001");
  1369. return;
  1370. }
  1371. else
  1372. {
  1373. if( grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows > grd_ordschelistinfo.row )
  1374. {
  1375. fSetMenuGroupSeq(grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows, "below");
  1376. }
  1377. else
  1378. {
  1379. messageBox("최하위 메뉴그룹이","E005");
  1380. }
  1381. }
  1382. ]]>
  1383. </script>
  1384. <hint>
  1385. <![CDATA[맨아래로]]>
  1386. </hint>
  1387. </button>
  1388. <button id="btn_to_down" class="icon_bottom_direction" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:290px; top:81px; width:26px; height:19px; ">
  1389. <caption/>
  1390. <script type="javascript" ev:event="DOMActivate">
  1391. <![CDATA[
  1392. if(rdo_condwait.value=='2') //보류 환자 선택시
  1393. {
  1394. messageBox("순서 변경은 대기 환자만","I006");
  1395. return;
  1396. }
  1397. if(grd_ordschelistinfo.row<0)
  1398. {
  1399. messageBox("환자를 선택","I008");
  1400. return;
  1401. }
  1402. if(grd_ordschelistinfo.row < 3)
  1403. {
  1404. messageBox("상위 2명 환자의 순서는 변경할수","E001");
  1405. return;
  1406. }
  1407. else
  1408. {
  1409. if( grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows > grd_ordschelistinfo.row )
  1410. {
  1411. fSetMenuGroupSeq(grd_ordschelistinfo.row+1, "below");
  1412. }
  1413. else
  1414. {
  1415. messageBox("최하위 메뉴그룹이","E005");
  1416. }
  1417. }
  1418. // fChgIdxSetPrcpRefInfo("down");
  1419. ]]>
  1420. </script>
  1421. <hint>
  1422. <![CDATA[아래로]]>
  1423. </hint>
  1424. </button>
  1425. <button id="button9" class="icon_top_direction" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:262px; top:81px; width:26px; height:19px; ">
  1426. <caption/>
  1427. <script type="javascript" ev:event="DOMActivate">
  1428. <![CDATA[
  1429. if(rdo_condwait.value=='2') //보류 환자 선택시
  1430. {
  1431. messageBox("순서 변경은 대기 환자만","I006");
  1432. return;
  1433. }
  1434. if(grd_ordschelistinfo.row<0)
  1435. {
  1436. messageBox("환자를 선택","I008");
  1437. return;
  1438. }
  1439. if(grd_ordschelistinfo.row > 3)
  1440. {
  1441. fSetMenuGroupSeq(grd_ordschelistinfo.row-1, "above");
  1442. }
  1443. else
  1444. {
  1445. messageBox("상위 2명 환자의 순서는 변경할수","E001");
  1446. }
  1447. ]]>
  1448. </script>
  1449. <hint>
  1450. <![CDATA[위로]]>
  1451. </hint>
  1452. </button>
  1453. <button id="button12" class="btn2_letter4" style="left:346px; top:81px; width:64px; height:19px; font-weight:bold; ">
  1454. <caption>순서변경</caption>
  1455. <script type="javascript" ev:event="DOMActivate">
  1456. <![CDATA[
  1457. fOrdPatWaitSeqChng();
  1458. ]]>
  1459. </script>
  1460. </button>
  1461. <button id="button6" class="btn4_letter2" style="left:718px; top:448px; width:56px; height:22px; ">
  1462. <caption>저장</caption>
  1463. <script type="javascript" ev:event="DOMActivate">
  1464. <![CDATA[
  1465. fOrdRoomMsgSave();
  1466. ]]>
  1467. </script>
  1468. </button>
  1469. <button id="button3" class="btn4_letter2" style="left:778px; top:448px; width:56px; height:22px; ">
  1470. <caption>삭제</caption>
  1471. <script type="javascript" ev:event="DOMActivate">
  1472. <![CDATA[
  1473. model.makeValue("/root/hidden/msgrgst/status","D");
  1474. fOrdRoomMsgSave();
  1475. ]]>
  1476. </script>
  1477. </button>
  1478. <button id="button13" class="btn4_letter2" style="left:720px; top:76px; width:56px; height:22px; ">
  1479. <caption>입실</caption>
  1480. <script type="javascript" ev:event="DOMActivate">
  1481. <![CDATA[
  1482. fAutoRoomEnter(); //지동입실 함수
  1483. ]]>
  1484. </script>
  1485. </button>
  1486. <button id="button14" class="btn4_letter2" style="left:779px; top:76px; width:56px; height:22px; ">
  1487. <caption>퇴실</caption>
  1488. <script type="javascript" ev:event="DOMActivate">
  1489. <![CDATA[
  1490. fOrdAutoRoomOut(); //자동 퇴실 함수
  1491. ]]>
  1492. </script>
  1493. </button>
  1494. </group>
  1495. <group id="group5" ref="/root/hidden/con/msg" scroll="auto" style="left:0px; top:734px; width:1195px; height:36px; "/>
  1496. <line id="line4" class="line_3" style="x1:3px; y1:728px; x2:1194px; y2:728px; "/>
  1497. </xhtml:body>
  1498. </xhtml:html>