SMCFA00200_입원예약현황.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * Name : SMCFA00200_입원예약현황
  4. * Summary : 입원예약현황
  5. * Programmer : 엄윤호
  6. * Date Written : 2007.07.09
  7. * History : 2007.07.09, 2008/06/12:박원희 수정작업, 오류수정 및 기타작업
  8. * Remark :
  9. * 2008/06/12 : 입원예약은 사용자 요구사항에 있었으나 강남의 경우에는 입원예약 SMS는 민감한 문제임(병실부족),따라서 원무팀에서 판단하에 개발적 전송을 하는게 맞음
  10. * 본 pgm을 통해 입원예약SMS를 확인할수 있고 전체를 대상으로 SMS제외 혹은 선별적으로 전송할 수 있게 구성하는게 바람직함
  11. -->
  12. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  13. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  14. <xhtml:head>
  15. <xhtml:title>입원 예약현황</xhtml:title>
  16. <model id="model1">
  17. <instance id="instance1">
  18. <root xmlns="">
  19. <main>
  20. <list>
  21. <rsrvlist/>
  22. </list>
  23. </main>
  24. <send>
  25. <srch>
  26. <infromdd/>
  27. <intodd/>
  28. <orddept/>
  29. <orddr/>
  30. <inrsrvflag/>
  31. <pid/>
  32. <patnm/>
  33. <assgward/>
  34. <trsmstat/>
  35. <recvrtelno/>
  36. </srch>
  37. <rsrvlist/>
  38. <rsrvrule>
  39. <rsrvflag>2</rsrvflag>
  40. </rsrvrule>
  41. </send>
  42. <init>
  43. <comncdlist>
  44. <P0017list/>
  45. <P0039list/>
  46. <C0019list/>
  47. </comncdlist>
  48. <basecdlist>
  49. <orddeptlist/>
  50. <wardlist/>
  51. <orddrlist>
  52. <usercombo/>
  53. </orddrlist>
  54. </basecdlist>
  55. <rsrvrule>
  56. <delivedd/>
  57. <delivetm/>
  58. <msglrgcd/>
  59. <msgmdlcd/>
  60. <msgsmlcd/>
  61. <msgcnts/>
  62. </rsrvrule>
  63. </init>
  64. <temp>
  65. <result/>
  66. <trsmstat/>
  67. </temp>
  68. <hidden>
  69. <zsu>
  70. <userlist/>
  71. </zsu>
  72. </hidden>
  73. </root>
  74. </instance>
  75. <script type="javascript" ev:event="xforms-ready">
  76. <![CDATA[
  77. // P0017: 입원예약상태, P0039: 입원구분, C0019: 전송상태
  78. zbcfGetCodeList(new Array("P0017","P0039","C0019"),
  79. new Array("/root/init/comncdlist/P0017list","/root/init/comncdlist/P0039list","/root/init/comncdlist/C0019list"));
  80. var instcd = getUserInfo("dutplceinstcd");
  81. var standard_yn = "orduseyn";
  82. var ord_deptflag = "D"; // 외래진료과
  83. var rslt_ref = "/root/init/basecdlist/orddeptlist";
  84. //zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  85. var ord_deptflag = "W"; // 병동
  86. var rslt_ref = "/root/init/basecdlist/wardlist";
  87. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  88. submit("TRCRB00104");
  89. submit("TRCFA00102"); // 예약주기관리(발송일, 발송 메시지)
  90. var delive_dd = model.getValue("/root/init/rsrvrule/delivedd");
  91. var rsrv_dd = getCurrentDate().toDate().getAddDate(parseInt(delive_dd), "D").getDateFormat("YYYYMMDD");
  92. model.setValue("/root/send/srch/infromdd", rsrv_dd);
  93. model.setValue("/root/send/srch/intodd", rsrv_dd);
  94. addComboItemAll( "cmb_trsmstat|cmb_orddept|cmb_orddr|cmb_wardcd");
  95. fCheckAuth();
  96. fInitRsrvList();
  97. model.refresh();
  98. ]]>
  99. </script>
  100. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  101. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  102. <submission id="TRZSU10105" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" add="top"/>
  103. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post"/>
  104. <submission id="TRCRB00104" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/init/basecdlist/orddeptlist"/>
  105. <submission id="TRCFA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/main/list/rsrvlist"/>
  106. <submission id="TXCFA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvlist" resultref="/root/temp/result"/>
  107. <submission id="TRCFA00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rsrvrule" resultref="/root/init/rsrvrule"/>
  108. </model>
  109. <script type="javascript" src="../../../crm/crmweb/js/CCZ001.js"/>
  110. <script type="javascript" src="../../../crm/reserveweb/js/CFZ001.js"/>
  111. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  112. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  113. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  114. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  115. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  116. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  117. <script type="javascript">
  118. <![CDATA[
  119. function fCheckAuth() {
  120. // 권한체크
  121. if (!checkAuth("r")) {
  122. btn_search.disabled=true;
  123. }
  124. if (!checkAuth("x")) {
  125. btn_save.disabled=true;
  126. btn_trsmstat.disabled=true;
  127. btn_sms.disabled=true;
  128. btn_email.disabled=true;
  129. btn_cmpn.disabled=true;
  130. }
  131. if (!checkAuth("p")) {
  132. btn_saveexcel.disabled = true;
  133. }
  134. }
  135. function fInitRsrvList() {
  136. // 그리드 초기화
  137. model.removeNodeset("/root/main/list/rsrvlist");
  138. //grd_rsrvlist.clearStatus();
  139. //grd_rsrvlist.colStyle(1, "data","background-image") = "../../../com/commonweb/images/icon_n.gif";
  140. //model.refresh();
  141. }
  142. function fSaveRsrvList() {
  143. // 예약메시지 전송에서 제외한 목록 저장
  144. var grid = grd_rsrvlist;
  145. var updt_list = getGridUpdateData(grid);
  146. if (updt_list != "") {
  147. model.setValue("/root/send/rsrvlist", grid.getUpdateData());
  148. }
  149. if (submit("TXCFA00201")) {
  150. grid.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  151. grid.colStyle(1, "data","background-image") = "../../../com/commonweb/images/icon_n.gif";
  152. //model.setValue("/root/send/rsrvlist","");
  153. messageBox("전송상태 저장이","I002");
  154. }
  155. }
  156. ]]>
  157. </script>
  158. </xhtml:head>
  159. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  160. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  161. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">입원 예약 전송 관리</caption>
  162. </group>
  163. <group id="group2" style="left:0px; top:23px; width:1194px; height:60px; vertical-align:top; ">
  164. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:59px; "/>
  165. <caption id="caption3" class="search_name" style="left:16px; top:9px; width:86px; height:17px; ">예약일자 :</caption>
  166. <input id="ipt_ordfromdd" ref="/root/send/srch/infromdd" class="input_search" inputtype="date" style="left:108px; top:8px; width:120px; height:19px; "/>
  167. <caption id="caption4" class="search_no_b" style="left:233px; top:9px; width:12px; height:17px; ">~</caption>
  168. <input id="ipt_ordtodd" ref="/root/send/srch/intodd" class="input_search" inputtype="date" style="left:248px; top:8px; width:120px; height:19px; "/>
  169. <caption id="caption5" class="search_name" style="left:391px; top:9px; width:86px; height:17px; ">진료과 :</caption>
  170. <select1 id="cmb_orddept" ref="/root/send/srch/orddept" class="combo_search" appearance="minimal" style="left:470px; top:8px; width:145px; height:19px; ">
  171. <choices>
  172. <itemset nodeset="/root/init/basecdlist/orddeptlist">
  173. <label ref="depthngnm"/>
  174. <value ref="deptcd"/>
  175. </itemset>
  176. </choices>
  177. <script type="javascript" ev:event="xforms-value-changed">
  178. <![CDATA[
  179. model.resetInstanceNode("/root/hidden/zsu/userlist/user");
  180. var dutplceinstcd = getGlobalVariable("dutplceinstcd");
  181. var deptcd = model.getValue("/root/send/srch/orddept");
  182. var basedd = getCurrentDate();
  183. if (model.getValue("/root/send/srch/orddept") == "") {
  184. model.makeValue("/root/hidden/zsu/userlist", "");
  185. } else {
  186. zsufGetInOrdDeptDoctorList(dutplceinstcd, deptcd, "/root/hidden/zsu/userlist", "usernm", "asc", basedd);
  187. }
  188. //zsufGetUserInfoCombo(deptcd, "/root/hidden/zsu/userlist","_D");
  189. addComboItem( "cmb_orddr");
  190. //model.setValue("/root/send/srch/orddr", "");
  191. model.refresh();
  192. ]]>
  193. </script>
  194. </select1>
  195. <caption id="caption6" class="search_name" style="left:641px; top:9px; width:86px; height:17px; ">진료의 :</caption>
  196. <select1 id="cmb_orddr" ref="/root/send/srch/orddr" class="combo_search" appearance="minimal" style="left:720px; top:8px; width:95px; height:19px; ">
  197. <choices>
  198. <itemset nodeset="/root/hidden/zsu/userlist/user">
  199. <label ref="usernm"/>
  200. <value ref="userid"/>
  201. </itemset>
  202. </choices>
  203. </select1>
  204. <caption id="caption7" class="search_name" style="left:843px; top:10px; width:106px; height:17px; ">전 송 상 태 :</caption>
  205. <select1 id="cmb_trsmstat" ref="/root/send/srch/trsmstat" class="combo_search" appearance="minimal" style="left:957px; top:8px; width:125px; height:19px; ">
  206. <choices>
  207. <itemset nodeset="/root/init/comncdlist/C0019list/C0019">
  208. <label ref="cdnm"/>
  209. <value ref="cdid"/>
  210. </itemset>
  211. </choices>
  212. </select1>
  213. <caption id="caption8" class="search_name" style="left:16px; top:33px; width:86px; height:17px; ">등록번호 :</caption>
  214. <input id="ipt_pid" ref="/root/send/srch/pid" class="input_search" maxlength="10" style="left:108px; top:32px; width:120px; height:19px; ">
  215. <script type="javascript" ev:event="onkeyup">
  216. <![CDATA[
  217. inputEnterKey("btn_search", "DOMActivate");
  218. ]]>
  219. </script>
  220. </input>
  221. <button id="btn_pid_srch" class="icon_search" style="left:233px; top:33px; width:16px; height:16px; ">
  222. <caption/>
  223. <script type="javascript" ev:event="DOMActivate">
  224. <![CDATA[
  225. var search_condition = "pid";
  226. var search_term = model.getValue("/root/send/srch/pid");
  227. var receive_pid_path = "/root/send/srch/pid";
  228. var receive_patnm_path = "/root/send/srch/patnm";
  229. cczfOpenSelectClnt2(search_condition, search_term, receive_pid_path, receive_patnm_path);
  230. ]]>
  231. </script>
  232. </button>
  233. <caption id="caption9" class="search_name" style="left:391px; top:33px; width:86px; height:17px; ">환자명 :</caption>
  234. <input id="ipt_patnm" ref="/root/send/srch/patnm" class="input_search" maxlength="50" style="left:470px; top:32px; width:120px; height:19px; ">
  235. <script type="javascript" ev:event="onkeyup">
  236. <![CDATA[
  237. inputEnterKey("btn_search", "DOMActivate");
  238. ]]>
  239. </script>
  240. </input>
  241. <button id="btn_patnm_srch" class="icon_search" style="left:595px; top:33px; width:16px; height:16px; ">
  242. <caption/>
  243. <script type="javascript" ev:event="DOMActivate">
  244. <![CDATA[
  245. var search_condition = "patnm";
  246. var search_term = model.getValue("/root/send/srch/patnm");
  247. var receive_pid_path = "/root/send/srch/pid";
  248. var receive_patnm_path = "/root/send/srch/patnm";
  249. cczfOpenSelectClnt2(search_condition, search_term, receive_pid_path, receive_patnm_path);
  250. ]]>
  251. </script>
  252. </button>
  253. <caption id="caption10" class="search_name" style="left:641px; top:33px; width:86px; height:17px; ">병동명 :</caption>
  254. <select1 id="cmb_wardcd" ref="/root/send/srch/assgward" class="combo_search" appearance="minimal" style="left:720px; top:32px; width:95px; height:19px; ">
  255. <choices>
  256. <itemset nodeset="/root/init/basecdlist/wardlist/dept">
  257. <label ref="depthngnm"/>
  258. <value ref="deptcd"/>
  259. </itemset>
  260. </choices>
  261. </select1>
  262. <caption id="caption11" class="search_name" style="left:843px; top:33px; width:112px; height:17px; ">휴대전화번호 :</caption>
  263. <input id="ipt_recvrtelno" ref="/root/send/srch/recvrtelno" class="input_search" style="left:957px; top:32px; width:125px; height:19px; ">
  264. <script type="javascript" ev:event="onkeyup">
  265. <![CDATA[
  266. inputEnterKey("btn_search", "DOMActivate");
  267. ]]>
  268. </script>
  269. </input>
  270. <line id="line1" class="line_4" style="x1:1106px; y1:7px; x2:1106px; y2:53px; border-left-style:solid; "/>
  271. <button id="btn_search" class="btn1_letter2" style="left:1122px; top:19px; width:56px; height:22px; ">
  272. <caption>조회</caption>
  273. <script type="javascript" ev:event="DOMActivate">
  274. <![CDATA[
  275. submit("TRCFA00201");
  276. ]]>
  277. </script>
  278. </button>
  279. </group>
  280. <group id="group3" scroll="auto" style="left:0px; top:83px; width:1195px; height:668px; ">
  281. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:136px; height:14px; ">예약 전송 목록</caption>
  282. <button id="btn_trsmstat" class="btn2_letter4" style="left:1063px; top:5px; width:64px; height:19px; ">
  283. <caption>전송제외</caption>
  284. <script type="javascript" ev:event="DOMActivate">
  285. <![CDATA[
  286. // 전송상태(trsmstat)를 '전송대기(0)'인 데이터만 '전송제외(2)'로 변경
  287. var grid = grd_rsrvlist;
  288. var trsmstat_col = 2;
  289. cfzfChangeTrsmStat(grid, trsmstat_col);
  290. ]]>
  291. </script>
  292. </button>
  293. <button id="btn_saveexcel" class="btn2_letter4" style="left:1130px; top:5px; width:64px; height:19px; ">
  294. <caption>엑셀저장</caption>
  295. <script type="javascript" ev:event="DOMActivate">
  296. <![CDATA[
  297. var file_nm = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  298. if (file_nm != "") {
  299. grd_rsrvlist.saveExcel(file_nm, "SheetName", true, true, "", "", false);
  300. }
  301. ]]>
  302. </script>
  303. </button>
  304. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  305. <datagrid id="grd_rsrvlist" nodeset="/root/main/list/rsrvlist" class="text_center" caption="^전송상태^휴대전화번호^예약일자^등록번호^환자명^진료과^진료의^배정병동^예약상태^노블레스^예약 메시지^^^^^^" colwidth="25, 100, 110, 100, 90, 120, 110, 70, 110, 100, 70, 450, 0, 0, 0, 0, 0" ellipsis="true" explorerbar="sortshowmove" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="seq" tooltip="true" style="left:0px; top:25px; width:1194px; height:630px; ">
  306. <col class="update_n" ref="update"/>
  307. <col disabled="true" ref="trsmstat" type="combo">
  308. <choices>
  309. <itemset nodeset="/root/init/comncdlist/C0019list/C0019">
  310. <label ref="cdnm"/>
  311. <value ref="cdid"/>
  312. </itemset>
  313. </choices>
  314. </col>
  315. <col ref="mpphontel"/>
  316. <col ref="inhopedd" format="yyyy-mm-dd"/>
  317. <col ref="pid"/>
  318. <col ref="hngnm"/>
  319. <col ref="orddeptnm"/>
  320. <col ref="orddrnm"/>
  321. <col ref="assgward"/>
  322. <col disabled="true" ref="inrsrvflag" type="combo">
  323. <choices>
  324. <itemset nodeset="/root/init/comncdlist/P0017list/P0017">
  325. <label ref="cdnm"/>
  326. <value ref="cdid"/>
  327. </itemset>
  328. </choices>
  329. </col>
  330. <col ref="nblyn"/>
  331. <col ref="smsmsg" style="text-align:left; "/>
  332. <col ref="inrsrvacptdd" visibility="hidden"/>
  333. <col ref="inrsrvacptseqno" visibility="hidden"/>
  334. <col ref="email" visibility="hidden"/>
  335. <col ref="lastchosdt" visibility="hidden"/>
  336. <col ref="orddeptcd" visibility="hidden"/>
  337. <script type="javascript" ev:event="xforms-value-changed">
  338. <![CDATA[
  339. // 그리드의 변경 상태값을 변경
  340. // var grid = grd_rsrvlist;
  341. // var trsmstat_col = 2;
  342. // cfzfChangeRowStatus(grid, trsmstat_col);
  343. ]]>
  344. </script>
  345. <script type="javascript" ev:event="onclick">
  346. <![CDATA[
  347. // 그리드의 변경 상태 가능여부를 체크하고, 변경 이전 값을 저장
  348. // var grid = grd_rsrvlist;
  349. // var trsmstat_col = 2;
  350. // cfzfCheckSaveBfTrsm(grid, trsmstat_col);
  351. ]]>
  352. </script>
  353. </datagrid>
  354. </group>
  355. <group id="group4" style="left:0px; top:751px; width:1195px; height:29px; vertical-align:top; ">
  356. <button id="btn_sms" class="btn3_letter5" style="left:0px; top:0px; width:92px; height:22px; ">
  357. <caption>SMS전송</caption>
  358. <script type="javascript" ev:event="DOMActivate">
  359. <![CDATA[
  360. cczfSMSTrsmOpen("grid",grd_rsrvlist,4,11,"","");
  361. ]]>
  362. </script>
  363. </button>
  364. <button id="btn_email" class="btn3_letter5" style="left:94px; top:0px; width:92px; height:22px; ">
  365. <caption>이메일발송</caption>
  366. <script type="javascript" ev:event="DOMActivate">
  367. <![CDATA[
  368. cczfEmailTrsmOpen("grid",grd_rsrvlist,15,"");
  369. ]]>
  370. </script>
  371. </button>
  372. <!--<button id="btn_cmpn" class="btn3_letter5" style="left:188px; top:0px; width:92px; height:22px; ">
  373. <caption>캠페인등록</caption>
  374. <script type="javascript" ev:event="DOMActivate">
  375. <![CDATA[
  376. cczfOpenInsertCmpn(grd_rsrvlist, "00");
  377. ]]>
  378. </script>
  379. </button>-->
  380. <button id="btn_save" class="btn4_letter2" _auth="X" style="left:1068px; top:0px; width:56px; height:22px; ">
  381. <caption>저장</caption>
  382. <script type="javascript" ev:event="DOMActivate">
  383. <![CDATA[
  384. fSaveRsrvList();
  385. ]]>
  386. </script>
  387. </button>
  388. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:0px; width:68px; height:22px; ">
  389. <caption>초기화</caption>
  390. <script type="javascript" ev:event="DOMActivate">
  391. <![CDATA[
  392. fInitRsrvList();
  393. model.refresh();
  394. ]]>
  395. </script>
  396. </button>
  397. </group>
  398. </xhtml:body>
  399. </xhtml:html>