SPMNE02306_파랑새발령심폐소생술SMS전송.xrw 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  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>파랑새 발령/심폐소생술 보고 및 SMS 전송</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <patinfo>
  11. <pid/>
  12. <indd/>
  13. <cretno/>
  14. <histno/>
  15. <patnm/>
  16. <gender/>
  17. <age/>
  18. <orddeptcd/>
  19. <orddeptnm/>
  20. <diagnm/>
  21. <cardarrgenrdt/>
  22. <atdoctcd/>
  23. <atdoctnm/>
  24. <medispclid/>
  25. <medispclnm/>
  26. <patinfoflag/>
  27. <cardarrgenrplce/>
  28. <sa/>
  29. <lastsaveid/>
  30. <lastsavenm/>
  31. <lastsavedd/>
  32. <lastsavetm/>
  33. <smssendid1/>
  34. <smssendid2/>
  35. <smssendid3/>
  36. <smssenddt1/>
  37. <smssenddt2/>
  38. <smssenddt3/>
  39. <smstxt/>
  40. <cardarryn/>
  41. <statflag/>
  42. <replytel/>
  43. <instcd/>
  44. </patinfo>
  45. <recvdata>
  46. <recvlist>
  47. <instcd/>
  48. <userid/>
  49. <usernm/>
  50. <phone/>
  51. </recvlist>
  52. </recvdata>
  53. <recvjuso>
  54. <recvlist/>
  55. <recvatdoclist/>
  56. <recvnurslist/>
  57. </recvjuso>
  58. <list/>
  59. <smshist/>
  60. </main>
  61. <hidden>
  62. <codelist>
  63. <getVOStage>
  64. <cd/>
  65. <cdnm/>
  66. </getVOStage>
  67. </codelist>
  68. <smsinfo>
  69. <transchk>
  70. <smsflag>N</smsflag>
  71. </transchk>
  72. </smsinfo>
  73. </hidden>
  74. <send>
  75. <cond>
  76. <pid/>
  77. <hardcd/>
  78. <hngnm/>
  79. <grdpid/>
  80. <grdhngnm/>
  81. <instcd/>
  82. </cond>
  83. <instcd/>
  84. <hardcdno/>
  85. <userinfo/>
  86. <userinfo/>
  87. <srch>
  88. <searchcondition/>
  89. <searchterm/>
  90. <dutinstcd/>
  91. <dutunitcd/>
  92. <hardcd/>
  93. </srch>
  94. </send>
  95. <init>
  96. <paminfo/>
  97. <detlgrup>
  98. <detlgruplist/>
  99. </detlgrup>
  100. <sriusgrup/>
  101. <userdutplce>
  102. <dutcnt/>
  103. </userdutplce>
  104. </init>
  105. <temp/>
  106. </root>
  107. </instance>
  108. <submission id="TRMNE02314" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/recvjuso"/>
  109. <submission id="TXMNW04704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/smsinfo"/>
  110. <submission id="TXMNE02310" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/send/savedata"/>
  111. <submission id="TRMNE02315" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/patinfo" resultref="/root/main/smshist"/>
  112. <submission id="TRMRI08112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cond" replace="instance" resultref="/root/init/userdutplce"/>
  113. <submission id="TRZSU10103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" replace="instance" resultref="/root/main/list"/>
  114. </model>
  115. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  117. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  118. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  119. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  120. <script type="javascript">
  121. <![CDATA[
  122. var pid = "";
  123. var patnm = "";
  124. var cardarrgenrdt = "";
  125. var gender = "";
  126. var age = "";
  127. var atdoctcd = "";
  128. var atdoctnm = "";
  129. var medispclid = "";
  130. var medispclnm = "";
  131. var patinfoflag = "";
  132. var diagnm = "";
  133. var orddeptcd = "";
  134. var orddeptnm = "";
  135. var cardarrgenrplce = "";
  136. var lastsaveid = "";
  137. var lastsavenm = "";
  138. var lastsavedd = "";
  139. var lastsavetm = "";
  140. var smssendid1 = "";
  141. var smssendid2 = "";
  142. var smssendid3 = "";
  143. var smssenddt1 = "";
  144. var smssenddt2 = "";
  145. var smssenddt3 = "";
  146. var indd = "";
  147. var cretno = "";
  148. var histno = "";
  149. var cardarryn = "";
  150. var wardnm = "";
  151. function fInit(){
  152. pid = model.property("pid");
  153. age = model.property("age");
  154. indd = model.property("indd");
  155. cretno = model.property("cretno");
  156. histno = model.property("histno");
  157. patnm = model.property("patnm");
  158. gender = model.property("gender");
  159. diagnm = model.property("diagnm");
  160. atdoctcd = model.property("atdoctcd");
  161. atdoctnm = model.property("atdoctnm");
  162. medispclid = model.property("medispclid");
  163. medispclnm = model.property("medispclnm");
  164. patinfoflag = model.property("patinfoflag");
  165. orddeptcd = model.property("orddeptcd");
  166. orddeptnm = model.property("orddeptnm");
  167. cardarrgenrdt = model.property("cardarrgenrdt");
  168. cardarrgenrplce = model.property("cardarrgenrplce");
  169. lastsaveid = model.property("lastsaveid");
  170. lastsavenm = model.property("lastsavenm");
  171. lastsavedd = model.property("lastsavedd");
  172. lastsavetm = model.property("lastsavetm");
  173. cardarryn = model.property("cardarryn");
  174. wardnm = model.property("wardnm");
  175. model.setValue("/root/main/patinfo/instcd" , getUserInfo("dutplceinstcd"));
  176. model.setValue("/root/main/patinfo/pid" , pid );
  177. model.setValue("/root/main/patinfo/patnm" , patnm );
  178. model.setValue("/root/main/patinfo/gender" , gender );
  179. model.setValue("/root/main/patinfo/indd" , indd );
  180. model.setValue("/root/main/patinfo/cretno" , cretno );
  181. model.setValue("/root/main/patinfo/histno" , histno );
  182. model.setValue("/root/main/patinfo/age" , age );
  183. model.setValue("/root/main/patinfo/sa" , gender + "/" + age );
  184. model.setValue("/root/main/patinfo/atdoctcd" , atdoctcd );
  185. model.setValue("/root/main/patinfo/atdoctnm" , atdoctnm );
  186. model.setValue("/root/main/patinfo/medispclid" , medispclid );
  187. model.setValue("/root/main/patinfo/medispclnm" , medispclnm );
  188. model.setValue("/root/main/patinfo/patinfoflag" , patinfoflag );
  189. model.setValue("/root/main/patinfo/diagnm" , diagnm );
  190. model.setValue("/root/main/patinfo/orddeptcd" , orddeptcd );
  191. model.setValue("/root/main/patinfo/orddeptnm" , orddeptnm );
  192. model.setValue("/root/main/patinfo/cardarrgenrdt" , cardarrgenrdt );
  193. model.setValue("/root/main/patinfo/cardarrgenrplce" , cardarrgenrplce );
  194. model.setValue("/root/main/patinfo/lastsaveid" , lastsaveid );
  195. model.setValue("/root/main/patinfo/lastsavenm" , lastsavenm );
  196. model.setValue("/root/main/patinfo/lastsavedd" , lastsavedd );
  197. model.setValue("/root/main/patinfo/lastsavetm" , lastsavetm );
  198. model.setValue("/root/main/patinfo/cardarryn" , cardarryn );
  199. model.refresh();
  200. if( submit("TRMNE02315") ){
  201. smssendid1 = model.getValue("/root/main/smshist/smshistlist[statflag=1]/saveid");
  202. smssendid2 = model.getValue("/root/main/smshist/smshistlist[statflag=2]/saveid");
  203. smssendid3 = model.getValue("/root/main/smshist/smshistlist[statflag=3]/saveid");
  204. smssenddt1 = model.getValue("/root/main/smshist/smshistlist[statflag=1]/savedt");
  205. smssenddt2 = model.getValue("/root/main/smshist/smshistlist[statflag=2]/savedt");
  206. smssenddt3 = model.getValue("/root/main/smshist/smshistlist[statflag=3]/savedt");
  207. }
  208. model.setValue("/root/main/patinfo/smssendid1" , smssendid1 );
  209. model.setValue("/root/main/patinfo/smssendid2" , smssendid2 );
  210. model.setValue("/root/main/patinfo/smssendid3" , smssendid3 );
  211. model.setValue("/root/main/patinfo/smssenddt1" , smssenddt1 );
  212. model.setValue("/root/main/patinfo/smssenddt2" , smssenddt2 );
  213. model.setValue("/root/main/patinfo/smssenddt3" , smssenddt3 );
  214. fSmsTxtSetting(smssendid1,smssendid2,smssendid3,smssenddt1,smssenddt2,smssenddt3);
  215. if( model.getValue("/root/send/hardcdno") != "" ){
  216. rdo_hardcdno.dispatch("xforms-value-changed");
  217. }
  218. // 파랑새발령보고 0000년00월00일 00:00 [00병동 0000000 홍길동] 심정지Y(N)
  219. if( patinfoflag == "보호자" || patinfoflag == "방문객" || patinfoflag == "기타" ){
  220. var pidisnan = isNaN(pid.substring(0,1))
  221. if( pidisnan == true ){
  222. if( wardnm != "" ){
  223. model.setValue("/root/main/patinfo/smstxt", "파랑새발령보고 " + cardarrgenrdt.substring(0,4) + "-" + cardarrgenrdt.substring(4,6) + "-" + cardarrgenrdt.substring(6,8) + " " + cardarrgenrdt.substring(8,10) + ":" + cardarrgenrdt.substring(10,12) + " [" + wardnm + " " + patinfoflag + " " + patnm + "] 심정지" + cardarryn );
  224. }else{
  225. model.setValue("/root/main/patinfo/smstxt", "파랑새발령보고 " + cardarrgenrdt.substring(0,4) + "-" + cardarrgenrdt.substring(4,6) + "-" + cardarrgenrdt.substring(6,8) + " " + cardarrgenrdt.substring(8,10) + ":" + cardarrgenrdt.substring(10,12) + " [" + patinfoflag + " " + patnm + "] 심정지" + cardarryn );
  226. }
  227. }else{
  228. if( wardnm != "" ){
  229. model.setValue("/root/main/patinfo/smstxt", "파랑새발령보고 " + cardarrgenrdt.substring(0,4) + "-" + cardarrgenrdt.substring(4,6) + "-" + cardarrgenrdt.substring(6,8) + " " + cardarrgenrdt.substring(8,10) + ":" + cardarrgenrdt.substring(10,12) + " [" + wardnm + " " + pid + " " + patnm + "] 심정지" + cardarryn );
  230. }else{
  231. model.setValue("/root/main/patinfo/smstxt", "파랑새발령보고 " + cardarrgenrdt.substring(0,4) + "-" + cardarrgenrdt.substring(4,6) + "-" + cardarrgenrdt.substring(6,8) + " " + cardarrgenrdt.substring(8,10) + ":" + cardarrgenrdt.substring(10,12) + " [" + pid + " " + patnm + "] 심정지" + cardarryn );
  232. }
  233. }
  234. }else{
  235. model.setValue("/root/main/patinfo/smstxt", "파랑새발령보고 " + cardarrgenrdt.substring(0,4) + "-" + cardarrgenrdt.substring(4,6) + "-" + cardarrgenrdt.substring(6,8) + " " + cardarrgenrdt.substring(8,10) + ":" + cardarrgenrdt.substring(10,12) + " [" + wardnm + " " + pid + " " + patnm + "] 심정지" + cardarryn );
  236. }
  237. model.setValue("/root/main/patinfo/replytel", "053200");
  238. model.refresh();
  239. }
  240. function fSmsTxtSetting( smssendid1 , smssendid2 , smssendid3 ){
  241. if( smssendid1 == "" && smssendid2 == "" && smssendid3 == "" ){ // 1차 Hardcdno : 5596
  242. model.setValue("/root/send/hardcdno", "5596");
  243. cpt_smsflag1.value = "X";
  244. cpt_smsflag2.value = "X";
  245. cpt_smsflag3.value = "X";
  246. }else if( smssendid1 != "" && smssendid2 == "" && smssendid3 == "" ){ // 2차 Hardcdno : 5597
  247. model.setValue("/root/send/hardcdno", "5597");
  248. cpt_smsflag1.value = smssenddt1.substring(0,4) + "-" + smssenddt1.substring(4,6) + "-" + smssenddt1.substring(6,8) + " " + smssenddt1.substring(8,10) + ":" + smssenddt1.substring(10,12) + ":" + smssenddt1.substring(12,14);
  249. cpt_smsflag2.value = "X";
  250. cpt_smsflag3.value = "X";
  251. }else if( smssendid1 != "" && smssendid2 != "" && smssendid3 == "" ){ // 3차 Hardcdno : 5598
  252. model.setValue("/root/send/hardcdno", "5598");
  253. cpt_smsflag1.value = smssenddt1.substring(0,4) + "-" + smssenddt1.substring(4,6) + "-" + smssenddt1.substring(6,8) + " " + smssenddt1.substring(8,10) + ":" + smssenddt1.substring(10,12) + ":" + smssenddt1.substring(12,14);
  254. cpt_smsflag2.value = smssenddt2.substring(0,4) + "-" + smssenddt2.substring(4,6) + "-" + smssenddt2.substring(6,8) + " " + smssenddt2.substring(8,10) + ":" + smssenddt2.substring(10,12) + ":" + smssenddt2.substring(12,14);
  255. cpt_smsflag3.value = "X";
  256. }else if( smssendid1 != "" && smssendid2 != "" && smssendid3 != "" ){
  257. model.setValue("/root/send/hardcdno", "5598");
  258. cpt_smsflag1.value = smssenddt1.substring(0,4) + "-" + smssenddt1.substring(4,6) + "-" + smssenddt1.substring(6,8) + " " + smssenddt1.substring(8,10) + ":" + smssenddt1.substring(10,12) + ":" + smssenddt1.substring(12,14);
  259. cpt_smsflag2.value = smssenddt2.substring(0,4) + "-" + smssenddt2.substring(4,6) + "-" + smssenddt2.substring(6,8) + " " + smssenddt2.substring(8,10) + ":" + smssenddt2.substring(10,12) + ":" + smssenddt2.substring(12,14);
  260. cpt_smsflag3.value = smssenddt3.substring(0,4) + "-" + smssenddt3.substring(4,6) + "-" + smssenddt3.substring(6,8) + " " + smssenddt3.substring(8,10) + ":" + smssenddt3.substring(10,12) + ":" + smssenddt3.substring(12,14);
  261. }
  262. model.refresh();
  263. }
  264. // 저장 및 SMS전송
  265. function fSaveNSMS(){
  266. model.removenode("/root/send/savedata");
  267. model.makeNode("/root/send/savedata");
  268. if( model.getValue("/root/send/hardcdno") == "5596"){
  269. model.setValue("/root/main/patinfo/statflag", "1");
  270. }else if( model.getValue("/root/send/hardcdno") == "5597"){
  271. model.setValue("/root/main/patinfo/statflag", "2");
  272. }else if( model.getValue("/root/send/hardcdno") == "5598"){
  273. model.setValue("/root/main/patinfo/statflag", "3");
  274. }
  275. var sPatHeader = "instcd▦pid▦patnm▦indd▦cretno▦histno▦smstxt▦replytel▦statflag▦cardarrgenrdt▩";
  276. var sPatData = getUserInfo("dutplceinstcd") +"▦"
  277. + model.getValue("/root/main/patinfo/pid" ) +"▦"
  278. + model.getValue("/root/main/patinfo/patnm" ) +"▦"
  279. + model.getValue("/root/main/patinfo/indd" ) +"▦"
  280. + model.getValue("/root/main/patinfo/cretno") +"▦"
  281. + model.getValue("/root/main/patinfo/histno") +"▦"
  282. + model.getValue("/root/main/patinfo/smstxt") +"▦"
  283. + model.getValue("/root/main/patinfo/replytel") +"▦"
  284. + model.getValue("/root/main/patinfo/statflag") +"▦"
  285. + model.getValue("/root/main/patinfo/cardarrgenrdt")+"▩";
  286. model.makeValue("/root/send/savedata/patinfo", sPatHeader + sPatData );
  287. var sHeader = "instcd▦recvid▦recvnm▦recvphone▩";
  288. var sCondData = "";
  289. for( var i = 1; i <= grd_recvlist.rows ; i++ ){
  290. if( model.getValue("/root/main/recvdata/recvlist[" + i + "]/recvchk") == "true" ){
  291. sCondData = sCondData
  292. + getUserInfo("dutplceinstcd") +"▦"
  293. + model.getValue("/root/main/recvdata/recvlist[" + i + "]/recvid") + "▦"
  294. + model.getValue("/root/main/recvdata/recvlist[" + i + "]/recvnm") + "▦"
  295. + model.getValue("/root/main/recvdata/recvlist[" + i + "]/recvphone") + "▩";
  296. }
  297. }
  298. model.makeValue("/root/send/savedata/recvlist", sHeader + sCondData );
  299. if( messageBox("파랑새발령보고 SMS를 전송하시겠습니까?", "Q999") == 6 ){
  300. if(submit("TXMNE02310")){
  301. messageBox("SMS 발송이 완료되었습니다.","I");
  302. if( submit("TRMNE02315") ){
  303. model.setValue("/root/main/patinfo/smssendid1" , model.getValue("/root/main/smshist/smshistlist[statflag=1]/saveid"));
  304. model.setValue("/root/main/patinfo/smssendid2" , model.getValue("/root/main/smshist/smshistlist[statflag=2]/saveid"));
  305. model.setValue("/root/main/patinfo/smssendid3" , model.getValue("/root/main/smshist/smshistlist[statflag=3]/saveid"));
  306. model.setValue("/root/main/patinfo/smssenddt1" , model.getValue("/root/main/smshist/smshistlist[statflag=1]/savedt"));
  307. model.setValue("/root/main/patinfo/smssenddt2" , model.getValue("/root/main/smshist/smshistlist[statflag=2]/savedt"));
  308. model.setValue("/root/main/patinfo/smssenddt3" , model.getValue("/root/main/smshist/smshistlist[statflag=3]/savedt"));
  309. fSmsTxtSetting(
  310. model.getValue("/root/main/patinfo/smssendid1"),
  311. model.getValue("/root/main/patinfo/smssendid2"),
  312. model.getValue("/root/main/patinfo/smssendid3"),
  313. model.getValue("/root/main/patinfo/smssenddt1"),
  314. model.getValue("/root/main/patinfo/smssenddt2"),
  315. model.getValue("/root/main/patinfo/smssenddt3")
  316. );
  317. }
  318. }
  319. }else{
  320. return;
  321. }
  322. // if(submit("TXMNW04704")){
  323. // messageBox("저장 및 SMS 발송이 완료되었습니다.","I");
  324. // }
  325. model.refresh();
  326. }
  327. function fSetUserSearch(flag){
  328. setParameter("search_condition","usernm");
  329. setParameter("resultref","/root/send/userinfo");
  330. modal("SPZSU10100");
  331. var userinfo = model.getValue("/root/send/userinfo");
  332. userinfo = userinfo.split("|");
  333. var rshid = userinfo[2];
  334. var rshnm = userinfo[3];
  335. if( flag == 1 ){
  336. model.setValue("/root/send/cond/pid" , rshid );
  337. model.setValue("/root/send/cond/hngnm" , rshnm );
  338. }else{
  339. model.setValue("/root/send/cond/grdpid" , rshid );
  340. model.setValue("/root/send/cond/pid" , rshid );
  341. model.setValue("/root/send/cond/grdhngnm" , rshnm );
  342. }
  343. model.setValue("/root/send/cond/instcd" , getUserInfo("dutplceinstcd"));
  344. model.resetInstanceNode("/root/send/userinfo");
  345. model.refresh();
  346. }
  347. ]]>
  348. </script>
  349. <script type="javascript" ev:event="xforms-ready">
  350. <![CDATA[
  351. fInit();
  352. ]]>
  353. </script>
  354. </xhtml:head>
  355. <xhtml:body pagewidth="720" pageheight="550" guideline="1,-13;1,-45;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  356. <group id="grp_biz" scroll="auto" style="left:0px; top:0px; width:690px; height:530px; ">
  357. <output id="output4" ref="/root/main/patinfo/patnm" class="output_fix" appearance="output" style="left:238px; top:29px; width:94px; height:19px; "/>
  358. <caption id="cap_sa" class="cell_1" style="left:334px; top:28px; width:74px; height:23px; vertical-align:middle; ">성별/나이</caption>
  359. <output id="output9" ref="/root/main/patinfo/pid" class="output_fix" appearance="output" style="left:87px; top:29px; width:86px; height:19px; "/>
  360. <line id="line23" class="line_2" style="x1:0px; y1:52px; x2:678px; y2:52px; "/>
  361. <caption id="cap_indd" class="cell_1" style="left:476px; top:28px; width:74px; height:23px; vertical-align:middle; ">대상자구분</caption>
  362. <caption id="cap_patnm" class="cell_1" style="left:175px; top:28px; width:61px; height:23px; vertical-align:middle; ">이름</caption>
  363. <caption id="cap_orddeptnm" class="cell_1" style="left:0px; top:54px; width:85px; height:23px; vertical-align:middle; ">진료과</caption>
  364. <caption id="cap_pid" class="cell_1" style="left:0px; top:28px; width:85px; height:23px; vertical-align:middle; ">등록번호</caption>
  365. <line id="line4" class="line_1" style="x1:0px; y1:22px; x2:681px; y2:22px; "/>
  366. <caption id="caption8" class="tit_2" style="left:2px; top:5px; width:293px; height:13px; ">파랑새 발령/심폐소생술 보고 및 SMS 전송</caption>
  367. <output id="output1" ref="/root/main/patinfo/patinfoflag" class="output_fix" appearance="output" style="left:552px; top:29px; width:128px; height:19px; "/>
  368. <caption id="caption19" class="cell_1" style="left:0px; top:106px; width:85px; height:23px; ">발생일자</caption>
  369. <output id="output2" ref="/root/main/patinfo/orddeptnm" class="output_fix" appearance="output" style="left:87px; top:56px; width:244px; height:19px; "/>
  370. <output id="output3" ref="/root/main/patinfo/sa" class="output_fix" appearance="output" style="left:410px; top:29px; width:64px; height:19px; text-align:center; "/>
  371. <line id="line1" class="line_1" style="x1:0px; y1:210px; x2:686px; y2:210px; "/>
  372. <caption id="caption1" class="cell_1" style="left:0px; top:132px; width:85px; height:23px; vertical-align:middle; ">최종저장</caption>
  373. <caption id="caption4" class="cell_1" style="left:253px; top:132px; width:79px; height:23px; vertical-align:middle; ">보고자</caption>
  374. <button id="button1" class="btn3_letter5" style="left:535px; top:506px; width:92px; height:22px; ">
  375. <caption>SMS 발송</caption>
  376. <script type="javascript" ev:event="DOMActivate">
  377. <![CDATA[
  378. var cnt = 0;
  379. for(var i = 1; i <= grd_recvlist.rows-grd_recvlist.fixedRows; i++ ){
  380. if( model.getValue("/root/main/recvdata/recvlist[" + i + "]/recvchk") == "true"){
  381. cnt++;
  382. }
  383. }
  384. if( cnt < 1 ){
  385. messageBox("수신 대상자를 선택해주세요.", "I999");
  386. return;
  387. }
  388. if( model.getValue("/root/main/patinfo/replytel").length < 9 ){
  389. messageBox("회신번호를 확인해주세요.", "I999");
  390. model.setFocus("ipt_replytel");
  391. return;
  392. }
  393. var sendflag = false;
  394. if( smssendid1 == "" && smssendid2 == "" && smssendid3 == "" ){ // 1차 Hardcdno : 5596
  395. if( model.getValue("/root/send/hardcdno") != "5596" ){
  396. if( messageBox("1차전송이 이루어지지 않았습니다. 계속 진행하시겠습니까?", "Q999") == 6 ){
  397. sendflag = true;
  398. }
  399. }else{
  400. sendflag = true;
  401. }
  402. }else if( smssendid1 != "" && smssendid2 == "" && smssendid3 == "" ){ // 2차 Hardcdno : 5597
  403. if( model.getValue("/root/send/hardcdno") != "5597" ){
  404. if( messageBox("2차전송이 이루어지지 않았습니다. 계속 진행하시겠습니까?", "Q999") == 6 ){
  405. sendflag = true;
  406. }
  407. }else{
  408. sendflag = true;
  409. }
  410. }else if( smssendid1 != "" && smssendid2 != "" && smssendid3 == "" ){ // 3차 Hardcdno : 5598
  411. if( model.getValue("/root/send/hardcdno") != "5598" ){
  412. if( messageBox("3차전송이 이루어지지 않았습니다. 계속 진행하시겠습니까?", "Q999") == 6 ){
  413. sendflag = true;
  414. }
  415. }else{
  416. sendflag = true;
  417. }
  418. }
  419. if(sendflag == true){
  420. fSaveNSMS();
  421. }
  422. ]]>
  423. </script>
  424. </button>
  425. <caption id="caption5" class="cell_1" style="left:0px; top:80px; width:85px; height:23px; vertical-align:middle; ">진단명</caption>
  426. <output id="output6" ref="/root/main/patinfo/diagnm" class="output_fix" appearance="output" style="left:87px; top:82px; width:593px; height:19px; "/>
  427. <caption id="caption10" class="cell_1" style="left:334px; top:107px; width:74px; height:23px; ">발생장소</caption>
  428. <input id="ipt_indate" ref="/root/main/patinfo/lastsavedd" class="output_fix" visibility="visible" inputtype="date" style="left:87px; top:134px; width:97px; height:19px; ">
  429. <script type="javascript" ev:event="xforms-value-changed">
  430. <![CDATA[
  431. if (ipt_indate.value > getCurrentDate()){
  432. messageBox("현재 일자 이후 날짜는 선택","E001");
  433. ipt_indate.value = getCurrentDate();
  434. return;
  435. }
  436. ]]>
  437. </script>
  438. </input>
  439. <input id="ipt_time" ref="/root/main/patinfo/lastsavetm" class="output_fix" visibility="visible" format="hh:nn:ss" validateformat="true" style="left:186px; top:134px; width:64px; height:19px; "/>
  440. <output id="output10" ref="/root/main/patinfo/cardarrgenrdt" class="output_fix" format="yyyy-mm-dd hh:nn" appearance="output" style="left:87px; top:108px; width:244px; height:19px; "/>
  441. <output id="output11" ref="/root/main/patinfo/cardarrgenrplce" class="output_fix" appearance="output" style="left:410px; top:108px; width:270px; height:19px; "/>
  442. <output id="output17" ref="/root/main/patinfo/lastsavenm" class="output_fix" appearance="output" style="left:334px; top:134px; width:140px; height:19px; "/>
  443. <button id="button2" class="btn6_letter2" style="left:628px; top:506px; width:56px; height:22px; ">
  444. <caption>닫기</caption>
  445. <script type="javascript" ev:event="DOMActivate">
  446. <![CDATA[
  447. model.close();
  448. ]]>
  449. </script>
  450. </button>
  451. <caption id="caption3" class="cell_1" style="left:334px; top:55px; width:74px; height:23px; vertical-align:middle; ">주치의</caption>
  452. <caption id="caption6" class="cell_1" style="left:511px; top:55px; width:60px; height:23px; vertical-align:middle; ">담당의</caption>
  453. <output id="output7" ref="/root/main/patinfo/medispclnm" class="output_fix" appearance="output" style="left:573px; top:56px; width:107px; height:19px; "/>
  454. <output id="output8" ref="/root/main/patinfo/atdoctnm" class="output_fix" appearance="output" style="left:410px; top:57px; width:98px; height:19px; "/>
  455. <caption id="caption7" class="tit_2" style="left:0px; top:192px; width:685px; height:13px; ">수신자 LIST ( )</caption>
  456. <datagrid id="grd_recvlist" nodeset="/root/main/recvdata/recvlist" caption="^사용자ID^성명^전화번호" colsep="^" colwidth="32, 99, 245, 159" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:215px; width:685px; height:290px; ">
  457. <col ref="recvchk" type="checkbox"/>
  458. <col ref="recvid" type="inputbutton" style="text-align:center; "/>
  459. <col ref="recvnm" type="input" style="text-align:center; "/>
  460. <col ref="recvphone" type="input" style="text-align:center; "/>
  461. <script type="javascript" ev:event="onbuttonclick">
  462. <![CDATA[
  463. var cnt = "";
  464. if( grd_recvlist.colRef("recvid") == grd_recvlist.col ){
  465. fSetUserSearch(2);
  466. model.removeNodeset("/root/init/dutcnt");
  467. if( submit("TRMRI08112")){
  468. cnt = model.getValue("/root/init/dutcnt/cnt");
  469. if( cnt < 1 ){
  470. messageBox( "【 " + model.getValue("/root/send/cond/grdpid") + " 】 신청자의 근무지를 확인해주세요.","I999");
  471. return;
  472. }
  473. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvid" , model.getValue("/root/send/cond/grdpid") );
  474. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvnm" , model.getValue("/root/send/cond/grdhngnm") );
  475. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvphone" , model.getValue("/root/init/dutcnt/phone") );
  476. if( grd_recvlist.rowStatus(grd_recvlist.row) == 0 ){
  477. grd_recvlist.rowStatus(grd_recvlist.row) = 2;
  478. }
  479. }
  480. model.refresh();
  481. }
  482. ]]>
  483. </script>
  484. <script type="javascript" ev:event="xforms-value-changed">
  485. <![CDATA[
  486. ]]>
  487. </script>
  488. <script type="javascript" ev:event="onkeyup">
  489. <![CDATA[
  490. if(event.keyCode == 13) {
  491. var cnt = "";
  492. var userid = model.getValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvid");
  493. if( grd_recvlist.colRef("recvid") == grd_recvlist.col ){
  494. model.setValue("/root/send/srch/searchcondition", "userid");
  495. model.setValue("/root/send/srch/searchterm", userid );
  496. model.setValue("/root/send/cond/pid", userid );
  497. model.setValue("/root/send/cond/instcd", getUserInfo("dutplceinstcd"));
  498. if( userid != "" ){
  499. model.removeNodeset("/root/main/list");
  500. model.removeNodeset("/root/init/dutcnt");
  501. if( submit("TRZSU10103") ){
  502. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvid" , model.getValue("/root/main/list/userlist/userid"));
  503. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvnm" , model.getValue("/root/main/list/userlist/usernm"));
  504. }
  505. if( submit("TRMRI08112")){
  506. cnt = model.getValue("/root/init/dutcnt/cnt");
  507. if( cnt < 1 ){
  508. messageBox( "【 " + userid + " 】 신청자의 근무지를 확인해주세요.","I999");
  509. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvid" , "");
  510. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvnm" , "");
  511. return;
  512. }
  513. model.setValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/recvphone" , model.getValue("/root/init/dutcnt/phone") );
  514. }
  515. }
  516. }
  517. model.refresh();
  518. }
  519. ]]>
  520. </script>
  521. <script type="javascript" ev:event="onaftersort">
  522. <![CDATA[
  523. grd_recvlist.gridToInstance();
  524. ]]>
  525. </script>
  526. </datagrid>
  527. <button id="btn_add" class="btn5_letter5" style="left:382px; top:507px; width:75px; height:19px; ">
  528. <caption>수신자추가</caption>
  529. <script type="javascript" ev:event="DOMActivate">
  530. <![CDATA[
  531. grd_recvlist.addRow();
  532. model.makeValue("/root/main/recvdata/recvlist[" + grd_recvlist.row + "]/instcd", getUserInfo("dutplceinstcd") );
  533. grd_recvlist.topRow= grd_recvlist.row;
  534. model.refresh();
  535. ]]>
  536. </script>
  537. </button>
  538. <button id="btn_del" class="btn5_letter5" style="left:458px; top:507px; width:75px; height:19px; ">
  539. <caption>수신자삭제</caption>
  540. <script type="javascript" ev:event="DOMActivate">
  541. <![CDATA[
  542. var row = grd_recvlist.row;
  543. var rowStatus = grd_recvlist.rowStatus(row);
  544. if( rowStatus == 1 ){
  545. grd_recvlist.deleteRow(row);
  546. }else if( rowStatus == 0 ){
  547. grd_recvlist.rowStatus(row) = 4;
  548. }
  549. model.refresh();
  550. ]]>
  551. </script>
  552. </button>
  553. <line id="line2" class="line_2" style="x1:0px; y1:78px; x2:678px; y2:78px; "/>
  554. <line id="line3" class="line_2" style="x1:0px; y1:104px; x2:678px; y2:104px; "/>
  555. <line id="line5" class="line_2" style="x1:0px; y1:130px; x2:678px; y2:130px; "/>
  556. <line id="line6" class="line_3" style="x1:0px; y1:181px; x2:682px; y2:181px; "/>
  557. <select1 id="rdo_hardcdno" ref="/root/send/hardcdno" navindex="29" appearance="full" cellspacing="150" cols="3" overflow="visible" style="left:106px; top:190px; width:569px; height:20px; font-weight:bold; text-align:left; border-style:none; ">
  558. <choices>
  559. <item>
  560. <label>1차</label>
  561. <value>5596</value>
  562. </item>
  563. <item>
  564. <label>2차</label>
  565. <value>5597</value>
  566. </item>
  567. <item>
  568. <label>3차</label>
  569. <value>5598</value>
  570. </item>
  571. </choices>
  572. <script type="javascript" ev:event="xforms-value-changed">
  573. <![CDATA[
  574. model.removeNodeset("/root/main/recvdata/recvlist");
  575. model.makeValue("/root/send/patid" , model.getValue("/root/main/patinfo/pid") );
  576. model.makeValue("/root/send/cretno" , model.getValue("/root/main/patinfo/cretno") );
  577. model.makeValue("/root/send/indd" , model.getValue("/root/main/patinfo/indd") );
  578. if( submit("TRMNE02314") ){
  579. var cnt = getNodesetCount("/root/main/recvjuso/recvlist");
  580. var nurscnt = getNodesetCount("/root/main/recvjuso/recvnurslist");
  581. var doccnt = getNodesetCount("/root/main/recvjuso/recvatdoclist");
  582. var totcnt = parseInt(cnt) + parseInt(nurscnt) + parseInt(doccnt);
  583. cpt_cnt.value = "( " + totcnt + " 건 )";
  584. var rownum = grd_recvlist.rows - grd_recvlist.fixedRows;
  585. if( doccnt > 0 ){
  586. for( var i = 1; i <= doccnt ; i++ ){
  587. model.makeNode("/root/main/recvdata/recvlist[" + (rownum+1) + "]" );
  588. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvchk" , "");
  589. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvid" , model.getValue("/root/main/recvjuso/recvatdoclist[" + i + "]/atdoctid"));
  590. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvnm" , model.getValue("/root/main/recvjuso/recvatdoclist[" + i + "]/atdoctnm"));
  591. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvphone" , model.getValue("/root/main/recvjuso/recvatdoclist[" + i + "]/phonenum"));
  592. rownum++;
  593. }
  594. }
  595. if( nurscnt > 0 ){
  596. for( var i = 1; i <= nurscnt ; i++ ){
  597. model.makeNode("/root/main/recvdata/recvlist[" + (rownum+1) + "]" );
  598. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvchk" , "");
  599. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvid" , "");
  600. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvnm" , model.getValue("/root/main/recvjuso/recvnurslist[" + i + "]/grupdetldesc"));
  601. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvphone" , model.getValue("/root/main/recvjuso/recvnurslist[" + i + "]/cdnm"));
  602. rownum++;
  603. }
  604. }
  605. if( cnt > 0 ){
  606. for( var i = 1; i <= cnt ; i++ ){
  607. model.makeNode("/root/main/recvdata/recvlist[" + (rownum+1) + "]" );
  608. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvchk" , "");
  609. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvid" , model.getValue("/root/main/recvjuso/recvlist[" + i + "]/recvid"));
  610. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvnm" , model.getValue("/root/main/recvjuso/recvlist[" + i + "]/recvnm"));
  611. model.makeValue("/root/main/recvdata/recvlist[" + (rownum+1) + "]/recvphone" , model.getValue("/root/main/recvjuso/recvlist[" + i + "]/recvphone"));
  612. rownum++;
  613. }
  614. }
  615. }
  616. model.refresh();
  617. ]]>
  618. </script>
  619. </select1>
  620. <caption id="cpt_cnt" style="left:274px; top:506px; width:102px; height:20px; font-weight:bold; color:#3366ff; text-align:right; "/>
  621. <caption id="cpt_smsflag1" style="left:151px; top:189px; width:140px; height:20px; font-weight:bold; color:#ff0000; "/>
  622. <caption id="cpt_smsflag2" style="left:340px; top:189px; width:140px; height:20px; font-weight:bold; color:#ff0000; "/>
  623. <caption id="cpt_smsflag3" style="left:530px; top:189px; width:140px; height:20px; font-weight:bold; color:#ff0000; "/>
  624. <caption id="caption2" class="cell_1" style="left:0px; top:158px; width:85px; height:23px; vertical-align:middle; ">전송문구</caption>
  625. <line id="line7" class="line_2" style="x1:0px; y1:155px; x2:678px; y2:155px; "/>
  626. <button id="button3" class="btn5_letter2" visibility="hidden" style="left:413px; top:134px; width:42px; height:19px; ">
  627. <caption>변경</caption>
  628. <script type="javascript" ev:event="DOMActivate">
  629. <![CDATA[
  630. ipt_smstxt.disabled = false;
  631. model.refresh();
  632. ]]>
  633. </script>
  634. </button>
  635. <input id="ipt_smstxt" ref="/root/main/patinfo/smstxt" class="input_default" disabled="true" navindex="14" style="left:87px; top:159px; width:593px; height:19px; text-align:left; "/>
  636. <caption id="caption9" class="cell_1" style="left:476px; top:132px; width:74px; height:23px; vertical-align:middle; ">회신번호</caption>
  637. <input id="ipt_replytel" ref="/root/main/patinfo/replytel" class="input_essential" disabled="false" navindex="14" style="left:552px; top:134px; width:128px; height:19px; text-align:left; "/>
  638. <button id="button4" class="btn2_letter9" style="left:0px; top:507px; width:75px; height:19px; ">
  639. <caption>전체선택/선택제거</caption>
  640. <script type="javascript" ev:event="DOMActivate">
  641. <![CDATA[
  642. if( model.getValue("/root/main/recvdata/recvlist[1]/recvchk") == "true"){
  643. for(var i = 1; i <= grd_recvlist.rows-grd_recvlist.fixedRows; i++ ){
  644. model.setValue("/root/main/recvdata/recvlist["+ i +"]/recvchk", "false");
  645. }
  646. }else{
  647. for(var i = 1; i <= grd_recvlist.rows-grd_recvlist.fixedRows; i++ ){
  648. model.setValue("/root/main/recvdata/recvlist["+ i +"]/recvchk", "true");
  649. }
  650. }
  651. model.refresh();
  652. ]]>
  653. </script>
  654. </button>
  655. </group>
  656. </xhtml:body>
  657. </xhtml:html>