SPCCN00100_SMS전송.xfdl 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPCCN00100" position="absolute 0 0 750 607" titletext="SMS전송" oninit="SPCCN00100_oninit" onload="SPCCN00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" taborder="0" style="background:transparent URL('..\..\..\com\commonxp\images\sms_bg.gif');" class="sms" position="absolute 0 0 251 593">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption8" text="/ 80" position="absolute 160 44 200 63"/>
  11. <Button id="btn_add" taborder="2" text="번호추가" class="btn2" position="absolute 49 479 122 502" style="font:Dotum,9,bold;" onclick="group1_btn_add_onclick"/>
  12. <Button id="btn_delete" taborder="3" text="번호삭제" class="btn2" position="absolute 128 479 201 502" style="font:Dotum,9,bold;" onclick="group1_btn_delete_onclick"/>
  13. <Button id="btn_trsm" taborder="4" text="전송" class="btn4" position="absolute 65 534 120 555" onclick="group1_btn_trsm_onclick"/>
  14. <Button id="btn_cncl" taborder="5" text="취소" class="btn4" position="absolute 126 534 181 555" onclick="group1_btn_cncl_onclick"/>
  15. <Shape id="line1" position="absolute 28 502 221 508"/>
  16. <Radio id="rdo_rsrvyn" taborder="6" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 18 510 109 527" onitemchanged="group1_rdo_rsrvyn_onitemchanged">
  17. <Dataset id="innerdataset">
  18. <ColumnInfo>
  19. <Column id="codecolumn"/>
  20. <Column id="datacolumn"/>
  21. </ColumnInfo>
  22. <Rows>
  23. <Row>
  24. <Col id="codecolumn">N</Col>
  25. <Col id="datacolumn">일반</Col>
  26. </Row>
  27. <Row>
  28. <Col id="codecolumn">Y</Col>
  29. <Col id="datacolumn">예약</Col>
  30. </Row>
  31. </Rows>
  32. </Dataset>
  33. </Radio>
  34. <Calendar id="ipt_trsmreqdt_date" taborder="7" autoselect="true" class="input_default" position="absolute 107 510 187 529"/>
  35. <MaskEdit id="ipt_trsmreqdt_time" taborder="8" mask="##:##" autoselect="true" class="input_default" position="absolute 188 510 228 529" maskchar=" " type="string" trimtype="both" style="align:center middle;"/>
  36. <Static id="caption1" text="회신 번호 :" position="absolute 39 246 109 263"/>
  37. <Edit id="ipt_callback" taborder="9" class="input_default" position="absolute 105 245 214 264" maxlength="11" autoselect="true"/>
  38. <Button id="btn_address" taborder="10" text="주소록" class="btn2" position="absolute 35 284 88 303" onclick="group1_btn_address_onclick"/>
  39. <Button id="btn_addfile" taborder="11" text="외부파일 가져오기" class="btn2" position="absolute 95 284 214 303" onclick="group1_btn_addfile_onclick"/>
  40. <Grid id="grd_recvrlist" class="datagrid_sms" taborder="12" binddataset="ds_main_recvrinfo_recvrlist" useinputpanel="false" position="absolute 26 335 221 477" autoenter="select" cellsizingtype="col" selecttype="multirow">
  41. <Formats>
  42. <Format id="default">
  43. <Columns>
  44. <Column size="23" band="left"/>
  45. <Column size="18" band="left"/>
  46. <Column size="60"/>
  47. <Column size="93"/>
  48. </Columns>
  49. <Rows>
  50. <Row size="24" band="head"/>
  51. <Row size="24"/>
  52. </Rows>
  53. <Band id="head">
  54. <Cell/>
  55. <Cell col="1"/>
  56. <Cell col="2" text="수신자명"/>
  57. <Cell col="3" text="전화번호"/>
  58. </Band>
  59. <Band id="body">
  60. <Cell celltype="head" expr="currow+1"/>
  61. <Cell col="1" displaytype="checkbox" edittype="checkbox" class="sms" text="bind:chk" expr="expr:chk == 'Y' || chk == '1' ? 1 : 0"/>
  62. <Cell col="2" displaytype="text" edittype="text" text="bind:recvrnm"/>
  63. <Cell col="3" displaytype="text" edittype="text" text="bind:recvrtelno"/>
  64. </Band>
  65. </Format>
  66. </Formats>
  67. </Grid>
  68. <Button id="btn_allchk" taborder="13" text="All" class="btn2_letter2" position="absolute 27 335 68 360" onclick="group1_btn_allchk_onclick"/>
  69. <Combo id="cmb_searchtype" taborder="14" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_default" position="absolute 26 310 96 329">
  70. <Dataset id="innerdataset">
  71. <ColumnInfo>
  72. <Column id="codecolumn"/>
  73. <Column id="datacolumn"/>
  74. </ColumnInfo>
  75. <Rows>
  76. <Row>
  77. <Col id="codecolumn"/>
  78. <Col id="datacolumn">전체</Col>
  79. </Row>
  80. <Row>
  81. <Col id="codecolumn">1</Col>
  82. <Col id="datacolumn">환자</Col>
  83. </Row>
  84. <Row>
  85. <Col id="codecolumn">2</Col>
  86. <Col id="datacolumn">교직원</Col>
  87. </Row>
  88. <Row>
  89. <Col id="codecolumn">3</Col>
  90. <Col id="datacolumn">기타</Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. </Combo>
  95. <Button id="btnicon_search3" taborder="15" class="icon_search" position="absolute 211 311 227 327" onclick="group1_btnicon_search3_onclick"/>
  96. <Edit id="ipt_searchname" taborder="16" position="absolute 100 310 205 329" autoselect="true" onkeyup="group1_ipt_searchname_onkeyup"/>
  97. <TextArea id="tar_contents" taborder="17" scrollbars="autovert" imemode="hangul" wordwrap="word" lengthunit="ascii" maxlength="80" position="absolute 31 67 220 239" style="compositecolor:black;linespace:5;background:transparent;color:black;" onkeyup="group1_tar_contents_onkeyup"/>
  98. <Edit id="ipt_messagecnt" taborder="18" position="absolute 129 44 157 63" autoselect="true" maxlength="20" readonly="true" style="align:right middle;"/>
  99. </Layout>
  100. </Layouts>
  101. </Div>
  102. <Static id="caption9" text="SMS 승인정보" class="tit_2" position="absolute 264 9 375 30"/>
  103. <Shape id="line2" class="line_10" position="absolute 264 25 738 31"/>
  104. <Static id="cap_dtmntitl" text="전송사유" class="cell_1" position="absolute 264 30 369 53"/>
  105. <Edit id="ipt_aprvreqsmmcnts" taborder="1" class="input_essential" position="absolute 372 32 737 51" autoselect="true"/>
  106. <Shape id="line4" class="line_2" position="absolute 264 52 738 58"/>
  107. <Static id="caption2" text="결재구분" class="cell_1" position="absolute 264 56 369 79"/>
  108. <Shape id="line3" class="line_2" position="absolute 264 78 738 84"/>
  109. <Static id="caption3" text="SMS 즉시전송" class="tit_2" position="absolute 264 89 375 110"/>
  110. <Shape id="line5" class="line_10" position="absolute 264 105 738 111"/>
  111. <Shape id="line6" class="line_2" position="absolute 264 132 738 138"/>
  112. <Static id="caption4" text="그룹" class="cell_1" position="absolute 264 110 369 133"/>
  113. <Combo id="cmb_msglrgcd" taborder="2" innerdataset="@ds_init_chnllrglist_chnllrggrup" codecolumn="msglrgcd" datacolumn="msglrgnm" class="combo_default" position="absolute 372 112 522 131" onitemchanged="cmb_msglrgcd_onitemchanged"/>
  114. <Combo id="cmb_msgmdlcd" taborder="3" innerdataset="@ds_init_chnlmdllist_chnlmdlgrup" codecolumn="msgmdlcd" datacolumn="msgmdlnm" class="combo_default" position="absolute 525 112 675 131" onitemchanged="cmb_msgmdlcd_onitemchanged"/>
  115. <Grid id="grd_msglist" taborder="4" binddataset="ds_main_msgsmllist" autoenter="select" useinputpanel="false" cellsizingtype="col" position="absolute 264 136 738 442">
  116. <Formats>
  117. <Format id="default">
  118. <Columns>
  119. <Column size="22"/>
  120. <Column size="50"/>
  121. <Column size="387"/>
  122. <Column size="0"/>
  123. </Columns>
  124. <Rows>
  125. <Row size="24" band="head"/>
  126. <Row size="24"/>
  127. </Rows>
  128. <Band id="head">
  129. <Cell/>
  130. <Cell col="1" text="코드"/>
  131. <Cell col="2" text="메시지"/>
  132. <Cell col="3"/>
  133. </Band>
  134. <Band id="body">
  135. <Cell celltype="head"/>
  136. <Cell col="1" style="align:left middle;padding:0 0 0 3;" text="bind:msgsmlcd"/>
  137. <Cell col="2" style="align:left middle;padding:0 0 0 3;" text="bind:msgcnts"/>
  138. <Cell col="3" text="bind:smstrsmcntcno"/>
  139. </Band>
  140. </Format>
  141. </Formats>
  142. </Grid>
  143. <Static id="caption12" text="자동입력어" class="tit_2" position="absolute 264 453 414 475"/>
  144. <Shape id="line9" class="line_10" position="absolute 264 469 737 475"/>
  145. <Static id="caption13" text="자동입력어" class="cell_1" position="absolute 264 474 369 497"/>
  146. <Div id="group5" taborder="5" position="absolute 369 475 529 498">
  147. <Layouts>
  148. <Layout>
  149. <Button id="button4" taborder="3" text="고객" class="btn2" position="absolute 5 1 58 20" anchor="default" onclick="group5_onclick"/>
  150. <Button id="button8" taborder="4" text="병원명" class="btn2" position="absolute 61 1 114 20" anchor="default" onclick="group5_onclick"/>
  151. </Layout>
  152. </Layouts>
  153. </Div>
  154. <Shape id="line11" class="line_2" position="absolute 264 496 737 502"/>
  155. <Static id="caption14" text="특수문자" class="cell_1" position="absolute 264 500 369 590"/>
  156. <Div id="group4" taborder="6" position="absolute 370 501 734 591">
  157. <Layouts>
  158. <Layout>
  159. <Button id="caption40" taborder="33" text="@" class="btn_number" position="absolute 5 68 44 87" onclick="group5_onclick"/>
  160. <Button id="caption41" taborder="34" text="♨" class="btn_number" position="absolute 47 68 86 87" onclick="group5_onclick"/>
  161. <Button id="caption42" taborder="35" text="☎" class="btn_number" position="absolute 89 68 128 87" onclick="group5_onclick"/>
  162. <Button id="caption31" taborder="36" text="♥" class="btn_number" position="absolute 299 24 338 43" onclick="group5_onclick"/>
  163. <Button id="caption20" taborder="37" text="◎" class="btn_number" position="absolute 215 2 254 21" onclick="group5_onclick"/>
  164. <Button id="caption43" taborder="38" text="☜" class="btn_number" position="absolute 131 68 170 87" onclick="group5_onclick"/>
  165. <Button id="caption32" taborder="39" text="♧" class="btn_number" position="absolute 5 46 44 65" onclick="group5_onclick"/>
  166. <Button id="caption21" taborder="40" text="◇" class="btn_number" position="absolute 257 2 296 21" onclick="group5_onclick"/>
  167. <Button id="caption44" taborder="41" text="☞" class="btn_number" position="absolute 173 68 212 87" onclick="group5_onclick"/>
  168. <Button id="caption33" taborder="42" text="♣" class="btn_number" position="absolute 47 46 86 65" onclick="group5_onclick"/>
  169. <Button id="caption22" taborder="43" text="◆" class="btn_number" position="absolute 299 2 338 21" onclick="group5_onclick"/>
  170. <Button id="caption45" taborder="44" text="%" class="btn_number" position="absolute 215 68 254 87" onclick="group5_onclick"/>
  171. <Button id="caption34" taborder="45" text="◁" class="btn_number" position="absolute 89 46 128 65" onclick="group5_onclick"/>
  172. <Button id="caption23" taborder="46" text="□" class="btn_number" position="absolute 5 24 44 43" onclick="group5_onclick"/>
  173. <Button id="caption46" taborder="47" text="☏" class="btn_number" position="absolute 257 68 296 87" onclick="group5_onclick"/>
  174. <Button id="caption35" taborder="48" text="◀" class="btn_number" position="absolute 131 46 170 65" onclick="group5_onclick"/>
  175. <Button id="caption24" taborder="49" text="■" class="btn_number" position="absolute 47 24 86 43" onclick="group5_onclick"/>
  176. <Button id="caption47" taborder="50" text="♪" class="btn_number" position="absolute 299 68 338 87" onclick="group5_onclick"/>
  177. <Button id="caption36" taborder="51" text="▷" class="btn_number" position="absolute 173 46 212 65" onclick="group5_onclick"/>
  178. <Button id="caption25" taborder="52" text="△" class="btn_number" position="absolute 89 24 128 43" onclick="group5_onclick"/>
  179. <Button id="caption37" taborder="53" text="▶" class="btn_number" position="absolute 215 46 254 65" onclick="group5_onclick"/>
  180. <Button id="caption26" taborder="54" text="▲" class="btn_number" position="absolute 131 24 170 43" onclick="group5_onclick"/>
  181. <Button id="caption15" taborder="55" text="●" class="btn_number" position="absolute 5 2 44 21" onclick="group5_onclick"/>
  182. <Button id="caption38" taborder="56" text="♤" class="btn_number" position="absolute 257 46 296 65" onclick="group5_onclick"/>
  183. <Button id="caption27" taborder="57" text="▽" class="btn_number" position="absolute 173 24 212 43" onclick="group5_onclick"/>
  184. <Button id="caption16" taborder="58" text="※" class="btn_number" position="absolute 47 2 86 21" onclick="group5_onclick"/>
  185. <Button id="caption39" taborder="59" text="♠" class="btn_number" position="absolute 299 46 338 65" onclick="group5_onclick"/>
  186. <Button id="caption28" taborder="60" text="▼" class="btn_number" position="absolute 215 24 254 43" onclick="group5_onclick"/>
  187. <Button id="caption17" taborder="61" text="☆" class="btn_number" position="absolute 89 2 128 21" onclick="group5_onclick"/>
  188. <Button id="caption29" taborder="62" text="♡" class="btn_number" position="absolute 257 24 296 43" onclick="group5_onclick"/>
  189. <Button id="caption18" taborder="63" text="★" class="btn_number" position="absolute 131 2 170 21" onclick="group5_onclick"/>
  190. <Button id="caption19" taborder="64" text="○" class="btn_number" position="absolute 173 2 212 21" onclick="group5_onclick"/>
  191. </Layout>
  192. </Layouts>
  193. </Div>
  194. <Radio id="cmb_sanctflag" taborder="7" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 374 58 489 78" tooltiptext="전송 전에 승인요청 목록에 등록되며, 승인 후 즉시(또는 예약시간에) 발송이 이루어짐." onitemclick="cmb_sanctflag_onitemclick">
  195. <Dataset id="innerdataset">
  196. <ColumnInfo>
  197. <Column id="codecolumn"/>
  198. <Column id="datacolumn"/>
  199. </ColumnInfo>
  200. <Rows>
  201. <Row>
  202. <Col id="codecolumn">1</Col>
  203. <Col id="datacolumn">전송 전 승인요청</Col>
  204. </Row>
  205. </Rows>
  206. </Dataset>
  207. </Radio>
  208. <Radio id="cmb_sanctflag2" taborder="8" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 494 57 609 77" tooltiptext="전송시 즉시(또는 예약시간에) 발송되며, 승인요청 목록에서 사후 승인됨." onitemclick="cmb_sanctflag2_onitemclick">
  209. <Dataset id="innerdataset">
  210. <ColumnInfo>
  211. <Column id="codecolumn"/>
  212. <Column id="datacolumn"/>
  213. </ColumnInfo>
  214. <Rows>
  215. <Row>
  216. <Col id="codecolumn">2</Col>
  217. <Col id="datacolumn">전송 후 승인요청</Col>
  218. </Row>
  219. </Rows>
  220. </Dataset>
  221. </Radio>
  222. </Layout>
  223. </Layouts>
  224. <Objects>
  225. <Dataset id="ds_main_msgattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  226. <ColumnInfo>
  227. <Column id="trsmdd" type="STRING" size="256"/>
  228. <Column id="bizflag" type="STRING" size="256"/>
  229. <Column id="bizdetlcd" type="STRING" size="256"/>
  230. <Column id="rsrvdd" type="STRING" size="256"/>
  231. <Column id="rsrvtm" type="STRING" size="256"/>
  232. <Column id="replytelno" type="STRING" size="256"/>
  233. <Column id="msgcnts" type="STRING" size="256"/>
  234. <Column id="rsrvyn" type="STRING" size="256"/>
  235. <Column id="recvrpid" type="STRING" size="256"/>
  236. <Column id="urgntflag" type="STRING" size="256"/>
  237. <Column id="delivedd" type="STRING" size="256"/>
  238. <Column id="delivereqtm" type="STRING" size="256"/>
  239. <Column id="cmpncd" type="STRING" size="256"/>
  240. <Column id="cmpnnm" type="STRING" size="256"/>
  241. <Column id="orddrid" type="STRING" size="256"/>
  242. <Column id="prcpcd" type="STRING" size="256"/>
  243. <Column id="msglrgcd" type="STRING" size="256"/>
  244. <Column id="msgmdlcd" type="STRING" size="256"/>
  245. <Column id="msgsmlcd" type="STRING" size="256"/>
  246. <Column id="recvrlist" type="STRING" size="256"/>
  247. <Column id="aprvyn" type="STRING" size="256"/>
  248. <Column id="aprvreqsmmcnts" type="STRING" size="256"/>
  249. <Column id="sanctflag" type="STRING" size="256"/>
  250. </ColumnInfo>
  251. <Rows>
  252. <Row>
  253. <Col id="trsmdd"/>
  254. <Col id="bizflag"/>
  255. <Col id="bizdetlcd"/>
  256. <Col id="rsrvdd"/>
  257. <Col id="rsrvtm"/>
  258. <Col id="replytelno"/>
  259. <Col id="msgcnts"/>
  260. <Col id="rsrvyn">N</Col>
  261. <Col id="recvrpid"/>
  262. <Col id="urgntflag"/>
  263. <Col id="delivedd"/>
  264. <Col id="delivereqtm"/>
  265. <Col id="cmpncd"/>
  266. <Col id="cmpnnm"/>
  267. <Col id="orddrid"/>
  268. <Col id="prcpcd"/>
  269. <Col id="msglrgcd"/>
  270. <Col id="msgmdlcd"/>
  271. <Col id="msgsmlcd"/>
  272. <Col id="recvrlist"/>
  273. <Col id="aprvyn">1</Col>
  274. <Col id="aprvreqsmmcnts"/>
  275. <Col id="sanctflag">2</Col>
  276. </Row>
  277. </Rows>
  278. </Dataset>
  279. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  280. <ColumnInfo>
  281. <Column id="messagecnt" type="STRING" size="256"/>
  282. <Column id="messagealtyn" type="STRING" size="256"/>
  283. </ColumnInfo>
  284. <Rows>
  285. <Row>
  286. <Col id="messagecnt"/>
  287. <Col id="messagealtyn">N</Col>
  288. </Row>
  289. </Rows>
  290. </Dataset>
  291. <Dataset id="ds_fwd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  292. <ColumnInfo>
  293. <Column id="searchtype" type="STRING" size="256"/>
  294. <Column id="searchname" type="STRING" size="256"/>
  295. <Column id="type" type="STRING" size="256"/>
  296. </ColumnInfo>
  297. <Rows>
  298. <Row>
  299. <Col id="searchtype"/>
  300. <Col id="searchname"/>
  301. <Col id="type">sms</Col>
  302. </Row>
  303. </Rows>
  304. </Dataset>
  305. <Dataset id="ds_main_recvrinfo_recvrlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_recvrinfo_recvrlist_oncolumnchanged">
  306. <ColumnInfo>
  307. <Column id="chk" type="STRING" size="256"/>
  308. <Column id="recvrnm" type="STRING" size="256"/>
  309. <Column id="recvrtelno" type="STRING" size="256"/>
  310. </ColumnInfo>
  311. </Dataset>
  312. <Dataset id="ds_init_chnllrglist_chnllrggrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  313. <ColumnInfo>
  314. <Column id="msglrgcd" type="INT" size="256" sumtext="메시지대분류코드"/>
  315. <Column id="msglrgnm" type="STRING" size="256" sumtext="메시지대분류명"/>
  316. </ColumnInfo>
  317. </Dataset>
  318. <Dataset id="ds_init_chnlmdllist_chnlmdlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <ColumnInfo>
  320. <Column id="msgmdlcd" type="INT" size="256" sumtext="메시지중분류코드"/>
  321. <Column id="msgmdlnm" type="STRING" size="256" sumtext="메시지중분류명"/>
  322. <Column id="msglrgcd" type="INT" size="256" sumtext="메시지대분류코드"/>
  323. </ColumnInfo>
  324. </Dataset>
  325. <Dataset id="ds_main_msgsmllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  326. <ColumnInfo>
  327. <Column id="msgsmlcd" type="STRING" size="256" sumtext="메시지소분류코드"/>
  328. <Column id="msgcnts" type="STRING" size="256" sumtext="SMS메시지내용"/>
  329. <Column id="smstrsmcntcno" type="STRING" size="256" sumtext="SMS전송자연락처번호"/>
  330. <Column id="emailtitl" type="STRING" size="256" sumtext="이메일제목"/>
  331. <Column id="dmtitl" type="STRING" size="256" sumtext="DM제목"/>
  332. </ColumnInfo>
  333. </Dataset>
  334. <Dataset id="ds_send_info" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  335. <ColumnInfo>
  336. <Column id="msglrgcd" type="STRING" size="256"/>
  337. <Column id="msgmdlcd" type="STRING" size="256"/>
  338. <Column id="chnlflag" type="STRING" size="256"/>
  339. </ColumnInfo>
  340. <Rows>
  341. <Row>
  342. <Col id="msglrgcd"/>
  343. <Col id="msgmdlcd"/>
  344. <Col id="chnlflag"/>
  345. </Row>
  346. </Rows>
  347. </Dataset>
  348. <Dataset id="ds_main_msgattr_recvrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  349. </Objects>
  350. <Bind>
  351. <BindItem id="item0" compid="group1.tar_contents" propid="value" datasetid="ds_main_msgattr" columnid="msgcnts"/>
  352. <BindItem id="item1" compid="group1.ipt_messagecnt" propid="value" datasetid="ds_hidden" columnid="messagecnt"/>
  353. <BindItem id="item2" compid="group1.ipt_callback" propid="value" datasetid="ds_main_msgattr" columnid="replytelno"/>
  354. <BindItem id="item3" compid="group1.cmb_searchtype" propid="value" datasetid="ds_fwd" columnid="searchtype"/>
  355. <BindItem id="item4" compid="group1.ipt_searchname" propid="value" datasetid="ds_fwd" columnid="searchname"/>
  356. <BindItem id="item5" compid="group1.rdo_rsrvyn" propid="value" datasetid="ds_main_msgattr" columnid="rsrvyn"/>
  357. <BindItem id="item6" compid="group1.ipt_trsmreqdt_date" propid="value" datasetid="ds_main_msgattr" columnid="delivedd"/>
  358. <BindItem id="item7" compid="group1.ipt_trsmreqdt_time" propid="value" datasetid="ds_main_msgattr" columnid=""/>
  359. <BindItem id="item8" compid="ipt_aprvreqsmmcnts" propid="value" datasetid="ds_main_msgattr" columnid="aprvreqsmmcnts"/>
  360. <BindItem id="item9" compid="cmb_sanctflag" propid="value" datasetid="ds_main_msgattr" columnid="sanctflag"/>
  361. <BindItem id="item10" compid="cmb_sanctflag2" propid="value" datasetid="ds_main_msgattr" columnid="sanctflag"/>
  362. <BindItem id="item11" compid="cmb_msglrgcd" propid="value" datasetid="ds_main_msgattr" columnid="msglrgcd"/>
  363. <BindItem id="item12" compid="cmb_msgmdlcd" propid="value" datasetid="ds_main_msgattr" columnid="msgmdlcd"/>
  364. </Bind>
  365. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  366. * System Name :
  367. * Job Name :
  368. * Creator :
  369. * Make Date : 2016-05-24
  370. * Description :
  371. *---------------------------------------------------------------------------------------
  372. * Modify Date Modifier Modify Description
  373. *---------------------------------------------------------------------------------------
  374. * 2016-05-24 Live Converter TF->XP
  375. *
  376. *---------------------------------------------------------------------------------------
  377. ****************************************************************************************/
  378. include "com_commonxp::comm_main.xjs";
  379. function SPCCN00100_oninit(obj:Form, e:InitEventInfo)
  380. {
  381. frmf_initForm(obj);
  382. }
  383. function SPCCN00100_onload(obj:Form, e:LoadEventInfo)
  384. {
  385. grdf_initGrid(group1.grd_recvrlist);
  386. grdf_initGrid(grd_msglist);
  387. grdf_setRowTypeIcon(grd_msglist, 0);
  388. try
  389. {
  390. ds_main_recvrinfo_recvrlist.copyData(arg_ds_main_recvrinfo_recvrlist);
  391. }
  392. catch(e){}
  393. group1.cmb_searchtype.index = 0;
  394. ds_main_msgsmllist.clearData();
  395. ds_send_info.setColumn(0, "chnlflag", "S");// 메시지 분류코드 설정 (SMS : S)
  396. // 메시지 대그룹을 가져온다
  397. var oParam = {};
  398. oParam.id = "TRCNS00201";
  399. oParam.service = "chnlmngtapp.ChnlClsMngt";
  400. oParam.method = "reqGetChnlLrgCd";
  401. oParam.inds = "req=ds_send_info";
  402. oParam.outds = "ds_init_chnllrglist_chnllrggrup=chnllrggrup";
  403. oParam.async = false;
  404. //oParam.callback = "cf_TRCNS00201";
  405. tranf_submit(oParam);
  406. ds_main_msgattr.setColumn(0, "trsmdd", utlf_getCurrentDate());// 전송일자를 입력해준다.
  407. // 예약일자와 예약시간 비활성
  408. group1.ipt_trsmreqdt_date.enable = false;
  409. group1.ipt_trsmreqdt_time.enable = false;
  410. }
  411. function fGetCheckMsgCnts()
  412. {
  413. var strlen = 0;
  414. var str = group1.tar_contents.text;
  415. for (var i=0; i<str.length; i++)
  416. {
  417. strlen += (str.charCodeAt(i) > 128) ? 2 : 1;
  418. }
  419. var messagealtyn = ds_hidden.getColumn(0, "messagealtyn")
  420. if (parseInt(strlen) > 80 && messagealtyn == "N")
  421. {
  422. ds_hidden.setColumn(0, "messagealtyn", "Y")
  423. sysf_messageBox("입력글자가 80 byte를 ", "E003");
  424. return false;
  425. }
  426. if (parseInt(strlen) > 240)
  427. {
  428. ds_hidden.setColumn(0, "messagecnt", parseInt(strlen));
  429. sysf_messageBox("최대입력글자인 240 byte를 ", "E003");
  430. return false;
  431. }
  432. else
  433. {
  434. ds_hidden.setColumn(0, "messagecnt", parseInt(strlen));
  435. return true;
  436. }
  437. }
  438. function group1_btn_address_onclick(obj:Button, e:ClickEventInfo)
  439. {
  440. var objArg = new Object();
  441. objArg.arg_ds_fwd = ds_fwd;
  442. frmf_modal("SPCCN00500", "SPCCN00500", objArg, "", "", "", "", "", "", "", "", "", "M");
  443. if ( utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrnm")) && utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrtelno")))
  444. {
  445. ds_main_recvrinfo_recvrlist.deleteRow(0);
  446. }
  447. }
  448. function group1_btn_addfile_onclick(obj:Button, e:ClickEventInfo)
  449. {
  450. var objArg = new Object();
  451. objArg.arg_ds_fwd = ds_fwd;
  452. frmf_modal("SPCCN00600", "SPCCN00600", objArg, "", "", "", "", "", "", "", "", "", "M");
  453. if ( utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrnm")) && utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrtelno")))
  454. {
  455. ds_main_recvrinfo_recvrlist.deleteRow(0);
  456. }
  457. }
  458. function group1_ipt_searchname_onkeyup(obj:Edit, e:KeyEventInfo)
  459. {
  460. if(e.keycode == 13)
  461. {
  462. obj.updateToDataset();
  463. group1.btnicon_search3.click();
  464. }
  465. }
  466. function group1_btnicon_search3_onclick(obj:Button, e:ClickEventInfo)
  467. {
  468. var clntnm = ds_fwd.getColumn(0, "searchname");
  469. if (utlf_isNull(clntnm) || String(clntnm).length < 2)
  470. {
  471. sysf_messageBox("검색은 최소 2글자 이상 ", "C001");
  472. group1.ipt_searchname.setFocus();
  473. }
  474. else
  475. {
  476. var objArg = new Object();
  477. objArg.arg_ds_fwd = ds_fwd;
  478. frmf_modal("SPCCN00500", "SPCCN00500", objArg, "", "", "", "", "", "", "", "", "", "M");
  479. if ( utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrnm")) && utlf_isNull(ds_main_recvrinfo_recvrlist.getColumn(0, "recvrtelno")))
  480. {
  481. ds_main_recvrinfo_recvrlist.deleteRow(0);
  482. }
  483. }
  484. }
  485. function ds_main_recvrinfo_recvrlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  486. {
  487. if(e.columnid == "chk")
  488. {
  489. obj.setColumn(e.row, "chk", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  490. }
  491. }
  492. function group1_btn_add_onclick(obj:Button, e:ClickEventInfo)
  493. {
  494. ds_main_recvrinfo_recvrlist.addRow();
  495. }
  496. function group1_btn_delete_onclick(obj:Button, e:ClickEventInfo)
  497. {
  498. fgriddelete();
  499. }
  500. function fgriddelete() //파라미터 불필요해서 파라미터 grid 삭제함
  501. {
  502. var cur_row = ds_main_recvrinfo_recvrlist.rowposition;
  503. var iStatus = ds_main_recvrinfo_recvrlist.getRowType(cur_row);
  504. var d_cnt = 0;
  505. var selectedRows = new Array();
  506. for (var i = 0; i < ds_main_recvrinfo_recvrlist.rowcount; i++)
  507. {
  508. var chk = ds_main_recvrinfo_recvrlist.getColumn(i, "chk");
  509. if (chk == "Y")
  510. {
  511. selectedRows[d_cnt++] = i;
  512. }
  513. }
  514. if(d_cnt == 0)
  515. {
  516. sysf_messageBox("삭제할 행을", "C002");
  517. return;
  518. }
  519. for (var i = d_cnt-1; i >= 0; i--)
  520. {
  521. ds_main_recvrinfo_recvrlist.deleteRow(selectedRows[i]);
  522. }
  523. }
  524. function group1_rdo_rsrvyn_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  525. {
  526. frdocheck();
  527. }
  528. function frdocheck()
  529. {
  530. var req_chk = ds_main_msgattr.getColumn(0, "rsrvyn");
  531. if (req_chk == "N")
  532. {
  533. group1.ipt_trsmreqdt_date.enable = false;
  534. group1.ipt_trsmreqdt_time.enable = false;
  535. // 즉시전송 선택시 기존 입력한 예약일자 및 예약시간 Clear
  536. ds_main_msgattr.setColumn(0, "delivedd", "");
  537. ds_main_msgattr.setColumn(0, "delivereqtm", "");
  538. }
  539. else
  540. {
  541. group1.ipt_trsmreqdt_date.enable = true;
  542. group1.ipt_trsmreqdt_time.enable = true;
  543. }
  544. }
  545. function group1_btn_trsm_onclick(obj:Button, e:ClickEventInfo)
  546. {
  547. fSendMsg(ds_main_msgattr);
  548. }
  549. function fSendMsg(ref)
  550. {
  551. var cnt = fGetCheckMsgCnts();
  552. if(!cnt)
  553. {
  554. return;
  555. }
  556. // 각 필드값을 체크한다.
  557. if(utlf_isNull(ds_main_msgattr.getColumn(0, "aprvreqsmmcnts")))
  558. {
  559. sysf_messageBox("전송사유는 ", "I003");
  560. ipt_aprvreqsmmcnts.setFocus();
  561. return;
  562. }
  563. if(utlf_isNull(ds_main_msgattr.getColumn(0, "sanctflag")))
  564. {
  565. sysf_messageBox("결재구분은 ", "I003");
  566. cmb_sanctflag2.setFocus();
  567. return;
  568. }
  569. if(utlf_isNull(ref.getColumn(0, "replytelno")))
  570. {
  571. sysf_messageBox("회신 번호는 ", "I003");
  572. group1.ipt_callback.setFocus();
  573. return;
  574. }
  575. var temp = String(ref.getColumn(0, "replytelno")).length;
  576. if(temp <8)
  577. {
  578. sysf_messageBox("회신 번호는 8자리 이상을 ", "C001");
  579. group1.ipt_callback.setFocus();
  580. return;
  581. }
  582. if(utlf_isNull(ref.getColumn(0, "rsrvyn")))
  583. {
  584. sysf_messageBox("예약여부는 ", "I003");
  585. group1.rdo_rsrvyn.setFocus();
  586. ref.setColumn(0, "rsrvyn", "N");
  587. frdocheck();
  588. return;
  589. }
  590. if(ref.getColumn(0, "rsrvyn")=="Y" && // 예약설정이 Y 인경우에만 체크한다.
  591. utlf_isNull(ref.getColumn(0, "delivedd")))
  592. {
  593. sysf_messageBox("예약일자는 ", "I003");
  594. group1.ipt_trsmreqdt_date.setFocus();
  595. return;
  596. }
  597. if(ref.getColumn(0, "rsrvyn")=="Y" && // 예약설정이 Y 인경우에만 체크한다.
  598. utlf_isNull(ref.getColumn(0, "delivereqtm")))
  599. {
  600. sysf_messageBox("예약시간은 ", "I003");
  601. group1.ipt_trsmreqdt_time.setFocus();
  602. return;
  603. }
  604. if(utlf_isNull(ref.getColumn(0, "msgcnts")))
  605. {
  606. sysf_messageBox("메시지내용은 ", "I003");
  607. return;
  608. }
  609. if(ds_main_recvrinfo_recvrlist.rowcount < 0) sysf_messageBox("수신자정보는 ", "I003");
  610. // 수신자 리스트가 담긴의 그리드를 체크한다.
  611. var nodeset = ds_main_recvrinfo_recvrlist;
  612. var recvrnm;
  613. var recvrtelno;
  614. for (var i = 0; i < ds_main_recvrinfo_recvrlist.rowcount; i++)
  615. {
  616. ds_main_recvrinfo_recvrlist.setColumn(i, "chk","N");
  617. recvrnm = ds_main_recvrinfo_recvrlist.getColumn(i, "recvrnm");
  618. recvrtelno = ds_main_recvrinfo_recvrlist.getColumn(i, "recvrtelno");
  619. if(utlf_isNull(recvrnm))
  620. {
  621. sysf_messageBox(parseInt(i+1)+" 번째 수신자 이름을 ", "C001");
  622. ds_main_recvrinfo_recvrlist.rowposition = i;
  623. return;
  624. }
  625. if(String(recvrtelno).length <10)
  626. {
  627. sysf_messageBox(parseInt(i+1)+" 번째 수신자 전화번호는 10자리이상을 ", "C001");
  628. ds_main_recvrinfo_recvrlist.rowposition = i;
  629. return;
  630. }
  631. }
  632. var nodeList = ds_main_recvrinfo_recvrlist;
  633. var rCSV = dsf_getDsCSV(nodeList, "", "", "","");
  634. dsf_setCSVToDs("ds_main_msgattr_recvrlist", rCSV);
  635. // 예약전송시 예약일자 및 예약시간 설정
  636. var rsrvdd = ds_main_msgattr.getColumn(0, "trsmdd");
  637. var rsrvtm = String(utlf_getCurrentTime()).substring(0,4);
  638. // 수동전송시 기본값 설정
  639. var delivedd = ds_main_msgattr.getColumn(0, "delivedd");
  640. var delivereqtm = ds_main_msgattr.getColumn(0, "delivereqtm");
  641. var bizflag = ds_main_msgattr.getColumn(0, "bizflag");
  642. if (utlf_isNull(bizflag))
  643. {
  644. ds_main_msgattr.setColumn(0, "bizflag", "2"); // 수동전송은 업무구분을 무조건 2로 한다.
  645. ds_main_msgattr.setColumn(0, "bizdetlcd", "99"); // 수동전송은 업무상세구분을 무조건 99로 한다.
  646. }
  647. if (utlf_isNull(delivedd))
  648. {
  649. ds_main_msgattr.setColumn(0, "delivedd", rsrvdd); // 발송요청일자
  650. }
  651. if (utlf_isNull(delivereqtm))
  652. {
  653. ds_main_msgattr.setColumn(0, "delivereqtm", rsrvtm); // 발송요청시간
  654. }
  655. //전송등록
  656. dsf_setDefaultVal(ds_main_msgattr, "urgntflag:1");
  657. var oParam = {};
  658. oParam.id = "TXCCN00101";
  659. oParam.service = "crmapp.Common";
  660. oParam.method = "reqInsMsgTrsm";
  661. oParam.inds = "msgtrsm=ds_main_msgattr recvrlist=ds_main_msgattr_recvrlist";
  662. oParam.outds = "ds_=message";
  663. oParam.async = false;
  664. oParam.callback = "cf_TXCCN00101";
  665. tranf_submit(oParam);
  666. if (submit("TXCCN00101")){
  667. model.refresh();
  668. } else {
  669. messageBox("메시지 등록/전송이","E009");
  670. }
  671. }
  672. function cf_TXCCN00101(sSvcId, nErrorCode, sErrorMsg)
  673. {
  674. if(nErrorCode < 0)
  675. {
  676. sysf_messageBox("메시지 등록/전송이","E009");
  677. return;
  678. }
  679. else
  680. {
  681. var approvalflag = ds_main_msgattr.getColumn(0, "sanctflag");
  682. if(approvalflag == 1)
  683. {
  684. sysf_messageBox("승인요청 목록에 등록되었습니다. 승인 후 전송됩니다.","I099");
  685. }
  686. else
  687. {
  688. sysf_messageBox("메시지가 성공적으로 전송","I001");
  689. }
  690. ds_main_msgattr.setColumn(0, "msgcnts", "");
  691. ds_main_msgattr.setColumn(0, "replytelno", "");
  692. ds_main_recvrinfo_recvrlist.clearData();
  693. ds_main_msgattr.setColumn(0, "rsrvyn", "N");
  694. group1.ipt_trsmreqdt_date.enable = false;
  695. group1.ipt_trsmreqdt_time.enable = false;
  696. ds_main_msgattr.setColumn(0, "delivedd", "");
  697. ds_main_msgattr.setColumn(0, "delivereqtm", "");
  698. ds_hidden.setColumn(0, "messagecnt", "0");
  699. ds_main_msgattr.setColumn(0, "aprvreqsmmcnts", "");
  700. }
  701. }
  702. function group1_btn_cncl_onclick(obj:Button, e:ClickEventInfo)
  703. {
  704. this.close();
  705. }
  706. function cmb_sanctflag_onitemclick(obj:Radio, e:RadioMouseEventInfo)
  707. {
  708. ds_main_msgattr.setColumn(0, "aprvyn", "0");
  709. }
  710. function cmb_sanctflag2_onitemclick(obj:Radio, e:RadioMouseEventInfo)
  711. {
  712. ds_main_msgattr.setColumn(0, "aprvyn", "1");
  713. }
  714. function cmb_msglrgcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  715. {
  716. // 기존에 선택된 중분류를 초기화한다.
  717. ds_init_chnlmdllist_chnlmdlgrup.clearData();
  718. // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
  719. fGetChnlMdlCd();
  720. cmb_msgmdlcd.setFocus();
  721. }
  722. function fGetChnlMdlCd()
  723. {
  724. var msglrgcd = ds_main_msgattr.getColumn(0, "msglrgcd");
  725. ds_send_info.setColumn(0, "msglrgcd",msglrgcd);
  726. var oParam = {};
  727. oParam.id = "TRCNS00202";
  728. oParam.service = "chnlmngtapp.ChnlClsMngt";
  729. oParam.method = "reqGetChnlMdlCd";
  730. oParam.inds = "req=ds_send_info";
  731. oParam.outds = "ds_init_chnlmdllist_chnlmdlgrup=chnlmdlgrup";
  732. oParam.async = false;
  733. //oParam.callback = "cf_TRCNS00202";
  734. tranf_submit(oParam);
  735. }
  736. function cmb_msgmdlcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  737. {
  738. // 메시지 리스트를 초기화한다.
  739. ds_main_msgsmllist.clearData();
  740. // 선택한 채널관리 대분류에 따른 채널관리 중분류를 가져온다.
  741. fGetChnlSmlCd();
  742. }
  743. function fGetChnlSmlCd()
  744. {
  745. var msgmdlcd = ds_main_msgattr.getColumn(0, "msgmdlcd");
  746. ds_send_info.setColumn(0, "msgmdlcd",msgmdlcd);
  747. var oParam = {};
  748. oParam.id = "TRCCN00101";
  749. oParam.service = "crmapp.Common";
  750. oParam.method = "reqGetMsgList";
  751. oParam.inds = "req=ds_send_info";
  752. oParam.outds = "ds_main_msgsmllist=msgsmllist";
  753. oParam.async = false;
  754. //oParam.callback = "cf_TRCCN00101";
  755. tranf_submit(oParam);
  756. }
  757. function group5_onclick(obj)
  758. {
  759. var trgObj = obj;
  760. var name = obj.name;
  761. var btnMark = "";
  762. if(sysf_getObjType(obj) == "Button")
  763. {
  764. if(name == "button4" || name == "button5")
  765. {
  766. btnMark = "<@" + trgObj.text + ">";
  767. }
  768. else
  769. {
  770. btnMark = trgObj.text;
  771. }
  772. group1.tar_contents.setFocus();
  773. var txtSelPos = group1.tar_contents.getCaretPos();
  774. var curText = String(group1.tar_contents.text);
  775. var curTextBefore = curText.substr(0, txtSelPos);
  776. var curTextAfter = curText.substr(txtSelPos, curText.length);
  777. group1.tar_contents.value = curTextBefore + btnMark + curTextAfter;
  778. var curLength = String(curTextBefore + btnMark).length;
  779. group1.tar_contents.setCaretPos(curLength)
  780. frmf_inputEnterKey("group1.tar_contents", "onkeyup", new KeyEventInfo );
  781. }
  782. }
  783. function group1_tar_contents_onkeyup(obj:TextArea, e:KeyEventInfo)
  784. {
  785. fGetCheckMsgCnts();
  786. }
  787. function group1_btn_allchk_onclick(obj:Button, e:ClickEventInfo)
  788. {
  789. fGridAllRow(group1.grd_recvrlist);
  790. }
  791. function fGridAllRow(grid)
  792. {
  793. var objDs = this.objects[grid.binddataset];
  794. var rows = objDs.rowcount;
  795. var fRow = 0;
  796. var chk = objDs.getColumn(0, "chk");
  797. if(chk == "N")
  798. {
  799. for(var i = fRow; i < rows; i++)
  800. {
  801. objDs.setColumn(i, "chk", "Y");
  802. }
  803. }
  804. else
  805. {
  806. for(var i = fRow; i < rows; i++)
  807. {
  808. objDs.setColumn(i, "chk", "N");
  809. }
  810. }
  811. }]]></Script>
  812. </Form>
  813. </FDL>