SMZHI05100_IRM메시지관리.xfdl 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMZHI05100" position="absolute 0 0 1195 820" titletext="IRM 메시지 관리" oninit="SMZHI05100_oninit" onload="SMZHI05100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape position="absolute 0 310 1195 820" id="sha_blank" type="rectangle" style="fillbrush:solid #ccffffff true;" anchor="all"/>
  8. <Div position="absolute 0 309 1195 820" id="grp_msgdetl" visible="false" taborder="5" anchor="all">
  9. <Layouts>
  10. <Layout>
  11. <TextArea position="absolute 220 30 985 485" id="textarea1" anchor="all" wordwrap="char" style="background:#ffccffff stretch 5,5;border:1 solid darkgray ;" taborder="5"/>
  12. <Static text="보낸이" position="absolute 0 5 90 26" id="caption44" class="cell_1" anchor="default"/>
  13. <Edit position="absolute 92 6 192 26" id="ipt_starttm" enable="false" anchor="default" taborder="14"/>
  14. <Shape position="absolute 0 25 215 31" id="line5" class="line_2" anchor="default"/>
  15. <Edit position="absolute 92 30 215 50" id="ipt_confdd" enable="false" anchor="default" taborder="13"/>
  16. <Static text="보낸일시" position="absolute 0 29 90 50" id="caption1" class="cell_1" anchor="default"/>
  17. <Static text="수신처" position="absolute 1 58 131 78" id="caption34" class="tit_2" anchor="default"/>
  18. <Combo position="absolute 0 80 171 100" id="cmb_recvalias" innerdataset="@ds_recvaliaslist" datacolumn="recvnm" codecolumn="recvcd" anchor="default" taborder="12"/>
  19. <Combo position="absolute 0 235 171 255" id="cmb_recver" innerdataset="@ds_hidden_recveraliaslist" datacolumn="usernm" codecolumn="userid" anchor="default" taborder="11"/>
  20. <Button position="absolute 173 80 215 100" id="button1" class="btn2" text="추가" anchor="default" onclick="grp_msgdetl_button1_onclick" taborder="10"/>
  21. <Grid position="absolute 0 256 215 511" id="grd_msgrecver" binddataset="ds_main_msgrecverlist" anchor="left top bottom" autofittype="col" taborder="9">
  22. <Formats>
  23. <Format id="default">
  24. <Columns>
  25. <Column size="22"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="125"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="24" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1" text="msgcd"/>
  37. <Cell col="2" text="recvid"/>
  38. <Cell col="3" text="수신자"/>
  39. </Band>
  40. <Band id="body">
  41. <Cell celltype="head"/>
  42. <Cell col="1" text="bind:msgcd"/>
  43. <Cell col="2" text="bind:recvid"/>
  44. <Cell col="3" displaytype="text" text="bind:recvernm"/>
  45. </Band>
  46. </Format>
  47. </Formats>
  48. </Grid>
  49. <Button position="absolute 173 55 215 75" id="button3" class="btn2" text="삭제" anchor="default" onclick="grp_msgdetl_button3_onclick" taborder="8"/>
  50. <Grid position="absolute 990 5 1195 511" id="grd_msgverf" binddataset="ds_main_msgverferlist" anchor="top right bottom" autofittype="col" cellsizingtype="col" taborder="7">
  51. <Formats>
  52. <Format id="default">
  53. <Columns>
  54. <Column size="0"/>
  55. <Column size="72"/>
  56. <Column size="116"/>
  57. </Columns>
  58. <Rows>
  59. <Row size="24" band="head"/>
  60. <Row size="24"/>
  61. </Rows>
  62. <Band id="head">
  63. <Cell text="readid"/>
  64. <Cell col="1" text="확인자"/>
  65. <Cell col="2" text="확인일시"/>
  66. </Band>
  67. <Band id="body">
  68. <Cell text="bind:readid"/>
  69. <Cell col="1" text="bind:readernm"/>
  70. <Cell col="2" text="bind:readdt"/>
  71. </Band>
  72. </Format>
  73. </Formats>
  74. </Grid>
  75. <Grid position="absolute 0 101 215 206" id="grd_msgrecv" binddataset="ds_main_msgrecvlist" anchor="default" autofittype="col" taborder="6">
  76. <Formats>
  77. <Format id="default">
  78. <Columns>
  79. <Column size="22"/>
  80. <Column size="0"/>
  81. <Column size="0"/>
  82. <Column size="175"/>
  83. </Columns>
  84. <Rows>
  85. <Row size="24" band="head"/>
  86. <Row size="24"/>
  87. </Rows>
  88. <Band id="head">
  89. <Cell/>
  90. <Cell col="1" text="msgcd"/>
  91. <Cell col="2" text="recvcd"/>
  92. <Cell col="3" text="수신처"/>
  93. </Band>
  94. <Band id="body">
  95. <Cell celltype="head"/>
  96. <Cell col="1" text="bind:msgcd"/>
  97. <Cell col="2" text="bind:recvcd"/>
  98. <Cell col="3" displaytype="text" text="bind:recvnm"/>
  99. </Band>
  100. </Format>
  101. </Formats>
  102. </Grid>
  103. <Static text="수신자" position="absolute 0 213 130 233" id="caption2" class="tit_2" anchor="default"/>
  104. <Button position="absolute 173 235 215 254" id="button5" class="btn2" text="추가" anchor="default" onclick="grp_msgdetl_button5_onclick" taborder="3"/>
  105. <Button position="absolute 173 210 215 229" id="button7" class="btn2" text="삭제" anchor="default" taborder="2" onclick="grp_msgdetl_button7_onclick"/>
  106. <Grid position="absolute 240 100 455 205" id="grd_msgrecv_copy" visible="false" binddataset="ds_grd_msgrecv_copy" anchor="default" taborder="1">
  107. <Formats>
  108. <Format id="default">
  109. <Columns>
  110. <Column size="0"/>
  111. <Column size="0"/>
  112. <Column size="175"/>
  113. </Columns>
  114. <Rows>
  115. <Row size="24" band="head"/>
  116. <Row size="24"/>
  117. </Rows>
  118. <Band id="head">
  119. <Cell text="msgcd"/>
  120. <Cell col="1" text="recvcd"/>
  121. <Cell col="2" text="수신처"/>
  122. </Band>
  123. <Band id="body">
  124. <Cell text="bind:msgcd"/>
  125. <Cell col="1" text="bind:recvcd"/>
  126. <Cell col="2" text="bind:recvnm"/>
  127. </Band>
  128. </Format>
  129. </Formats>
  130. </Grid>
  131. <Shape position="absolute 0 0 1195 6" id="line2" class="line_10" anchor="left top right"/>
  132. <Edit position="absolute 220 490 786 510" id="ipt_attfilenm" enable="false" anchor="left right bottom"/>
  133. <Button position="absolute 791 490 855 510" id="btn_attach" class="btn2" taborder="15" text="첨부파일" anchor="right bottom" onclick="grp_msgdetl_btn_attach_onclick"/>
  134. <Button position="absolute 856 490 920 510" id="button4" class="btn2" taborder="17" text="미리보기" anchor="right bottom" onclick="grp_msgdetl_button4_onclick"/>
  135. <Button position="absolute 921 490 985 510" id="btn_down" class="btn2" taborder="16" text="다운로드" anchor="right bottom" onclick="grp_msgdetl_btn_down_onclick"/>
  136. <Edit position="absolute 275 6 985 26" id="ipt_title" class="input_essential" anchor="default" taborder="4"/>
  137. <Static text="제목" position="absolute 220 5 270 26" id="caption3" class="cell_1" anchor="default"/>
  138. <Shape id="line00" class="line_10" position="absolute 0 75 215 81" anchor="default"/>
  139. <Shape id="line01" class="line_10" position="absolute 0 230 215 236" anchor="default"/>
  140. </Layout>
  141. </Layouts>
  142. </Div>
  143. <Static text="IRM 메시지 관리" position="absolute 0 0 133 25" id="caption6" class="tit_1"/>
  144. <Div position="absolute 0 25 1195 89" align="align:center top;" id="group2" class="div_SA" anchor="left top right" scrollbars="none" taborder="4">
  145. <Layouts>
  146. <Layout>
  147. <Calendar position="absolute 590 10 695 30" id="ipt_s_fromdd" taborder="5" mask="yyyy-mm-dd" anchor="default" autoselect="true"/>
  148. <Static text="일자" position="absolute 533 10 577 30" id="caption22" class="search_name" anchor="default"/>
  149. <Calendar position="absolute 713 10 818 30" id="ipt_s_todd" taborder="4" mask="yyyy-mm-dd" anchor="default" autoselect="true"/>
  150. <Static text="~" position="absolute 699 10 709 30" id="caption26" anchor="default"/>
  151. <Static text="조회대상" position="absolute 15 10 83 30" id="cpt_dept" class="search_name" anchor="default"/>
  152. <Combo position="absolute 105 35 186 55" id="cmb_s_instcd" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  153. <Dataset id="innerdataset">
  154. <ColumnInfo>
  155. <Column id="codecolumn"/>
  156. <Column id="datacolumn"/>
  157. </ColumnInfo>
  158. <Rows>
  159. <Row>
  160. <Col id="codecolumn">content</Col>
  161. <Col id="datacolumn">내용</Col>
  162. </Row>
  163. <Row>
  164. <Col id="codecolumn">sender</Col>
  165. <Col id="datacolumn">보낸이</Col>
  166. </Row>
  167. <Row>
  168. <Col id="codecolumn">receiver</Col>
  169. <Col id="datacolumn">받는이</Col>
  170. </Row>
  171. </Rows>
  172. </Dataset>
  173. </Combo>
  174. <Edit position="absolute 191 35 467 55" id="ipt_s_deptnm" anchor="default" taborder="1"/>
  175. <Radio position="absolute 105 10 511 30" id="radio1" columncount="4" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default" onitemchanged="group2_radio1_onitemchanged">
  176. <Dataset id="innerdataset">
  177. <ColumnInfo>
  178. <Column id="codecolumn"/>
  179. <Column id="datacolumn"/>
  180. </ColumnInfo>
  181. <Rows>
  182. <Row>
  183. <Col id="codecolumn">N</Col>
  184. <Col id="datacolumn">새로운 메시지</Col>
  185. </Row>
  186. <Row>
  187. <Col id="codecolumn">R</Col>
  188. <Col id="datacolumn">받은 메시지</Col>
  189. </Row>
  190. <Row>
  191. <Col id="codecolumn">S</Col>
  192. <Col id="datacolumn">보낸 메시지</Col>
  193. </Row>
  194. <Row>
  195. <Col id="codecolumn">
  196. </Col>
  197. <Col id="datacolumn">모든 메시지</Col>
  198. </Row>
  199. </Rows>
  200. </Dataset>
  201. </Radio>
  202. <Static text="검색조건" position="absolute 15 35 83 55" id="caption4" class="search_name" anchor="default"/>
  203. <Button id="btn_search" taborder="2" text="조회" class="btn1" position="absolute 1121 20 1177 40" anchor="top right" onclick="group2_btn_search_onclick"/>
  204. </Layout>
  205. </Layouts>
  206. </Div>
  207. <Grid position="absolute 0 90 1195 285" id="grd_msglist" binddataset="ds_main_msglist" autofittype="col" cellsizingtype="col" scrollpixel="all" anchor="left top right" oncellclick="grd_msglist_oncellclick" taborder="3">
  208. <Formats>
  209. <Format id="default">
  210. <Columns>
  211. <Column size="0"/>
  212. <Column size="100"/>
  213. <Column size="100"/>
  214. <Column size="790"/>
  215. <Column size="130"/>
  216. <Column size="0"/>
  217. </Columns>
  218. <Rows>
  219. <Row size="24" band="head"/>
  220. <Row size="24"/>
  221. </Rows>
  222. <Band id="head">
  223. <Cell text="msgcd"/>
  224. <Cell col="1" text="보낸이"/>
  225. <Cell col="2" text="받는이"/>
  226. <Cell col="3" text="제목"/>
  227. <Cell col="4" text="보낸일시"/>
  228. <Cell col="5" text="내용"/>
  229. </Band>
  230. <Band id="body">
  231. <Cell text="bind:msgcd"/>
  232. <Cell col="1" text="bind:sendernm"/>
  233. <Cell col="2" displaytype="text" edittype="text" style="padding: ;" text="bind:recvernm"/>
  234. <Cell col="3" displaytype="text" text="bind:title"/>
  235. <Cell col="4" text="bind:lastupdtdt"/>
  236. <Cell col="5" text="bind:conts"/>
  237. </Band>
  238. </Format>
  239. </Formats>
  240. </Grid>
  241. <Button position="absolute 961 288 1053 308" id="btn_save" class="btn4" text="저장/전송" anchor="top right" onclick="btn_save_onclick" taborder="2"/>
  242. <Button position="absolute 1139 288 1195 308" id="button6" class="btn4" text="삭제" anchor="top right" onclick="button6_onclick" taborder="1"/>
  243. <Button position="absolute 1056 288 1136 308" id="button8" class="btn4" text="읽음확인" anchor="top right" onclick="button8_onclick"/>
  244. <Button position="absolute 902 288 958 308" id="btn_new" class="btn4" text="신규" anchor="top right" onclick="btn_new_onclick" taborder="6"/>
  245. <Static id="opt_newone" position="absolute 0 291 554 310" style="color:#993300ff;font:Dotum,9,bold;"/>
  246. </Layout>
  247. </Layouts>
  248. <Objects>
  249. <Dataset id="ds_searchdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  250. <ColumnInfo>
  251. <Column id="gubun" type="STRING" size="256"/>
  252. <Column id="cond" type="STRING" size="256"/>
  253. <Column id="str" type="STRING" size="256"/>
  254. <Column id="fromdd" type="STRING" size="256"/>
  255. <Column id="todd" type="STRING" size="256"/>
  256. </ColumnInfo>
  257. <Rows>
  258. <Row>
  259. <Col id="gubun">N</Col>
  260. <Col id="cond">content</Col>
  261. <Col id="str"/>
  262. <Col id="fromdd"/>
  263. <Col id="todd"/>
  264. </Row>
  265. </Rows>
  266. </Dataset>
  267. <Dataset id="ds_recvaliaslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  268. <ColumnInfo>
  269. <Column id="recvcd" type="STRING" size="256" sumtext="ID"/>
  270. <Column id="recvnm" type="STRING" size="256" sumtext="이름"/>
  271. </ColumnInfo>
  272. </Dataset>
  273. <Dataset id="ds_main_msglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  274. <ColumnInfo>
  275. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  276. <Column id="sendernm" type="STRING" size="256" sumtext="보낸이"/>
  277. <Column id="recvernm" type="STRING" size="256" sumtext="받는이"/>
  278. <Column id="conts" type="STRING" size="256" sumtext="내용"/>
  279. <Column id="title" type="STRING" size="256" sumtext="제목"/>
  280. <Column id="lastupdtdt" type="STRING" size="256" sumtext="보낸일시"/>
  281. </ColumnInfo>
  282. </Dataset>
  283. <Dataset id="ds_send_newonechk" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  284. <ColumnInfo>
  285. <Column id="gubun" type="STRING" size="256" sumtext="구분"/>
  286. </ColumnInfo>
  287. <Rows>
  288. <Row/>
  289. </Rows>
  290. </Dataset>
  291. <Dataset id="ds_rtninfo_newone" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  292. <ColumnInfo>
  293. <Column id="cnt" type="STRING" size="256" sumtext="갯수"/>
  294. </ColumnInfo>
  295. </Dataset>
  296. <Dataset id="ds_send_searchdetl" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  297. <ColumnInfo>
  298. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  299. </ColumnInfo>
  300. <Rows>
  301. <Row/>
  302. </Rows>
  303. </Dataset>
  304. <Dataset id="ds_main_msgdetl" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  305. <ColumnInfo>
  306. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  307. <Column id="sendid" type="STRING" size="256" sumtext="보낸이ID"/>
  308. <Column id="sendernm" type="STRING" size="256" sumtext="보낸이"/>
  309. <Column id="conts" type="STRING" size="256" sumtext="내용"/>
  310. <Column id="title" type="STRING" size="256" sumtext="첨부파일유무"/>
  311. <Column id="lastupdtdt" type="STRING" size="256" sumtext="보낸일시"/>
  312. <Column id="attfilenm" type="STRING" size="256" sumtext="첨부파일명"/>
  313. <Column id="attfilepath" type="STRING" size="256" sumtext="첨부파일경로"/>
  314. <Column id="fileyn" type="STRING" size="256" sumtext="첨부파일유무"/>
  315. </ColumnInfo>
  316. </Dataset>
  317. <Dataset id="ds_main_msgrecvlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  318. <ColumnInfo>
  319. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  320. <Column id="recvcd" type="STRING" size="256" sumtext="수신처코드"/>
  321. <Column id="recvnm" type="STRING" size="256" sumtext="수신처명"/>
  322. </ColumnInfo>
  323. </Dataset>
  324. <Dataset id="ds_main_msgrecverlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  325. <ColumnInfo>
  326. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  327. <Column id="recvid" type="STRING" size="256" sumtext="수신자ID"/>
  328. <Column id="recvernm" type="STRING" size="256" sumtext="수신자명"/>
  329. </ColumnInfo>
  330. </Dataset>
  331. <Dataset id="ds_main_msgverferlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  332. <ColumnInfo>
  333. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  334. <Column id="readid" type="STRING" size="256" sumtext="확인자ID"/>
  335. <Column id="readernm" type="STRING" size="256" sumtext="확인자명"/>
  336. <Column id="readdt" type="STRING" size="256" sumtext="확인일시"/>
  337. </ColumnInfo>
  338. </Dataset>
  339. <Dataset id="ds_main_recveraliaslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  340. <ColumnInfo>
  341. <Column id="userid" type="STRING" size="256" sumtext="ID"/>
  342. <Column id="usernm" type="STRING" size="256" sumtext="이름"/>
  343. </ColumnInfo>
  344. </Dataset>
  345. <Dataset id="ds_send_recveraliasdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  346. <ColumnInfo>
  347. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  348. <Column id="recvcd" type="STRING" size="256" sumtext="수신처코드"/>
  349. <Column id="recvnm" type="STRING" size="256" sumtext="수신처명"/>
  350. </ColumnInfo>
  351. </Dataset>
  352. <Dataset id="ds_hidden_recveraliaslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  353. <ColumnInfo>
  354. <Column id="userid" type="STRING" size="256" sumtext="ID"/>
  355. <Column id="usernm" type="STRING" size="256" sumtext="이름"/>
  356. </ColumnInfo>
  357. </Dataset>
  358. <Dataset id="ds_send_save_msgdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  359. <ColumnInfo>
  360. <Column id="sm" type="STRING" size="256" sumtext="서버코드"/>
  361. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  362. <Column id="sendid" type="STRING" size="256" sumtext="작성자ID"/>
  363. <Column id="sendernm" type="STRING" size="256" sumtext="작성자명"/>
  364. <Column id="conts" type="STRING" size="256" sumtext="내용"/>
  365. <Column id="title" type="STRING" size="256" sumtext="제목"/>
  366. <Column id="attfilenm" type="STRING" size="256" sumtext="첨부파일명"/>
  367. <Column id="attfilepath" type="STRING" size="256" sumtext="첨부파일경로"/>
  368. <Column id="fileyn" type="STRING" size="256" sumtext="첨부파일유무"/>
  369. </ColumnInfo>
  370. </Dataset>
  371. <Dataset id="ds_send_save_msgrecvdeptdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  372. <Dataset id="ds_send_save_msgrecverdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  373. <Dataset id="ds_send_save_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  374. <ColumnInfo>
  375. <Column id="filenm" type="STRING" size="256" sumtext="파일명"/>
  376. <Column id="filedata" type="STRING" size="256" sumtext="파일데이터"/>
  377. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  378. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  379. </ColumnInfo>
  380. </Dataset>
  381. <Dataset id="ds_temp_retlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  382. <ColumnInfo>
  383. <Column id="msgcd" type="STRING" size="256" sumtext="실행건수"/>
  384. </ColumnInfo>
  385. </Dataset>
  386. <Dataset id="ds_send_saveverify" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  387. <ColumnInfo>
  388. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  389. </ColumnInfo>
  390. <Rows>
  391. <Row/>
  392. </Rows>
  393. </Dataset>
  394. <Dataset id="ds_send_savedelete" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  395. <ColumnInfo>
  396. <Column id="msgcd" type="STRING" size="256" sumtext="메시지코드"/>
  397. </ColumnInfo>
  398. <Rows>
  399. <Row/>
  400. </Rows>
  401. </Dataset>
  402. </Objects>
  403. <Bind>
  404. <BindItem id="item0" compid="group2.radio1" propid="value" datasetid="ds_searchdata" columnid="gubun"/>
  405. <BindItem id="item1" compid="group2.ipt_s_fromdd" propid="value" datasetid="ds_searchdata" columnid="fromdd"/>
  406. <BindItem id="item2" compid="group2.ipt_s_todd" propid="value" datasetid="ds_searchdata" columnid="todd"/>
  407. <BindItem id="item3" compid="group2.cmb_s_instcd" propid="value" datasetid="ds_searchdata" columnid="cond"/>
  408. <BindItem id="item4" compid="group2.ipt_s_deptnm" propid="value" datasetid="ds_searchdata" columnid="str"/>
  409. <BindItem id="item5" compid="grp_msgdetl.ipt_starttm" propid="value" datasetid="ds_main_msgdetl" columnid="sendernm"/>
  410. <BindItem id="item6" compid="grp_msgdetl.ipt_confdd" propid="value" datasetid="ds_main_msgdetl" columnid="lastupdtdt"/>
  411. <BindItem id="item7" compid="grp_msgdetl.ipt_title" propid="value" datasetid="ds_main_msgdetl" columnid="title"/>
  412. <BindItem id="item8" compid="grp_msgdetl.textarea1" propid="value" datasetid="ds_main_msgdetl" columnid="conts"/>
  413. <BindItem id="item9" compid="grp_msgdetl.ipt_attfilenm" propid="value" datasetid="ds_main_msgdetl" columnid="attfilenm"/>
  414. </Bind>
  415. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  416. * System Name :
  417. * Job Name :
  418. * Creator :
  419. * Make Date : 2016-05-24
  420. * Description :
  421. *---------------------------------------------------------------------------------------
  422. * Modify Date Modifier Modify Description
  423. *---------------------------------------------------------------------------------------
  424. * 2016-05-24 Live Converter TF->XP
  425. *
  426. *---------------------------------------------------------------------------------------
  427. ****************************************************************************************/
  428. include "com_commonxp::comm_main.xjs";
  429. include "com_irmsxp::IrmsCom.xjs";
  430. var arErrorCode = new HashArray();
  431. function SMZHI05100_oninit(obj:Form, e:InitEventInfo)
  432. {
  433. frmf_initForm(obj);
  434. }
  435. function SMZHI05100_onload(obj:Form, e:LoadEventInfo)
  436. {
  437. fInitialize();
  438. }
  439. /* 초기화 */
  440. function fInitialize() {
  441. grdf_setRowTypeIcon(grp_msgdetl.grd_msgrecv, 0);
  442. grdf_setRowTypeIcon(grp_msgdetl.grd_msgrecver, 0);
  443. var oParam = {};
  444. oParam.id = "TRZHI05101";
  445. oParam.service = "irmsapp.MessageMngt";
  446. oParam.method = "reqGetCodeInfo";
  447. oParam.outds = "ds_recvaliaslist=recvaliaslist";
  448. oParam.async = true;
  449. tranf_submit(oParam);
  450. fSearch();
  451. }
  452. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  453. {
  454. fSearch();
  455. grp_msgdetl.visible = false;
  456. sha_blank.visible = true;
  457. }
  458. var vPos = 0;
  459. /* 조회 */
  460. function fSearch(bAlert){
  461. vPos = grd_msglist.vscrollbar.pos;
  462. var oParam = {};
  463. oParam.id = "TRZHI05103";
  464. oParam.service = "irmsapp.MessageMngt";
  465. oParam.method = "reqGetMessageList";
  466. oParam.inds = "req=ds_searchdata";
  467. oParam.outds = "ds_main_msglist=msglist";
  468. oParam.async = true;
  469. oParam.callback = "cf_TRZHI05103";
  470. tranf_submit(oParam);
  471. }
  472. function cf_TRZHI05103(sSvcId, nErrorCode, sErrorMsg) {
  473. if(nErrorCode < 0) return;
  474. ds_main_msglist.rowposition = -1;
  475. grd_msglist.vscrollbar.pos = vPos;
  476. fNewOneChk();
  477. }
  478. /* 읽지 않은 새로운 메세지가 존재 하는지 체크 */
  479. function fNewOneChk(){
  480. //opt_newone.text = "";
  481. var oParam = {};
  482. oParam.id = "TRZHI05106";
  483. oParam.service = "irmsapp.MessageMngt";
  484. oParam.method = "reqGetNewOneCnt";
  485. oParam.inds = "req=ds_send_newonechk";
  486. oParam.outds = "ds_rtninfo_newone=newone";
  487. oParam.async = true;
  488. oParam.callback = "cf_TRZHI05106";
  489. tranf_submit(oParam);
  490. }
  491. function cf_TRZHI05106(sSvcId, nErrorCode, sErrorMsg) {
  492. if(nErrorCode < 0) return;
  493. var Ncnt = ds_rtninfo_newone.getColumn(0, "cnt");
  494. if (Ncnt > 0 ){
  495. opt_newone.text = "* 확인 하지 않은 메세지가 ["+ Ncnt +"]건 존재합니다.";
  496. sysf_messageBox("확인하지 않은 메세지가 존재합니다. 메세지를 ","I007");
  497. }else{
  498. opt_newone.text = "";
  499. }
  500. }
  501. function group2_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  502. {
  503. //조회조건 초기화
  504. var flag = ds_searchdata.getColumn(0, "gubun");
  505. if(flag == "N"){
  506. ds_searchdata.setColumn(0, "fromdd", "");
  507. ds_searchdata.setColumn(0, "todd", "");
  508. }else{
  509. ds_searchdata.setColumn(0, "fromdd", utlf_getDateTime(utlf_getNewDate().getAddDate(-1,"M"), "D"));
  510. ds_searchdata.setColumn(0, "todd", utlf_getDateTime(utlf_getNewDate(), "D"));
  511. }
  512. group2.btn_search.click();
  513. }
  514. function grd_msglist_oncellclick(obj:Grid, e:GridClickEventInfo)
  515. {
  516. if(e.row < 0 || e.col < 0) return false;
  517. var msgcd = ds_main_msglist.getColumn(e.row, "msgcd");
  518. fSearchDetl(msgcd);
  519. sha_blank.visible = false;
  520. grp_msgdetl.visible = true;
  521. grp_msgdetl.cmb_recvalias.value = "";
  522. grp_msgdetl.cmb_recver.value = "";
  523. smflag = "u";
  524. }
  525. /* 상세조회 */
  526. function fSearchDetl(msgcd){
  527. ds_send_searchdetl.setColumn(0, "msgcd", msgcd);
  528. var oParam = {};
  529. oParam.id = "TRZHI05104";
  530. oParam.service = "irmsapp.MessageMngt";
  531. oParam.method = "reqGetMessage";
  532. oParam.inds = "req=ds_send_searchdetl";
  533. oParam.outds = "ds_main_msgdetl=msgdetl ds_main_msgrecvlist=msgrecvlist ds_main_msgrecverlist=msgrecverlist ds_main_msgverferlist=msgverferlist ds_main_recveraliaslist=recveraliaslist";
  534. oParam.async = true;
  535. oParam.callback = "cf_TRZHI05104";
  536. tranf_submit(oParam);
  537. }
  538. function cf_TRZHI05104(sSvcId, nErrorCode, sErrorMsg) {
  539. if(nErrorCode < 0) return;
  540. if (isSender()){
  541. grp_msgdetl.btn_attach.disabled = false;
  542. }else{
  543. grp_msgdetl.btn_attach.disabled = true;
  544. }
  545. ds_main_msgrecvlist.rowposition = -1;
  546. ds_main_msgrecverlist.rowposition = -1;
  547. ds_main_msgverferlist.rowposition = -1;
  548. ds_main_recveraliaslist.rowposition = -1;
  549. if(ds_main_recveraliaslist.rowcount > 0)
  550. ds_hidden_recveraliaslist.copyData(ds_main_recveraliaslist);
  551. }
  552. /* 보낸이가 본인인지 여부 */
  553. function isSender(){
  554. var sendid = ds_main_msgdetl.getColumn(0, "sendid");
  555. return (sendid == sysf_getUserId());
  556. }
  557. /* 보낸이 체크(메시지포함) */
  558. function checkSender(){
  559. if(!isSender()){
  560. sysf_messageBox("작성자 본인만","I006");
  561. return false;
  562. }
  563. return true;
  564. }
  565. /* 그리드에 존재하는지 여부 체크 */
  566. function isExists(oDs, colnm, value){
  567. if(oDs.findRow(colnm, value) > -1) {
  568. return true;
  569. }
  570. return false;
  571. }
  572. function grp_msgdetl_button1_onclick(obj:Button, e:ClickEventInfo)
  573. {
  574. // 보낸이가 본인이 아니면
  575. if(!checkSender()) return ;
  576. // 선택안된 경우
  577. if(utlf_isNull(grp_msgdetl.cmb_recvalias.value)){
  578. sysf_messageBox("수신처를 선택한 후","C003");
  579. return;
  580. }
  581. // 이미 데이타가 있는 경우
  582. if(isExists(ds_main_msgrecvlist, "recvcd", grp_msgdetl.cmb_recvalias.value)){
  583. sysf_messageBox("해당 데이타가","I010");
  584. return;
  585. }
  586. var cur_row = ds_main_msgrecvlist.addRow();
  587. ds_main_msgrecvlist.setColumn(cur_row, "msgcd", ds_main_msgdetl.getColumn(0, "msgcd"));
  588. ds_main_msgrecvlist.setColumn(cur_row, "recvcd", grp_msgdetl.cmb_recvalias.value);
  589. ds_main_msgrecvlist.setColumn(cur_row, "recvnm", ds_recvaliaslist.lookup("recvcd", grp_msgdetl.cmb_recvalias.value, "recvnm"));
  590. grp_msgdetl.cmb_recvalias.value = "";
  591. ds_send_recveraliasdata.copyData(ds_main_msgrecvlist);
  592. ds_send_recveraliasdata.applyChange();
  593. var oParam = {};
  594. oParam.id = "TRZHI05102";
  595. oParam.service = "irmsapp.MessageMngt";
  596. oParam.method = "reqGetRecverAlias";
  597. oParam.inds = "req=ds_send_recveraliasdata";
  598. oParam.outds = "ds_hidden_recveraliaslist=recveraliaslist";
  599. oParam.async = true;
  600. tranf_submit(oParam);
  601. }
  602. function grp_msgdetl_button3_onclick(obj:Button, e:ClickEventInfo)
  603. {
  604. // 보낸이가 본인이 아니면
  605. if(!checkSender()) return ;
  606. // 삭제할 데이터가 없는 경우
  607. if(ds_main_msgrecvlist.rowcount <= 0){
  608. sysf_messageBox("삭제할","E013");
  609. return false;
  610. }
  611. // 이미 읽은 경우
  612. if(ds_main_msgverferlist.rowcount > 0){
  613. sysf_messageBox("이미 읽은 사람이","I010");
  614. return;
  615. }
  616. if (ds_main_msgrecvlist.getRowType(ds_main_msgrecvlist.rowposition) == Dataset.ROWTYPE_INSERT){
  617. ds_main_msgrecvlist.deleteRow(ds_main_msgrecvlist.rowposition);
  618. }else{
  619. ds_main_msgrecvlist.setRowType(Dataset.ROWTYPE_DELETE);
  620. }
  621. }
  622. function grp_msgdetl_button5_onclick(obj:Button, e:ClickEventInfo)
  623. {
  624. // 보낸이가 본인이 아니면
  625. if(!checkSender()) return ;
  626. // 선택안된 경우
  627. if(utlf_isNull(grp_msgdetl.cmb_recver.value)){
  628. sysf_messageBox("수신자를 선택한 후","C003");
  629. return;
  630. }
  631. // 이미 데이타가 있는 경우
  632. if(isExists(ds_main_msgrecverlist, "recvid", grp_msgdetl.cmb_recver.value)){
  633. sysf_messageBox("해당 데이타가","I010");
  634. return;
  635. }
  636. // 수신자 처음 등록 시 이미 읽은 사람이 존재하며 추가하는 대상이 그 사람이 아닌 경우
  637. if(ds_main_msgrecverlist.rowcount == 0 && ds_main_msgverferlist.rowcount > 0 && !isExists(ds_main_msgverferlist, "readid", grp_msgdetl.cmb_recver.value)){
  638. sysf_messageBox("이미 읽은 사람이","I010");
  639. return;
  640. }
  641. var cur_row = ds_main_msgrecverlist.addRow();
  642. ds_main_msgrecverlist.setColumn(cur_row, "msgcd", ds_main_msgdetl.getColumn(0, "msgcd"));
  643. ds_main_msgrecverlist.setColumn(cur_row, "recvid", grp_msgdetl.cmb_recver.value);
  644. ds_main_msgrecverlist.setColumn(cur_row, "recvernm", ds_hidden_recveraliaslist.lookup("userid", grp_msgdetl.cmb_recver.value, "usernm"));
  645. grp_msgdetl.cmb_recver.value = "";
  646. }
  647. function grp_msgdetl_button7_onclick(obj:Button, e:ClickEventInfo)
  648. {
  649. // 보낸이가 본인이 아니면
  650. if(!checkSender()) return ;
  651. if(grp_msgdetl.grd_msgrecver.rowcount < 0){
  652. sysf_messageBox("삭제할","E013");
  653. return false;
  654. }
  655. // 이미 읽은 경우
  656. if(grp_msgdetl.grd_msgverf.rowcount > 1){
  657. sysf_messageBox("이미 읽은 사람이","I010");
  658. return;
  659. }
  660. if (ds_main_msgrecverlist.getRowType(ds_main_msgrecverlist.rowposition) == Dataset.ROWTYPE_INSERT){
  661. ds_main_msgrecverlist.deleteRow(ds_main_msgrecverlist.rowposition);
  662. }else{
  663. ds_main_msgrecverlist.setRowType(Dataset.ROWTYPE_DELETE);
  664. }
  665. }
  666. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  667. {
  668. ds_main_msgdetl.clearData();
  669. ds_main_msgrecvlist.clearData();
  670. ds_main_msgrecverlist.clearData();
  671. ds_main_msgverferlist.clearData();
  672. ds_main_recveraliaslist.clearData();
  673. ds_main_msgdetl.addRow();
  674. ds_main_msgdetl.setColumn(0, "sendid", sysf_getUserId());
  675. ds_main_msgdetl.setColumn(0, "sendernm", sysf_getUserName());
  676. smflag = "i";
  677. sha_blank.visible = false;
  678. grp_msgdetl.visible = true;
  679. grp_msgdetl.ipt_title.setFocus();
  680. }
  681. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  682. {
  683. // 제목란은 필수 입력.
  684. var sTitle = ds_main_msgdetl.getColumn(0, "title");
  685. if (utlf_isNull(sTitle)){
  686. sysf_messageBox("'제목'은", "I003");
  687. grp_msgdetl.ipt_title.setFocus();
  688. return;
  689. }
  690. // 보낸이가 본인이 아니면
  691. if(!checkSender()) return ;
  692. if (ds_main_msgrecvlist.rowcount <= 0 ){
  693. var sRtn = sysf_messageBox("수신처를 등록 하지 않았습니다. 수신처 없이 저장 하시겠습니까?", "Q");
  694. if (sRtn != "6" ) return;
  695. }
  696. //setAlertOn();
  697. fSave();
  698. fSearch();
  699. fSearchDetl(ds_temp_retlist.getColumn(0, "msgcd"));
  700. smflag = "u";
  701. }
  702. /* 저장 */
  703. function fSave(){
  704. ds_send_save_msgdata.copyData(ds_main_msgdetl);
  705. ds_send_save_msgdata.addColumn("sm", "string");
  706. ds_send_save_msgdata.setColumn(0, "sm", smflag);
  707. //ds_send_save_msgdata.applyChange();
  708. sysf_trace("smflag : " + smflag);
  709. var oDsUpdate = grdf_getGridUpdateData(grp_msgdetl.grd_msgrecv);
  710. grdf_setStatusColumn(oDsUpdate, "sm"); // 각행의 status에 rowType 값에 따라 'i', 'u', 'd'로 업데이트 시켜준다
  711. ds_send_save_msgrecvdeptdata.copyData(oDsUpdate, true);
  712. //ds_send_save_msgrecvdeptdata.copyData(ds_main_msgrecvlist);
  713. //ds_send_save_msgrecvdeptdata.applyChange();
  714. oDsUpdate = grdf_getGridUpdateData(grp_msgdetl.grd_msgrecver);
  715. grdf_setStatusColumn(oDsUpdate, "sm"); // 각행의 status에 rowType 값에 따라 'i', 'u', 'd'로 업데이트 시켜준다
  716. ds_send_save_msgrecverdata.copyData(oDsUpdate, true);
  717. // ds_send_save_msgrecverdata.copyData(ds_main_msgrecverlist);
  718. // ds_send_save_msgrecverdata.applyChange();
  719. var oParam = {};
  720. oParam.id = "TXZHI05101";
  721. oParam.service = "irmsapp.MessageMngt";
  722. oParam.method = "reqExeSaveMessage";
  723. oParam.inds = "req=ds_send_save_msgdata msgrecvdeptdata=ds_send_save_msgrecvdeptdata msgrecverdata=ds_send_save_msgrecverdata attach=ds_send_save_file";
  724. oParam.outds = "ds_temp_retlist=retlist";
  725. oParam.async = false;
  726. oParam.alert = true;
  727. oParam.callback = "cf_TXZHI05101";
  728. tranf_submit(oParam);
  729. if(arErrorCode.pop("TXZHI05101") > -1) {
  730. var msgcd = ds_temp_retlist.getColumn(0, "msgcd");
  731. if(smflag ==" i" && !utlf_isNull(msgcd)){
  732. ds_main_msgdetl.setColumn(0, "msgcd",msgcd);
  733. }
  734. }
  735. }
  736. function cf_TXZHI05101(sSvcId, nErrorCode, sErrorMsg) {
  737. arErrorCode.push(sSvcId, nErrorCode);
  738. }
  739. function button8_onclick(obj:Button, e:ClickEventInfo)
  740. {
  741. if(smflag == "i"){
  742. sysf_messageBox("저장 이후","C003");
  743. return;
  744. }
  745. if(smflag != "u"){
  746. ssyf_messageBox("메시지가 선택","C002");
  747. return;
  748. }
  749. // 이미 읽은 경우
  750. if(isExists(ds_main_msgverferlist, "readid", sysf_getUserId())){
  751. sysf_messageBox("이미 읽은 메시지","I009");
  752. return;
  753. }
  754. var msgcd = ds_main_msgdetl.getColumn(0, "msgcd");
  755. //setAlertOn();
  756. ds_send_saveverify.setColumn(0, "msgcd", msgcd);
  757. var oParam = {};
  758. oParam.id = "TXZHI05102";
  759. oParam.service = "irmsapp.MessageMngt";
  760. oParam.method = "reqExeVerfifyMessage";
  761. oParam.inds = "req=ds_send_saveverify";
  762. oParam.async = false;
  763. oParam.alert = true;
  764. tranf_submit(oParam);
  765. fSearch();
  766. fSearchDetl(msgcd);
  767. }
  768. function button6_onclick(obj:Button, e:ClickEventInfo)
  769. {
  770. // 보낸이가 본인이 아니면
  771. if(!checkSender()) return ;
  772. // 이미 읽은 경우
  773. if(ds_main_msgverferlist.rowcount > 0){
  774. sysf_messageBox("이미 읽은 사람이","I010");
  775. return;
  776. }
  777. var rtn = sysf_messageBox("모든 데이타가 삭제됩니다.", "Q001");
  778. if(rtn != 6){
  779. return;
  780. }
  781. var msgcd = ds_main_msgdetl.getColumn(0, "msgcd");
  782. //setAlertOn();
  783. ds_send_savedelete.setColumn(0, "msgcd", msgcd);
  784. var oParam = {};
  785. oParam.id = "TXZHI05103";
  786. oParam.service = "irmsapp.MessageMngt";
  787. oParam.method = "reqExeDeleteMessage";
  788. oParam.inds = "req=ds_send_savedelete";
  789. oParam.async = false;
  790. oParam.alert = true;
  791. tranf_submit(oParam);
  792. group2.btn_search.click();
  793. }
  794. function grp_msgdetl_btn_attach_onclick(obj:Button, e:ClickEventInfo)
  795. {
  796. fAttachFile(ds_main_msgdetl);
  797. }
  798. function grp_msgdetl_button4_onclick(obj:Button, e:ClickEventInfo)
  799. {
  800. fFilePreview(ds_main_msgdetl.getColumn(0, "attfilenm"), ds_main_msgdetl.getColumn(0, "attfilepath"), ds_main_msgdetl);
  801. }
  802. function grp_msgdetl_btn_down_onclick(obj:Button, e:ClickEventInfo)
  803. {
  804. fFileDown(ds_main_msgdetl.getColumn(0, "attfilenm"), ds_main_msgdetl.getColumn(0, "attfilepath"), ds_main_msgdetl);
  805. }
  806. ]]></Script>
  807. </Form>
  808. </FDL>