SPMMB00300_SMS전송.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMB00300" position="absolute 0 0 336 510" titletext="SMS전송" onload="SPMMB00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <TextArea id="tar_msgcnts" taborder="7" position="absolute 11 25 326 139"/>
  8. <Static id="caption22" text="메시지는 최대 40자까지 입력가능합니다." position="absolute 102 140 327 160"/>
  9. <Shape id="roundrect10" type="roundrectangle" position="absolute 11 167 326 467"/>
  10. <Static text="SMS 전송" position="absolute 0 0 143 17" align="align:center middle;" id="caption6" class="tit_2"/>
  11. <Button position="absolute 269 477 325 499" id="btn_close" class="btn4" enable="true" text="닫기" onclick="btn_close_onclick"/>
  12. <Button position="absolute 150 477 266 499" id="btn_msgsend" class="btn4" taborder="6" visible="true" text="메세지 보내기" onclick="btn_msgsend_onclick"/>
  13. <Button position="absolute 79 477 147 499" id="btn_writeinit" class="btn4" visible="false" text="초기화" onclick="btn_writeinit_onclick"/>
  14. <Static text="번호" position="absolute 160 177 200 194" id="caption20" class="search_name"/>
  15. <Static text="이름" position="absolute 19 177 59 194" id="caption21" class="search_name"/>
  16. <Button position="absolute 258 205 314 227" id="button8" class="btn1" text="삭제" onclick="button8_onclick"/>
  17. <Static text="발신 번호 :" position="absolute 25 439 124 456" id="caption13" class="search_name"/>
  18. <Grid position="absolute 20 235 315 425" id="grd_receiver" visible="true" binddataset="ds_main_recvrlist">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="72"/>
  23. <Column size="187"/>
  24. </Columns>
  25. <Rows>
  26. <Row size="24" band="head"/>
  27. <Row size="24"/>
  28. </Rows>
  29. <Band id="head">
  30. <Cell text="이름"/>
  31. <Cell col="1" text="호출 번호"/>
  32. </Band>
  33. <Band id="body">
  34. <Cell style="selectbackground:#ff9900ff;" text="bind:usernm"/>
  35. <Cell col="1" style="selectbackground:#ff9900ff;" text="bind:mpphonno"/>
  36. </Band>
  37. </Format>
  38. </Formats>
  39. </Grid>
  40. <Button position="absolute 198 205 254 227" id="button10" class="btn1" taborder="3" text="추가" onclick="button10_onclick"/>
  41. <MaskEdit position="absolute 115 436 315 455" id="input4" taborder="4" visible="true" mask="99999999999"/>
  42. <MaskEdit position="absolute 205 175 315 194" id="input5" taborder="2" mask="@@@@@@@@@@@@@" type="string" maskchar=" "/>
  43. <Edit position="absolute 64 175 140 194" id="input6" taborder="1" imemode="hangul"/>
  44. </Layout>
  45. </Layouts>
  46. <Objects>
  47. <Dataset id="ds_main_recvrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  48. <ColumnInfo>
  49. <Column id="usernm" type="STRING" size="256"/>
  50. <Column id="mpphonno" type="STRING" size="256"/>
  51. </ColumnInfo>
  52. </Dataset>
  53. <Dataset id="ds_send_writemsg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  54. <ColumnInfo>
  55. <Column id="msgcnts" type="STRING" size="256"/>
  56. <Column id="recvrid" type="STRING" size="256"/>
  57. </ColumnInfo>
  58. <Rows>
  59. <Row/>
  60. </Rows>
  61. </Dataset>
  62. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  63. <ColumnInfo>
  64. <Column id="recvnum" type="STRING" size="256"/>
  65. <Column id="recvnm" type="STRING" size="256"/>
  66. </ColumnInfo>
  67. <Rows>
  68. <Row/>
  69. </Rows>
  70. </Dataset>
  71. <Dataset id="ds_send_writemsg_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  72. <ColumnInfo>
  73. <Column id="calltype" type="STRING" size="256"/>
  74. <Column id="calltelno" type="STRING" size="256"/>
  75. <Column id="insuflag" type="STRING" size="256"/>
  76. <Column id="msgcnts" type="STRING" size="256"/>
  77. <Column id="recvrid" type="STRING" size="256"/>
  78. </ColumnInfo>
  79. <Rows>
  80. <Row>
  81. <Col id="calltype">msg</Col>
  82. </Row>
  83. </Rows>
  84. </Dataset>
  85. <Dataset id="ds_send_writemsg_recvrid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  86. <ColumnInfo>
  87. <Column id="usernm" type="STRING" size="256" sumtext="수신자 이름"/>
  88. <Column id="userid" type="STRING" size="256" sumtext="수신자 ID"/>
  89. <Column id="mpphonno" type="STRING" size="256" sumtext="호출번호"/>
  90. <Column id="deptcd" type="STRING" size="256" sumtext="병동 또는 근무지부서 코드"/>
  91. </ColumnInfo>
  92. </Dataset>
  93. <Dataset id="ds_temp_succnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="getV" type="STRING" size="256"/>
  96. </ColumnInfo>
  97. </Dataset>
  98. </Objects>
  99. <Bind>
  100. <BindItem id="item0" compid="tar_msgcnts" propid="value" datasetid="ds_send_writemsg_send" columnid="msgcnts"/>
  101. <BindItem id="item1" compid="input6" propid="value" datasetid="ds_main" columnid="recvnm"/>
  102. <BindItem id="item2" compid="input5" propid="value" datasetid="ds_main" columnid="recvnum"/>
  103. <BindItem id="item3" compid="input4" propid="value" datasetid="ds_send_writemsg_send" columnid="calltelno"/>
  104. </Bind>
  105. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  106. * System Name :
  107. * Job Name :
  108. * Creator :
  109. * Make Date : 2014-12-16
  110. * Description :
  111. *---------------------------------------------------------------------------------------
  112. * Modify Date Modifier Modify Description
  113. *---------------------------------------------------------------------------------------
  114. * 2014-12-16 Live Converter TF->XP
  115. *
  116. *---------------------------------------------------------------------------------------
  117. ****************************************************************************************/
  118. //=======================================================================================
  119. // Lib Include
  120. //---------------------------------------------------------------------------------------
  121. include "com_commonxp::comm_main.xjs"
  122. //include "com_commodulexp::SSZFM00401.xjs"
  123. //=======================================================================================
  124. // Event
  125. //---------------------------------------------------------------------------------------
  126. /****************************************************************************************
  127. * Components : Form
  128. * Components ID : SPMMB00300
  129. * Event : onload
  130. * Argument : 01.obj : Object Event has occurred
  131. * : 02.e : Event Object
  132. * Description : 화면 로드시 초기화 함수 실행
  133. ****************************************************************************************/
  134. function SPMMB00300_onload(obj:Form, e:LoadEventInfo)
  135. {
  136. frmf_initForm(obj); // 폼 초기화
  137. // lf_commoduleDataSetShow();
  138. //grid 초기화
  139. ds_main_recvrlist.clear();
  140. //메세지창 초기화(?)
  141. ds_send_writemsg_send.setColumn(0,"msgcnts","");
  142. //발신번호 세팅
  143. ds_send_writemsg_send.setColumn(0,"calltelno","");
  144. // grd_receiver.focusColor ="#ff9900";
  145. var hngnm = opener.frmf_getParameter("SPMMB00300_name");
  146. var mpphontel0 = opener.frmf_getParameter("SPMMB00300_hpnum");
  147. var mpphontel = mpphontel0.split("-").join("");
  148. mpphontel = mpphontel.split(" ").join("");
  149. if(!utlf_isNull(mpphontel)){
  150. ds_main.setColumn(0,"recvnm",hngnm);
  151. ds_main.setColumn(0,"recvnum",mpphontel);
  152. fAddRecieveRows();
  153. }
  154. tar_msgcnts.setFocus();
  155. }
  156. /****************************************************************************************
  157. * Components : Button
  158. * Components ID : button10
  159. * Event : onclick
  160. * Argument : 01.obj : Object Event has occurred
  161. * : 02.e : Event Object
  162. * Description : 추가버튼 클릭
  163. ****************************************************************************************/
  164. function button10_onclick(obj:Button, e:ClickEventInfo)
  165. {
  166. fAddRecieveRows();
  167. }
  168. /****************************************************************************************
  169. * Components : Button
  170. * Components ID : button8
  171. * Event : onclick
  172. * Argument : 01.obj : Object Event has occurred
  173. * : 02.e : Event Object
  174. * Description : 삭제버튼 클릭
  175. ****************************************************************************************/
  176. function button8_onclick(obj:Button, e:ClickEventInfo)
  177. {
  178. dsf_deleteSelectedRows(grd_receiver, true);
  179. }
  180. /****************************************************************************************
  181. * Components : Button
  182. * Components ID : btn_writeinit
  183. * Event : onclick
  184. * Argument : 01.obj : Object Event has occurred
  185. * : 02.e : Event Object
  186. * Description : 초기화버튼 클릭
  187. ****************************************************************************************/
  188. function btn_writeinit_onclick(obj:Button, e:ClickEventInfo)
  189. {
  190. //ds_send_writemsg.setColumn(0,"msgcnts","");
  191. ds_send_writemsg_recvrid.clear();
  192. }
  193. /****************************************************************************************
  194. * Components : Button
  195. * Components ID : btn_writeinit
  196. * Event : onclick
  197. * Argument : 01.obj : Object Event has occurred
  198. * : 02.e : Event Object
  199. * Description : 초기화버튼 클릭
  200. ****************************************************************************************/
  201. function btn_msgsend_onclick(obj:Button, e:ClickEventInfo)
  202. {
  203. // 필수 입력 확인
  204. if(utlf_isNull(tar_msgcnts.value)) {
  205. sysf_messageBox("메시지는", "I003");
  206. return;
  207. }
  208. if(ds_main_recvrlist.rowcount == 0) {
  209. sysf_messageBox("받는이는", "I003");
  210. return;
  211. }
  212. // 메시지 크기 확인
  213. //var msglen = fGetMessageByteLen(model.getValue("/root/send/writemsg/send/msgcnts"));
  214. // var msgcnts = new String(model.getValue("/root/send/writemsg/send/msgcnts"));
  215. var msgcnts = String(ds_send_writemsg_send.getColumn(0,"msgcnts"));
  216. var msglen = msgcnts.getByteLength();
  217. var calltype = ds_send_writemsg_send.getColumn(0,"calltype");
  218. if(calltype == "msg" && msglen > 200) {
  219. sysf_messageBox("한글 100글자를 초과 입력할 수 없습니다.\n현재 "+msglen,"E");
  220. return;
  221. } else if (calltype != "msg" && msglen > 80) {
  222. sysf_messageBox("한글 40글자를 초과 입력할 수 없습니다.\n현재 "+msglen,"E");
  223. return;
  224. }
  225. // 받는이 목록 인코딩
  226. // var recvrs = grd_receiver.getUpdateData();
  227. // model.makeValue("/root/send/writemsg/send/recvrid",recvrs);
  228. var oDsUpdate = grdf_getGridUpdateData(grd_receiver);
  229. ds_send_writemsg_recvrid.copyData(oDsUpdate);
  230. var oParam = {};
  231. oParam.id = "TXMMB00300";
  232. oParam.service = "qiapp.SmsMngt";
  233. oParam.method = "reqExeSendUserMessage";
  234. oParam.inds = "recvr=ds_send_writemsg_recvrid req=ds_send_writemsg_send";
  235. oParam.outds = "ds_temp_succnt=succnt";
  236. oParam.async = false;
  237. oParam.callback = "cf_TXMMB00300";
  238. tranf_submit(oParam);
  239. }
  240. /****************************************************************************************
  241. * Components : Button
  242. * Components ID : btn_close
  243. * Event : onclick
  244. * Argument : 01.obj : Object Event has occurred
  245. * : 02.e : Event Object
  246. * Description : 닫기 클릭
  247. ****************************************************************************************/
  248. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  249. {
  250. this.close();
  251. }
  252. //=======================================================================================
  253. // Function
  254. //---------------------------------------------------------------------------------------
  255. /****************************************************************************************
  256. * Function : fAddRecieveRows
  257. * Description : 전송대상자 추가
  258. * Argument :
  259. * :
  260. * return type :
  261. * Creator :
  262. ****************************************************************************************/
  263. function fAddRecieveRows(){
  264. var recvnum = ds_main.getColumn(0,"recvnum");
  265. var recvnm = ds_main.getColumn(0,"recvnm");
  266. //recvnm check
  267. if(utlf_isNull(recvnm)) {
  268. sysf_messageBox("이름을 입력하세요", "I");
  269. input6.setFocus();
  270. return;
  271. }
  272. //recvnum check 후에 addrow
  273. if(utlf_isNull(recvnum)) {
  274. sysf_messageBox("메세지 전송할 번호를 입력하세요","I");
  275. input5.setFocus();
  276. return;
  277. }
  278. ds_main_recvrlist.addRow();
  279. var curRow = ds_main_recvrlist.rowposition;
  280. ds_main_recvrlist.setColumn(curRow,"mpphonno",recvnum);
  281. ds_main_recvrlist.setColumn(curRow,"usernm" ,recvnm);
  282. ds_main.setColumn(0,"recvnum", "");
  283. ds_main.setColumn(0,"recvnm" , "");
  284. }
  285. /****************************************************************************************
  286. * Function : cf_TXMMB00300
  287. * Description : TXMMB00300 콜백 함수
  288. * Argument :
  289. * :
  290. * return type :
  291. * Creator :
  292. ****************************************************************************************/
  293. function cf_TXMMB00300(sSvcId, nErrorCode, sErrorMsg) {
  294. if(nErrorCode < 0) return;
  295. else {
  296. sysf_messageBox("메시지 전송이 ", "I002");
  297. ds_main_recvrlist.clearData();
  298. ds_send_writemsg_send.setColumn(0,"msgcnts","");
  299. }
  300. }
  301. ]]></Script>
  302. </Form>
  303. </FDL>