SPZMI00103_파랑새문자호출.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZMI00103" classname="SPZMI00103_파랑새문자전송" inheritanceid="" position="absolute 0 0 540 420" titletext="파랑새문자호출" class="frm_POP" onload="SPZMI00103_onload" oninit="SPZMI00103_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption00" text="파랑새 문자호출" class="sta_POP_title" position="absolute 12 8 161 28"/>
  8. <Button id="btn_close" taborder="1" onclick="btn_close_onclick" class="btn_POP_cls" position="absolute 515 12 529 25"/>
  9. <GroupBox id="GroupBox02" text="메세지" position="absolute 325 132 526 298"/>
  10. <Button id="btn_send" taborder="2" text="SMS 전송" position="absolute 381 362 470 382" class="btn4" onclick="btn_send_onclick"/>
  11. <Button id="btn_close2" taborder="3" text="닫기" position="absolute 475 362 527 382" class="btn3" onclick="btn_close_onclick"/>
  12. <CheckBox id="chk_autoclose" taborder="4" text="SMS 전송 후 자동 닫기" position="absolute 372 389 528 409" onclick="chk_autoclose_onclick"/>
  13. <Div id="div_patinfo" taborder="5" position="absolute 14 51 526 113">
  14. <Layouts>
  15. <Layout>
  16. <GroupBox id="GroupBox00" text="환자정보" position="absolute 0 0 512 62" anchor="default"/>
  17. <Static id="Static00" text="환자번호 :" position="absolute 31 25 107 45" class="search_name" anchor="default"/>
  18. <Static id="Static01" text="환자이름 :" class="search_name" position="absolute 256 25 332 45" anchor="default"/>
  19. <Static id="stt_pid" position="absolute 116 24 216 44" anchor="default" style="font:Dotum,11,bold;"/>
  20. <Static id="stt_name" position="absolute 348 25 503 45" anchor="default" style="font:Dotum,11,bold;"/>
  21. </Layout>
  22. </Layouts>
  23. </Div>
  24. <Div id="div_sendlist" taborder="7" position="absolute 15 132 315 405">
  25. <Layouts>
  26. <Layout width="293" height="262">
  27. <GroupBox id="GroupBox01" text="받는 사람 (환자 담당교수, 담당의, 해당 CPR팀)" position="absolute 0 0 300 273" anchor="default"/>
  28. <Grid id="grd_sendlist" taborder="1" useinputpanel="false" position="absolute 13 23 286 258" anchor="default" autofittype="col" binddataset="ds_recvrlist" autosizingtype="row" extendsizetype="row">
  29. <Formats>
  30. <Format id="default">
  31. <Columns>
  32. <Column size="58"/>
  33. <Column size="30"/>
  34. <Column size="82"/>
  35. <Column size="102"/>
  36. </Columns>
  37. <Rows>
  38. <Row size="24" band="head"/>
  39. <Row size="24"/>
  40. </Rows>
  41. <Band id="head">
  42. <Cell/>
  43. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="전송"/>
  44. <Cell col="2" text="이름"/>
  45. <Cell col="3" text="휴대폰번호"/>
  46. </Band>
  47. <Band id="body">
  48. <Cell celltype="head" style="padding:4 0 0 0;background:EXPR(fGetGubunColor(gubun));background2:EXPR(fGetGubunColor(gubun));selectbackground:EXPR(fGetGubunColor(gubun));" text="bind:gubun" wordwrap="both" autosizerow="limitmin"/>
  49. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sendcheck" autosizerow="limitmin"/>
  50. <Cell col="2" text="bind:usernm" autosizerow="limitmin"/>
  51. <Cell col="3" text="bind:mpphonno" autosizerow="limitmin"/>
  52. </Band>
  53. </Format>
  54. </Formats>
  55. </Grid>
  56. </Layout>
  57. </Layouts>
  58. </Div>
  59. <Static id="stt_smsmsg" position="absolute 341 159 513 282" style="linespace:5;align:left top;font:Dotum,11;"/>
  60. <Div id="div_test" taborder="9" position="absolute 326 312 526 352" visible="false">
  61. <Layouts>
  62. <Layout>
  63. <MaskEdit id="mk_time" taborder="0" type="string" mask="##:##" maskchar=" " trimtype="both" autoselect="true" position="absolute 112 20 153 40" anchor="right bottom" style="align:center middle;" ontextchange="div_test_mk_time_ontextchange"/>
  64. <Calendar id="Calendar00" taborder="1" position="absolute 7 20 109 40" anchor="default" value="null" dateformat="yyyy-MM-dd ddd"/>
  65. <Static id="Static00" text="테스트시간 :" position="absolute 0 0 84 20" class="search_name" anchor="default"/>
  66. <Button id="btn_search" taborder="2" text="조회" position="absolute 156 20 197 40" class="btn2" onclick="div_test_btn_search_onclick"/>
  67. </Layout>
  68. </Layouts>
  69. </Div>
  70. </Layout>
  71. </Layouts>
  72. <Objects>
  73. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="instcd" type="STRING" size="256"/>
  76. <Column id="pid" type="STRING" size="256"/>
  77. <Column id="orddeptcd" type="STRING" size="256"/>
  78. <Column id="indd" type="STRING" size="256"/>
  79. <Column id="cretno" type="STRING" size="256"/>
  80. <Column id="ioflag" type="STRING" size="256"/>
  81. <Column id="deptcd" type="STRING" size="256"/>
  82. <Column id="wardcd" type="STRING" size="256"/>
  83. <Column id="searchdate" type="STRING" size="256"/>
  84. <Column id="searchtime" type="STRING" size="256"/>
  85. </ColumnInfo>
  86. <Rows>
  87. <Row/>
  88. </Rows>
  89. </Dataset>
  90. <Dataset id="ds_recvrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="gubun" type="STRING" size="256"/>
  93. <Column id="usernm" type="STRING" size="256"/>
  94. <Column id="orddeptcd" type="STRING" size="256"/>
  95. <Column id="mpphonno" type="STRING" size="256"/>
  96. <Column id="sendcheck" type="STRING" size="256"/>
  97. </ColumnInfo>
  98. </Dataset>
  99. <Dataset id="ds_sendlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  100. <Dataset id="ds_sendinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  101. <ColumnInfo>
  102. <Column id="cntctel" type="STRING" size="256"/>
  103. </ColumnInfo>
  104. </Dataset>
  105. </Objects>
  106. <Bind>
  107. <BindItem id="item0" compid="div_test.Calendar00" propid="value" datasetid="ds_send" columnid="searchdate"/>
  108. <BindItem id="item1" compid="div_test.mk_time" propid="value" datasetid="ds_send" columnid="searchtime"/>
  109. </Bind>
  110. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"
  111. function SPZMI00103_oninit(obj:Form, e:InitEventInfo)
  112. {
  113. frmf_initForm(obj);
  114. }
  115. function SPZMI00103_onload(obj:Form, e:LoadEventInfo)
  116. {
  117. grdf_initGrid(div_sendlist.grd_sendlist);
  118. div_sendlist.grd_sendlist.setCellProperty("Head", 1, "text", "expr:1"); // 전체 체크 기본 체크
  119. chk_autoclose.value = application.getPrivateProfile("gv_bBlueBirdAutoClose") == "true"? true : false ;
  120. if(gv_currentInstnm.indexOf("교육") > -1 || gv_currentInstnm.indexOf("로컬") > -1) {
  121. div_test.visible = true;
  122. ds_send.setColumn(0, "searchdate", utlf_getCurrentDate());
  123. ds_send.setColumn(0, "searchtime", "2100");
  124. } else {
  125. div_test.visible = false;
  126. ds_send.setColumn(0, "searchdate", "");
  127. ds_send.setColumn(0, "searchtime", "");
  128. }
  129. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  130. if(dutplceinstcd == "032") {
  131. div_sendlist.GroupBox01.text = "받는 사람 (환자 담당교수, 담당의, 당직의)";
  132. } else {
  133. div_sendlist.GroupBox01.text = "받는 사람 (환자 담당교수, 담당의, 해당 CPR팀)";
  134. }
  135. if(fSetInfo())
  136. fGetBlueBirdSMSSendList();
  137. }
  138. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  139. {
  140. this.close();
  141. }
  142. function fSetInfo() {
  143. var pamInfoCvs = sysf_getGlobalVariable("paminfo");
  144. dsf_setCSVToDs ( "ds_paminfo", pamInfoCvs ); //상단화면 정보 초기화
  145. if(ds_paminfo.rowcount <= 0) {
  146. sysf_messageBox("상단 환자정보가 없습니다", "E");
  147. return false;
  148. }
  149. var orddeptnm = ds_paminfo.getColumn(0, "orddeptnm");
  150. var pid = ds_paminfo.getColumn(0, "pid");
  151. var patname = ds_paminfo.getColumn(0, "hngnm");
  152. var ioflag = ds_paminfo.getColumn(0, "ioflag");
  153. div_patinfo.stt_pid.text = pid;
  154. div_patinfo.stt_name.text = patname;
  155. if(ioflag == "O") {
  156. stt_smsmsg.text = "CPR상황발생 :\n" + orddeptnm + "외래\n" + pid + " " + patname;
  157. } else {
  158. var room = ds_paminfo.getColumn(0, "roomcd");
  159. stt_smsmsg.text = "CPR상황발생 : " + room + "호\n" + orddeptnm + "\n" + pid + " " + patname;
  160. }
  161. return true;
  162. }
  163. function fGetBlueBirdSMSSendList() {
  164. ds_send.setColumn(0, "instcd", ds_paminfo.getColumn(0, "instcd"));
  165. ds_send.setColumn(0, "pid", ds_paminfo.getColumn(0, "pid"));
  166. ds_send.setColumn(0, "cretno", ds_paminfo.getColumn(0, "cretno"));
  167. ds_send.setColumn(0, "orddeptcd", ds_paminfo.getColumn(0, "orddeptcd"));
  168. var ioflag = ds_paminfo.getColumn(0, "ioflag");
  169. if(ioflag != "O") {
  170. ds_send.setColumn(0, "indd", ds_paminfo.getColumn(0, "indd"));
  171. ds_send.setColumn(0, "deptcd", ds_paminfo.getColumn(0, "wardcd"));
  172. ds_send.setColumn(0, "wardcd", ds_paminfo.getColumn(0, "wardcd"));
  173. } else {
  174. ds_send.setColumn(0, "deptcd", ds_paminfo.getColumn(0, "orddeptcd"));
  175. }
  176. ds_send.setColumn(0, "ioflag", ioflag);
  177. var oParam = {};
  178. oParam.id = "TRZMI03103";
  179. oParam.service = "instantmsgapp.InstantMsg";
  180. oParam.method = "reqGetBlueBirdSMSSendList";
  181. oParam.inds = "req=ds_send";
  182. oParam.outds = "ds_recvrlist=smssendlist ds_sendinfo=smssendinfo";
  183. oParam.async = true;
  184. oParam.callback = "cf_TRMMO00160";
  185. tranf_submit(oParam);
  186. }
  187. function cf_TRMMO00160(sSvcId, nErrorCode, sErrorMsg) {
  188. if(nErrorCode< 0) return;
  189. }
  190. function btn_send_onclick(obj:Button, e:ClickEventInfo)
  191. {
  192. if (ds_recvrlist.rowcount <= 0) {
  193. sysf_messageBox("받는 사람이 없습니다", "I");
  194. return;
  195. }
  196. var sInDsName = dsf_createDsRow("ds_searchicon"
  197. , [{col: "calltype", val: "msgcall" }
  198. , {col: "msgcnts", val: stt_smsmsg.text}
  199. , {col: "insuflag", val: ""}
  200. , {col: "calltelno", val: ds_sendinfo.getColumn(0, "cntctel")}
  201. , {col: "systemnm", val: sysf_getSystemInfo("systemcd")}]);
  202. dsf_copyColInfo(ds_sendlist, ds_recvrlist);
  203. for(var i = 0; i < ds_recvrlist.rowcount; i++) {
  204. if(ds_recvrlist.getColumn(i, "sendcheck") != 1) continue;
  205. var mpphonno = ds_recvrlist.getColumn(i, "mpphonno");
  206. if(ds_sendlist.findRow("mpphonno", mpphonno) < 0) {
  207. var row = ds_sendlist.addRow();
  208. ds_sendlist.copyRow(row, ds_recvrlist, i);
  209. }
  210. }
  211. // tranf_submit({
  212. // id: "TXZMI00202"
  213. // , service: "instantmsgapp.InstantMsg"
  214. // , method: "reqExeSendUserMessage"
  215. // , inds: "recvr=ds_sendlist req="+sInDsName
  216. // , callback: "cbf_TXZMI00202"
  217. // , async: false
  218. // });
  219. }
  220. function cbf_TXZMI00202()
  221. {
  222. sysf_messageBox("메시지 전송이 ", "I002");
  223. if(chk_autoclose.value)
  224. this.close();
  225. }
  226. function chk_autoclose_onclick(obj:CheckBox, e:ClickEventInfo)
  227. {
  228. application.setPrivateProfile("gv_bBlueBirdAutoClose", obj.value);
  229. }
  230. function fGetGubunColor(gubun) {
  231. var color = "";
  232. switch(gubun) {
  233. case "담당교수" :
  234. color = "limegreen";
  235. break;
  236. case "담당의사" :
  237. color = "#68db68";
  238. break;
  239. default :
  240. color = "#abebab";
  241. break;
  242. }
  243. return color;
  244. }
  245. function div_test_mk_time_ontextchange(obj:MaskEdit, e:TextChangeEventInfo)
  246. {
  247. utlf_validMaskEditTime(obj, e);
  248. }
  249. function div_test_btn_search_onclick(obj:Button, e:ClickEventInfo)
  250. {
  251. fGetBlueBirdSMSSendList();
  252. }
  253. ]]></Script>
  254. </Form>
  255. </FDL>