SPCPC00800_주소록그룹리스트.xfdl 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPCPC00800" position="absolute 0 0 912 634" titletext="주소록 그룹 리스트" oninit="SPCPC00800_oninit" onload="SPCPC00800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_choiinnrclntlist" taborder="18" binddataset="ds_main_list_choiinnrclntlist" useinputpanel="false" position="absolute 224 411 899 601" autoenter="select" cellsizingtype="col" cellclickbound="cell">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="21" band="left"/>
  12. <Column size="290"/>
  13. <Column size="90"/>
  14. <Column size="160"/>
  15. <Column size="100"/>
  16. <Column size="0"/>
  17. </Columns>
  18. <Rows>
  19. <Row size="24" band="head"/>
  20. <Row size="24"/>
  21. </Rows>
  22. <Band id="head">
  23. <Cell/>
  24. <Cell col="1" text="주소록 그룹명"/>
  25. <Cell col="2" text="성명"/>
  26. <Cell col="3" text="E-Mail"/>
  27. <Cell col="4" text="휴대전화"/>
  28. <Cell col="5"/>
  29. </Band>
  30. <Band id="body">
  31. <Cell displaytype="checkbox" edittype="checkbox" text="bind:chk" expr="expr:chk == 'Y' ? 1 : 0"/>
  32. <Cell col="1" style="align:left middle;padding:0 3 0 3;" text="bind:innrgrupnm"/>
  33. <Cell col="2" text="bind:innrclntnm"/>
  34. <Cell col="3" text="bind:email"/>
  35. <Cell col="4" text="bind:mpphontel"/>
  36. <Cell col="5" text="bind:innrclntid"/>
  37. </Band>
  38. </Format>
  39. </Formats>
  40. </Grid>
  41. <Static id="caption9" text="주소록 그룹 조회" class="tit_2" position="absolute 223 30 423 52"/>
  42. <Div id="grp_johe" taborder="1" class="div_SA2" position="absolute 223 47 898 87">
  43. <Layouts>
  44. <Layout>
  45. <Static id="caption2" text="검색조건 :" class="search_name" position="absolute 15 11 105 28" anchor="default"/>
  46. <Combo id="cmb_searchtype" taborder="4" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 109 10 239 29" anchor="default">
  47. <Dataset id="innerdataset">
  48. <ColumnInfo>
  49. <Column id="codecolumn"/>
  50. <Column id="datacolumn"/>
  51. </ColumnInfo>
  52. <Rows>
  53. <Row>
  54. <Col id="codecolumn"/>
  55. <Col id="datacolumn">전체</Col>
  56. </Row>
  57. <Row>
  58. <Col id="codecolumn">1</Col>
  59. <Col id="datacolumn">내부 고객명</Col>
  60. </Row>
  61. <Row>
  62. <Col id="codecolumn">2</Col>
  63. <Col id="datacolumn">휴대폰 번호</Col>
  64. </Row>
  65. <Row>
  66. <Col id="codecolumn">3</Col>
  67. <Col id="datacolumn">e-mail</Col>
  68. </Row>
  69. </Rows>
  70. </Dataset>
  71. </Combo>
  72. <Edit id="ipt_search_item" taborder="5" class="input_s_essential" position="absolute 244 10 374 29" anchor="default" autoselect="true" onkeyup="grp_johe_ipt_search_item_onkeyup"/>
  73. <Shape id="line13" linetype="vertical" position="absolute 586 8 592 30" anchor="default"/>
  74. <Button id="btn_search" taborder="6" text="조회" class="btn1" position="absolute 604 8 660 30" anchor="default" onclick="grp_johe_btn_search_onclick"/>
  75. </Layout>
  76. </Layouts>
  77. </Div>
  78. <Div id="group12" taborder="5" position="absolute 0 13 215 595"/>
  79. <Static id="caption1" text="주소록 그룹 리스트" class="tit_1" position="absolute 0 0 200 24"/>
  80. <Static id="caption30" text="주소록 그룹" class="tit_2" position="absolute 0 30 215 51"/>
  81. <Tab id="switch2" taborder="7" tabindex="0" position="absolute 0 51 215 609">
  82. <Tabpages>
  83. <Tabpage id="case1" text="부서">
  84. <Layouts>
  85. <Layout>
  86. <Grid id="trv_leftmenu" taborder="0" useinputpanel="false" treeusecheckbox="false" position="absolute 0 0 214 523" autofit="col" autoenter="select" cellsizingtype="col" autofittype="col" binddataset="ds_main_innrgrupinfo_indgruplist" oncellclick="switch2_case1_trv_leftmenu_oncellclick">
  87. <Formats>
  88. <Format id="default">
  89. <Columns>
  90. <Column size="192"/>
  91. </Columns>
  92. <Rows>
  93. <Row size="24"/>
  94. <Row size="24"/>
  95. </Rows>
  96. <Band id="body">
  97. <Cell displaytype="tree" edittype="tree" text="bind:indgrupnm" treestartlevel="1" treelevel="expr:depth"/>
  98. </Band>
  99. </Format>
  100. </Formats>
  101. </Grid>
  102. </Layout>
  103. </Layouts>
  104. </Tabpage>
  105. <Tabpage id="case2" text="개인">
  106. <Layouts>
  107. <Layout>
  108. <Grid id="trv_leftmenu1" taborder="0" useinputpanel="false" treeusecheckbox="false" position="absolute 0 0 215 525" autofit="col" autoenter="select" cellsizingtype="col" autofittype="col" binddataset="ds_main_innrgrupinfo_deptgruplist" oncellclick="switch2_case2_trv_leftmenu1_oncellclick">
  109. <Formats>
  110. <Format id="default">
  111. <Columns>
  112. <Column size="197"/>
  113. </Columns>
  114. <Rows>
  115. <Row size="24"/>
  116. <Row size="24"/>
  117. </Rows>
  118. <Band id="body">
  119. <Cell displaytype="tree" edittype="tree" text="bind:deptgrupnm" treestartlevel="1" treelevel="expr:depth"/>
  120. </Band>
  121. </Format>
  122. </Formats>
  123. </Grid>
  124. </Layout>
  125. </Layouts>
  126. </Tabpage>
  127. </Tabpages>
  128. </Tab>
  129. <Grid id="grd_innrclntlist" taborder="8" binddataset="ds_main_list_userlist" useinputpanel="false" position="absolute 224 89 898 384" autoenter="select" cellsizingtype="col" cellclickbound="cell">
  130. <Formats>
  131. <Format id="default">
  132. <Columns>
  133. <Column size="23" band="left"/>
  134. <Column size="280"/>
  135. <Column size="90"/>
  136. <Column size="160"/>
  137. <Column size="100"/>
  138. <Column size="0"/>
  139. </Columns>
  140. <Rows>
  141. <Row size="24" band="head"/>
  142. <Row size="24"/>
  143. </Rows>
  144. <Band id="head">
  145. <Cell/>
  146. <Cell col="1" text="주소록 그룹명"/>
  147. <Cell col="2" text="성 명"/>
  148. <Cell col="3" text="E-Mail"/>
  149. <Cell col="4" text="휴대전화"/>
  150. <Cell col="5"/>
  151. </Band>
  152. <Band id="body">
  153. <Cell displaytype="checkbox" edittype="checkbox" text="bind:chk" expr="expr:chk == 'Y' ? 1 : 0"/>
  154. <Cell col="1" style="align:left middle;padding:0 3 0 3;" text="bind:innrgrupnm"/>
  155. <Cell col="2" text="bind:innrclntnm"/>
  156. <Cell col="3" text="bind:email"/>
  157. <Cell col="4" text="bind:mpphontel"/>
  158. <Cell col="5" text="bind:innrclntid"/>
  159. </Band>
  160. </Format>
  161. </Formats>
  162. </Grid>
  163. <CheckBox id="bool1" taborder="9" position="absolute 228 94 243 109" onclick="bool1_onclick" truevalue="Y" falsevalue="N"/>
  164. <Button id="btn_savetrgt" taborder="10" text="확인" class="btn4" position="absolute 785 605 841 627" onclick="btn_savetrgt_onclick"/>
  165. <Button id="button3" taborder="11" text="닫기" class="btn4" position="absolute 843 605 899 627" onclick="button3_onclick"/>
  166. <Static id="caption3" text="그룹내역" class="tit_2" position="absolute 224 390 424 411"/>
  167. <Button id="btn_saveexcel" taborder="12" text="초기화" class="btn2" position="absolute 779 387 832 406" onclick="btn_saveexcel_onclick"/>
  168. <Button id="button1" taborder="13" text="그룹추가" class="btn2" position="absolute 835 387 899 406" onclick="button1_onclick"/>
  169. <Shape id="line1" class="line_10" position="absolute 224 406 899 412"/>
  170. <Grid id="grd_cmpnlnklist_t" taborder="14" binddataset="ds_main_trgt_cmpnlnklist" useinputpanel="false" visible="false" position="absolute 229 539 457 585" autoenter="select" cellsizingtype="col">
  171. <Formats>
  172. <Format id="default">
  173. <Columns>
  174. <Column size="18"/>
  175. <Column size="100"/>
  176. <Column size="90"/>
  177. <Column size="0"/>
  178. <Column size="0"/>
  179. <Column size="0"/>
  180. <Column size="0"/>
  181. </Columns>
  182. <Rows>
  183. <Row size="24" band="head"/>
  184. <Row size="24"/>
  185. </Rows>
  186. <Band id="head">
  187. <Cell/>
  188. <Cell col="1" text="캠페인명"/>
  189. <Cell col="2" text="캠페인코드"/>
  190. <Cell col="3"/>
  191. <Cell col="4"/>
  192. <Cell col="5"/>
  193. <Cell col="6"/>
  194. </Band>
  195. <Band id="body">
  196. <Cell celltype="head"/>
  197. <Cell col="1" text="bind:nextcmpnnm"/>
  198. <Cell col="2" text="bind:nextcmpncd"/>
  199. <Cell col="3" text="bind:cmpncd"/>
  200. <Cell col="4" text="bind:cmpnrgstdt"/>
  201. <Cell col="5" text="bind:pid"/>
  202. <Cell col="6" text="bind:rgstseq"/>
  203. </Band>
  204. </Format>
  205. </Formats>
  206. </Grid>
  207. <Grid id="grd_exedatelist_t" taborder="15" binddataset="ds_main_trgt_delivelist" useinputpanel="false" visible="false" position="absolute 474 514 881 584" autoenter="select" cellsizingtype="col">
  208. <Formats>
  209. <Format id="default">
  210. <Columns>
  211. <Column size="24"/>
  212. <Column size="90"/>
  213. <Column size="90"/>
  214. <Column size="40"/>
  215. <Column size="60"/>
  216. <Column size="40"/>
  217. <Column size="0"/>
  218. <Column size="40"/>
  219. <Column size="0"/>
  220. <Column size="0"/>
  221. <Column size="0"/>
  222. <Column size="0"/>
  223. <Column size="0"/>
  224. <Column size="0"/>
  225. <Column size="0"/>
  226. <Column size="0"/>
  227. <Column size="0"/>
  228. <Column size="0"/>
  229. </Columns>
  230. <Rows>
  231. <Row size="24" band="head"/>
  232. <Row size="24"/>
  233. </Rows>
  234. <Band id="head">
  235. <Cell/>
  236. <Cell col="1" text="전송 D-day"/>
  237. <Cell col="2" text="전송실행일"/>
  238. <Cell col="3" text="전후"/>
  239. <Cell col="4" text="전송시간"/>
  240. <Cell col="5" text="SMS"/>
  241. <Cell col="6" text="SMS코드"/>
  242. <Cell col="7" text="Email"/>
  243. <Cell col="8" text="Email코드"/>
  244. <Cell col="9"/>
  245. <Cell col="10"/>
  246. <Cell col="11"/>
  247. <Cell col="12"/>
  248. <Cell col="13"/>
  249. <Cell col="14"/>
  250. <Cell col="15"/>
  251. <Cell col="16"/>
  252. <Cell col="17"/>
  253. </Band>
  254. <Band id="body">
  255. <Cell celltype="head"/>
  256. <Cell col="1" text="bind:deliveschedayno1"/>
  257. <Cell col="2" text="bind:deliveschedayno"/>
  258. <Cell col="3" displaytype="combo" edittype="combo" text="bind:bfaftflag" combodataset="ds_init_comncdlist_C0014list_C0014" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  259. <Cell col="4" text="bind:deliveschetm" mask="##:##" maskchar=" "/>
  260. <Cell col="5" text="bind:smsuseyn"/>
  261. <Cell col="6" text="bind:smsmsgsmlcd"/>
  262. <Cell col="7" text="bind:emailuseyn"/>
  263. <Cell col="8" text="bind:emailmsgsmlcd"/>
  264. <Cell col="9" text="bind:cmpncd"/>
  265. <Cell col="10" text="bind:cmpnrgstdt"/>
  266. <Cell col="11" text="bind:pid"/>
  267. <Cell col="12" text="bind:rgstseq"/>
  268. <Cell col="13" text="bind:cmpnexecdt"/>
  269. <Cell col="14" text="bind:smsmsglrgcd"/>
  270. <Cell col="15" text="bind:smsmsgmdlcd"/>
  271. <Cell col="16" text="bind:emailmsglrgcd"/>
  272. <Cell col="17" text="bind:emailmsgmdlcd"/>
  273. </Band>
  274. </Format>
  275. </Formats>
  276. </Grid>
  277. <Grid id="grd_execlist" taborder="16" binddataset="ds_main_trgt_execlist" useinputpanel="false" visible="false" position="absolute 474 464 881 504" autoenter="select" cellsizingtype="col">
  278. <Formats>
  279. <Format id="default">
  280. <Columns>
  281. <Column size="24"/>
  282. <Column size="120"/>
  283. <Column size="160"/>
  284. <Column size="80"/>
  285. </Columns>
  286. <Rows>
  287. <Row size="24" band="head"/>
  288. <Row size="24"/>
  289. </Rows>
  290. <Band id="head">
  291. <Cell/>
  292. <Cell col="1" text="적용기준일"/>
  293. <Cell col="2" text="실행(예정)일시"/>
  294. <Cell col="3" text="실행여부"/>
  295. </Band>
  296. <Band id="body">
  297. <Cell celltype="head" expr="currow+1"/>
  298. <Cell col="1" displaytype="date" text="bind:cmpnrgstdt" calendardisplaynulltype="nulltext"/>
  299. <Cell col="2" displaytype="date" text="bind:cmpnexecdt" mask="yyyy-MM-dd hh:mm" calendardisplaynulltype="nulltext"/>
  300. <Cell col="3" text="bind:execyn"/>
  301. </Band>
  302. </Format>
  303. </Formats>
  304. </Grid>
  305. <CheckBox id="bool2" taborder="17" position="absolute 227 416 242 431" onclick="bool2_onclick" truevalue="Y" falsevalue="N"/>
  306. </Layout>
  307. </Layouts>
  308. <Objects>
  309. <Dataset id="ds_main_innrgrupinfo_indgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  310. <Dataset id="ds_main_innrgrupinfo_deptgruplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  311. <Dataset id="ds_main_list_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_list_userlist_oncolumnchanged">
  312. <ColumnInfo>
  313. <Column id="innrgrupid" type="STRING" size="256" sumtext="내부그룹ID"/>
  314. <Column id="innrclntid" type="STRING" size="256" sumtext="내부고객ID"/>
  315. <Column id="innrclntnm" type="STRING" size="256" sumtext="사용자명"/>
  316. <Column id="dutinstnm" type="STRING" size="256" sumtext="근무기관"/>
  317. <Column id="dutdeptnm" type="STRING" size="256" sumtext="근무부서"/>
  318. <Column id="jobrespcd" type="STRING" size="256" sumtext="직책"/>
  319. <Column id="posinstnm" type="STRING" size="256" sumtext="소속기관"/>
  320. <Column id="posdeptnm" type="STRING" size="256" sumtext="소속부서"/>
  321. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  322. <Column id="userid" type="STRING" size="256" sumtext="사원번호"/>
  323. <Column id="email" type="STRING" size="256" sumtext="E-Mail"/>
  324. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대폰"/>
  325. <Column id="detladdr" type="STRING" size="256" sumtext="주소"/>
  326. <Column id="memoyn" type="STRING" size="256" sumtext="메모"/>
  327. <Column id="memo" type="STRING" size="256" sumtext="메모"/>
  328. <Column id="innrclntflagnm" type="STRING" size="256" sumtext="분류명"/>
  329. <Column id="innrclntflag" type="STRING" size="256" sumtext="분류코드"/>
  330. <Column id="zipcd" type="STRING" size="256" sumtext="우편번호"/>
  331. <Column id="zipcd1" type="STRING" size="256" sumtext="우편번호"/>
  332. <Column id="zipcd2" type="STRING" size="256" sumtext="우편번호"/>
  333. <Column id="innrgrupnm" type="STRING" size="256" sumtext="그룹명"/>
  334. </ColumnInfo>
  335. </Dataset>
  336. <Dataset id="ds_main_list_choiinnrclntlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_list_choiinnrclntlist_oncolumnchanged">
  337. <ColumnInfo>
  338. <Column id="innrgrupnm" type="STRING" size="256"/>
  339. <Column id="innrclntnm" type="STRING" size="256"/>
  340. <Column id="innrclntid" type="STRING" size="256"/>
  341. <Column id="email" type="STRING" size="256"/>
  342. <Column id="mpphontel" type="STRING" size="256"/>
  343. <Column id="chk" type="STRING" size="256"/>
  344. </ColumnInfo>
  345. </Dataset>
  346. <Dataset id="ds_main_trgt_execlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  347. <Dataset id="ds_main_trgt_delivelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  348. <ColumnInfo>
  349. <Column id="deliveschedayno" type="INT" size="256" sumtext="실행예정일"/>
  350. <Column id="bfaftflag" type="STRING" size="256" sumtext="실행전후분류"/>
  351. <Column id="deliveschetm" type="STRING" size="256" sumtext="실행예정시간"/>
  352. <Column id="smsuseyn" type="STRING" size="256" sumtext="SMS전송여부"/>
  353. <Column id="smsmsgsmlcd" type="STRING" size="256" sumtext="SMS코드"/>
  354. <Column id="emailuseyn" type="STRING" size="256" sumtext="Email전송여부"/>
  355. <Column id="emailmsgsmlcd" type="STRING" size="256" sumtext="Email코드"/>
  356. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  357. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  358. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  359. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  360. <Column id="cmpnexecdt" type="STRING" size="256" sumtext="실제전송일시"/>
  361. <Column id="smsmsglrgcd" type="INT" size="256" sumtext="SMS대분류코드"/>
  362. <Column id="smsmsgmdlcd" type="INT" size="256" sumtext="SMS중분류코드"/>
  363. <Column id="emailmsglrgcd" type="INT" size="256" sumtext="Email대분류코드"/>
  364. <Column id="emailmsgmdlcd" type="INT" size="256" sumtext="Email중분류코드"/>
  365. </ColumnInfo>
  366. </Dataset>
  367. <Dataset id="ds_main_trgt_cmpnlnklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  368. <ColumnInfo>
  369. <Column id="savemode" type="STRING" size="256" sumtext="저장상태"/>
  370. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  371. <Column id="hngnm" type="STRING" size="256" sumtext="대상자명"/>
  372. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대전화번호"/>
  373. <Column id="email" type="STRING" size="256" sumtext="이메일주소"/>
  374. <Column id="cmpnnm" type="STRING" size="256" sumtext="캠페인명"/>
  375. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  376. <Column id="cmpnlrgcd" type="STRING" size="256" sumtext="캠페인대분류"/>
  377. <Column id="cmpnmdlcd" type="STRING" size="256" sumtext="캠페인중분류"/>
  378. <Column id="cmpnsmlcd" type="STRING" size="256" sumtext="캠페인소분류"/>
  379. <Column id="cmpnexecattr" type="STRING" size="256" sumtext="캠페인속성"/>
  380. <Column id="rgstdeptnm" type="STRING" size="256" sumtext="등록부서명"/>
  381. <Column id="rgstdeptcd" type="STRING" size="256" sumtext="등록부서코드"/>
  382. <Column id="execbaseddflag" type="STRING" size="256" sumtext="실행기준일분류"/>
  383. <Column id="execbasedayno" type="INT" size="256" sumtext="실행기준일수"/>
  384. <Column id="execbasemm" type="INT" size="256" sumtext="실행기준월"/>
  385. <Column id="execbasedd" type="INT" size="256" sumtext="실행기준일"/>
  386. <Column id="execbasespcldd" type="STRING" size="256" sumtext="실행기준특정일"/>
  387. <Column id="nextcmpnlnkpnttm" type="STRING" size="256" sumtext="연결캠페인시점"/>
  388. <Column id="cmpnlnklist" type="STRING" size="256" sumtext="연결캠페인"/>
  389. <Column id="delivelist" type="STRING" size="256" sumtext="실행예정일"/>
  390. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  391. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  392. </ColumnInfo>
  393. </Dataset>
  394. <Dataset id="ds_init_comncdlist_C0014list_C0014" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  395. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  396. <ColumnInfo>
  397. <Column id="innrclntflag" type="STRING" size="256"/>
  398. <Column id="searchtype" type="STRING" size="256"/>
  399. <Column id="searchstring" type="STRING" size="256"/>
  400. <Column id="searchtype2" type="STRING" size="256"/>
  401. <Column id="innrclntnm" type="STRING" size="256"/>
  402. <Column id="mpphonno" type="STRING" size="256"/>
  403. <Column id="email" type="STRING" size="256"/>
  404. </ColumnInfo>
  405. <Rows>
  406. <Row>
  407. <Col id="innrclntflag"/>
  408. <Col id="searchtype"/>
  409. <Col id="searchstring"/>
  410. <Col id="searchtype2"/>
  411. <Col id="innrclntnm"/>
  412. <Col id="mpphonno"/>
  413. <Col id="email"/>
  414. </Row>
  415. </Rows>
  416. </Dataset>
  417. <Dataset id="ds_send_cmpnattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  418. <Dataset id="ds_main_trgt_trgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  419. <ColumnInfo>
  420. <Column id="savemode" type="STRING" size="256" sumtext="저장상태"/>
  421. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  422. <Column id="hngnm" type="STRING" size="256" sumtext="대상자명"/>
  423. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대전화번호"/>
  424. <Column id="email" type="STRING" size="256" sumtext="이메일주소"/>
  425. <Column id="cmpnnm" type="STRING" size="256" sumtext="캠페인명"/>
  426. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  427. <Column id="cmpnlrgcd" type="STRING" size="256" sumtext="캠페인대분류"/>
  428. <Column id="cmpnmdlcd" type="STRING" size="256" sumtext="캠페인중분류"/>
  429. <Column id="cmpnsmlcd" type="STRING" size="256" sumtext="캠페인소분류"/>
  430. <Column id="cmpnexecattr" type="STRING" size="256" sumtext="캠페인속성"/>
  431. <Column id="rgstdeptnm" type="STRING" size="256" sumtext="등록부서명"/>
  432. <Column id="rgstdeptcd" type="STRING" size="256" sumtext="등록부서코드"/>
  433. <Column id="execbaseddflag" type="STRING" size="256" sumtext="실행기준일분류"/>
  434. <Column id="execbasedayno" type="INT" size="256" sumtext="실행기준일수"/>
  435. <Column id="execbasemm" type="INT" size="256" sumtext="실행기준월"/>
  436. <Column id="execbasedd" type="INT" size="256" sumtext="실행기준일"/>
  437. <Column id="execbasespcldd" type="STRING" size="256" sumtext="실행기준특정일"/>
  438. <Column id="nextcmpnlnkpnttm" type="STRING" size="256" sumtext="연결캠페인시점"/>
  439. <Column id="cmpnlnklist" type="STRING" size="256" sumtext="연결캠페인"/>
  440. <Column id="delivelist" type="STRING" size="256" sumtext="실행예정일"/>
  441. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  442. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  443. </ColumnInfo>
  444. </Dataset>
  445. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  446. <ColumnInfo>
  447. <Column id="scrnflag" type="STRING" size="256"/>
  448. </ColumnInfo>
  449. <Rows>
  450. <Row/>
  451. </Rows>
  452. </Dataset>
  453. <Dataset id="ds_temp_trgtattr_delivesche" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  454. <ColumnInfo>
  455. <Column id="deliveschedayno" type="STRING" size="256"/>
  456. <Column id="bfaftflag" type="STRING" size="256"/>
  457. <Column id="deliveschetm" type="STRING" size="256"/>
  458. <Column id="smsuseyn" type="STRING" size="256"/>
  459. <Column id="smsmsglrgcd" type="STRING" size="256"/>
  460. <Column id="smsmsgmdlcd" type="STRING" size="256"/>
  461. <Column id="smsmsgsmlcd" type="STRING" size="256"/>
  462. <Column id="emailuseyn" type="STRING" size="256"/>
  463. <Column id="emailmsglrgcd" type="STRING" size="256"/>
  464. <Column id="emailmsgmdlcd" type="STRING" size="256"/>
  465. <Column id="emailmsgsmlcd" type="STRING" size="256"/>
  466. <Column id="smsmsg" type="STRING" size="256"/>
  467. <Column id="emailtitl" type="STRING" size="256"/>
  468. <Column id="cmpnexecdt" type="STRING" size="256"/>
  469. </ColumnInfo>
  470. <Rows>
  471. <Row>
  472. <Col id="deliveschedayno"/>
  473. <Col id="bfaftflag">B</Col>
  474. <Col id="deliveschetm"/>
  475. <Col id="smsuseyn"/>
  476. <Col id="smsmsglrgcd"/>
  477. <Col id="smsmsgmdlcd"/>
  478. <Col id="smsmsgsmlcd"/>
  479. <Col id="emailuseyn"/>
  480. <Col id="emailmsglrgcd"/>
  481. <Col id="emailmsgmdlcd"/>
  482. <Col id="emailmsgsmlcd"/>
  483. <Col id="smsmsg"/>
  484. <Col id="emailtitl"/>
  485. <Col id="cmpnexecdt"/>
  486. </Row>
  487. </Rows>
  488. </Dataset>
  489. <Dataset id="ds_temp_trgtattr_oldtrgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  490. <Dataset id="ds_send_trgtgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  491. <ColumnInfo>
  492. <Column id="cmpnlrgcd" type="STRING" size="256"/>
  493. <Column id="cmpnmdlcd" type="STRING" size="256"/>
  494. <Column id="cmpnsmlcd" type="STRING" size="256"/>
  495. </ColumnInfo>
  496. <Rows>
  497. <Row>
  498. <Col id="cmpnlrgcd"/>
  499. <Col id="cmpnmdlcd"/>
  500. <Col id="cmpnsmlcd"/>
  501. </Row>
  502. </Rows>
  503. </Dataset>
  504. <Dataset id="ds_init_trgtgrup_cmpnlrggrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  505. <Dataset id="ds_init_trgtgrup_cmpnmdlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  506. <Dataset id="ds_init_trgtgrup_cmpnsmlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  507. <Dataset id="ds_send_trgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  508. <ColumnInfo>
  509. <Column id="cmpncd" type="STRING" size="256"/>
  510. <Column id="pid" type="STRING" size="256"/>
  511. <Column id="cmpnrgstdt" type="STRING" size="256"/>
  512. <Column id="rgstseq" type="STRING" size="256"/>
  513. </ColumnInfo>
  514. <Rows>
  515. <Row>
  516. <Col id="cmpncd"/>
  517. <Col id="pid"/>
  518. <Col id="cmpnrgstdt"/>
  519. <Col id="rgstseq"/>
  520. </Row>
  521. </Rows>
  522. </Dataset>
  523. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  524. <ColumnInfo>
  525. <Column id="searchitem" type="STRING" size="256"/>
  526. <Column id="flag" type="STRING" size="256"/>
  527. <Column id="innrgrupid" type="STRING" size="256"/>
  528. <Column id="innrgruplist" type="STRING" size="256"/>
  529. <Column id="delinnrgruplist" type="STRING" size="256"/>
  530. </ColumnInfo>
  531. <Rows>
  532. <Row>
  533. <Col id="searchitem"/>
  534. <Col id="flag"/>
  535. <Col id="innrgrupid"/>
  536. <Col id="innrgruplist"/>
  537. <Col id="delinnrgruplist"/>
  538. </Row>
  539. </Rows>
  540. </Dataset>
  541. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  542. <ColumnInfo>
  543. <Column id="rcvcnt" type="STRING" size="256"/>
  544. <Column id="chkvalue1" type="STRING" size="256"/>
  545. <Column id="chkvalue2" type="STRING" size="256"/>
  546. </ColumnInfo>
  547. <Rows>
  548. <Row>
  549. <Col id="rcvcnt"/>
  550. <Col id="chkvalue1"/>
  551. <Col id="chkvalue2"/>
  552. </Row>
  553. </Rows>
  554. </Dataset>
  555. <Dataset id="ds_main_trgt_trgtattr_innrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  556. <Dataset id="ds_main_trgt_trgtattr_cmpnlnklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  557. <Dataset id="ds_main_trgt_trgtattr_delivelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  558. </Objects>
  559. <Bind>
  560. <BindItem id="item0" compid="grp_johe.cmb_searchtype" propid="value" datasetid="ds_send_data" columnid="searchtype"/>
  561. <BindItem id="item1" compid="grp_johe.ipt_search_item" propid="value" datasetid="ds_send_data"/>
  562. <BindItem id="item2" compid="bool1" propid="value" datasetid="ds_main" columnid="chkvalue1"/>
  563. <BindItem id="item3" compid="bool2" propid="value" datasetid="ds_main" columnid="chkvalue2"/>
  564. </Bind>
  565. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  566. * System Name :
  567. * Job Name :
  568. * Creator :
  569. * Make Date : 2016-05-24
  570. * Description :
  571. *---------------------------------------------------------------------------------------
  572. * Modify Date Modifier Modify Description
  573. *---------------------------------------------------------------------------------------
  574. * 2016-05-24 Live Converter TF->XP
  575. *
  576. *---------------------------------------------------------------------------------------
  577. ****************************************************************************************/
  578. include "com_commonxp::comm_main.xjs";
  579. function SPCPC00800_oninit(obj:Form, e:InitEventInfo)
  580. {
  581. frmf_initForm(obj);
  582. }
  583. function SPCPC00800_onload(obj:Form, e:LoadEventInfo)
  584. {
  585. grdf_initGrid(grd_innrclntlist);
  586. grdf_initGrid(grd_choiinnrclntlist);
  587. grdf_initGrid(grd_execlist);
  588. grdf_initGrid(grd_cmpnlnklist_t);
  589. grdf_setRowTypeIcon(grd_cmpnlnklist_t, 0);
  590. grdf_initGrid(grd_exedatelist_t);
  591. grdf_setRowTypeIcon(grd_exedatelist_t, 0);
  592. try
  593. {
  594. ds_send_cmpnattr.copyData(arg_ds_send_cmpnattr);
  595. }
  596. catch(e){}
  597. // 그리드의 초기화
  598. fGridInit();
  599. // C0030: 자동실행여부, C0031: 고객중복처리여부, C0032: 적용기준일
  600. var arrParam = [{dsNm: "ds_init_C0030list_C0030", cdGrpId: "C0030"}
  601. ,{dsNm: "ds_init_C0031list_C0031", cdGrpId: "C0031"}
  602. ,{dsNm: "ds_init_C0032list_C0032", cdGrpId: "C0032"}]
  603. appf_getCodeList(arrParam);
  604. // 캠페인의 속성을 상속받아 대상자 입력창 구성
  605. var oParam = {};
  606. oParam.id = "TRCPC00105";
  607. oParam.service = "cmpnmngtapp.CmpnMngt";
  608. oParam.method = "reqGetCmpnAttr";
  609. oParam.inds = "req=ds_send_cmpnattr";
  610. oParam.outds = "ds_main_trgt_trgtattr=trgtattr ds_main_trgt_cmpnlnklist=cmpnlnklist ds_main_trgt_delivelist=delivelist";
  611. oParam.async = false;
  612. //oParam.callback = "cf_TRCPC00105";
  613. tranf_submit(oParam);//캠페인 속성 조회, 설정
  614. // 캠페인 정보 설정
  615. fCmpnInfoSetup();
  616. var oParam = {};
  617. oParam.id = "TRCPC00801";
  618. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  619. oParam.method = "reqGetInnrGrupList";
  620. oParam.inds = "";
  621. oParam.outds = "ds_main_innrgrupinfo_indgruplist=indgruplist ds_main_innrgrupinfo_deptgruplist=deptgruplist";
  622. oParam.async = false;
  623. //oParam.callback = "cf_TRCPC00801";
  624. tranf_submit(oParam);
  625. var scrnflag = ds_hidden.getColumn(0, "scrnflag");
  626. }
  627. function fGridInit()
  628. {
  629. ds_main_list_userlist.clearData();
  630. ds_main_list_choiinnrclntlist.clearData();
  631. ds_main_trgt_trgtattr.clearData();
  632. ds_main_trgt_delivelist.clearData();
  633. ds_main_trgt_cmpnlnklist.clearData();
  634. ds_main_trgt_execlist.clearData();
  635. ds_main_innrgrupinfo_deptgruplist.clearData();
  636. ds_main_innrgrupinfo_indgruplist.clearData();
  637. }
  638. function fCmpnInfoSetup()
  639. {
  640. if (!utlf_isNull(ds_send_cmpnattr.getColumn(0, "cmpncd")))
  641. {
  642. fInitTrgt();
  643. fGetCmpnToTrgt(); //캠페인 속성 상속
  644. }
  645. else
  646. {
  647. sysf_messageBox("대상자를 등록할 캠페인을 \n캠페인리스트에서","C002");
  648. }
  649. }
  650. function fInitTrgt()
  651. {
  652. // 대상자 등록화면 초기화
  653. ds_main_trgt_trgtattr.setColumn(0, "cmpnexecattr", "1");
  654. ds_main_trgt_trgtattr.setColumn(0, "execbaseddflag", "1");
  655. ds_main_trgt_trgtattr.setColumn(0, "nextcmpnlnkpnttm", "C");
  656. ds_main_trgt_delivelist.applyChange();
  657. ds_temp_trgtattr_delivesche.clearData();
  658. ds_temp_trgtattr_delivesche.addRow();
  659. ds_temp_trgtattr_delivesche.setColumn(0, "bfaftflag", "B");
  660. }
  661. function fGetCmpnToTrgt()
  662. {
  663. // 전송대상 설정 ( 1.환자 2.주소록)
  664. var trsmtrgtflag = ds_send_cmpnattr.getColumn(0, "trsmtrgtflag");
  665. dsf_makeValue(ds_main_trgt_trgtattr, "trsmtrgtflag", "string", trsmtrgtflag);
  666. fGetTrgtCmpnGrup(); // 캠페인 분류 세팅
  667. fCalcExecDt(); // 실제실행일 계산 후 인스턴스에 할당(키값인 등록일 포함)
  668. dsf_makeValue(ds_main_trgt_trgtattr, "savemode", "stirng","I");
  669. ds_temp_trgtattr_oldtrgtattr.copyData(ds_main_trgt_trgtattr);
  670. // 실행예정일 및 연결캠페인 그리드를 입력상태로 변경
  671. fGridSetStatus(ds_main_trgt_cmpnlnklist, "i");
  672. fGridSetStatus(ds_main_trgt_delivelist, "i");
  673. }
  674. function fGetTrgtCmpnGrup()
  675. {
  676. // 대상자 캠페인 분류 세팅(해당 분류 코드만 가져온다 - 분류는 수정 불가이므로 명칭만 출력하기 위한 용도)
  677. ds_send_trgtgrup.setColumn(0, "cmpnlrgcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnlrgcd"));
  678. ds_send_trgtgrup.setColumn(0, "cmpnmdlcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnmdlcd"));
  679. ds_send_trgtgrup.setColumn(0, "cmpnsmlcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnsmlcd"));
  680. var oParam = {};
  681. oParam.id = "TRCPC00108";
  682. oParam.service = "cmpnmngtapp.CmpnClsMngt";
  683. oParam.method = "reqGetTrgtCmpnGrup";
  684. oParam.inds = "req=ds_send_trgtgrup";
  685. oParam.outds = "ds_init_trgtgrup_cmpnlrggrup=cmpnlrggrup ds_init_trgtgrup_cmpnmdlgrup=cmpnmdlgrup ds_init_trgtgrup_cmpnsmlgrup=cmpnsmlgrup";
  686. oParam.async = false;
  687. //oParam.callback = "cf_TRCPC00108";
  688. tranf_submit(oParam);
  689. }
  690. function fCalcExecDt()
  691. {
  692. // 실행기준일과 실행예정목록으로 실제 실행일시 계산(등록일 기준)
  693. var grid = ds_main_trgt_delivelist;
  694. if (grid.rowcount > 0)
  695. {
  696. // 신규등록일 때 등록일시 설정, 수정일 때 기존 등록일시 설정
  697. if (utlf_isNull(ds_send_trgtattr.getColumn(0, "cmpnrgstdt")))
  698. {
  699. var rgst_dd = utlf_getCurrentDate();
  700. var rgst_tm = utlf_getCurrentTime();
  701. var rgst_dt = rgst_dd + rgst_tm;
  702. dsf_makeValue(ds_main_trgt_trgtattr, "cmpnrgstdt", "string", rgst_dt); // 대상자에 등록일 키값 할당
  703. }
  704. else
  705. {
  706. var rgst_dd = ds_send_trgtattr.getColumn(0, "cmpnrgstdt");
  707. }
  708. var sche_base_dd = fCalcBaseDt(rgst_dd); // 실행기준일 계산
  709. var cmpn_exec_dt = new Array(grid.rows);
  710. for (var i = 0; i < grid.rowcount; i++)
  711. {
  712. var delive_sche_dayno = ds_main_trgt_delivelist.getColumn(i, "deliveschedayno");
  713. var bf_aft_flag = ds_main_trgt_delivelist.getColumn(i, "bfaftflag");
  714. var delive_sche_tm = ds_main_trgt_delivelist.getColumn(i, "deliveschetm");
  715. cmpn_exec_dt[i] = fCalcScheDt(sche_base_dd, delive_sche_dayno, bf_aft_flag, delive_sche_tm); // 실행예정일시 계산
  716. // DB에 입력을 위해 delivelist에 저장 및 화면 출력을 위해 execlist에 저장
  717. dsf_makeValue(ds_main_trgt_delivelist, "cmpnexecdt", "string", cmpn_exec_dt[i], i);
  718. var addRow = ds_main_trgt_execlist.addRow();
  719. dsf_makeValue(ds_main_trgt_execlist, "cmpnrgstdt", "string", rgst_dd, addRow); //등록일
  720. dsf_makeValue(ds_main_trgt_execlist, "cmpnexecdt", "string", cmpn_exec_dt, addRow); //실행일
  721. }
  722. }
  723. }
  724. function fGridSetStatus(grid, stat)
  725. {
  726. // 멀티업데이트 그리드의 상태값을 설정
  727. if (grid.rowcount > 0)
  728. {
  729. for (var i = 0; i < grid.rowcount; i++)
  730. {
  731. grid.updatecontrol = false;
  732. grid.setRowType(i, stat);
  733. grid.updatecontrol = true;
  734. }
  735. }
  736. }
  737. function fCalcBaseDt(rgst_dd)
  738. {
  739. // 실행기준일 계산 (rgst_dd가 Date형일 경우 getAddDate계산 후 sche_base_dd와 같은 날짜로 변경되어 String형으로 사용)
  740. var sche_base_dd;
  741. var exec_base_dd_flag = ds_main_trgt_trgtattr.getColumn(0, "execbaseddflag");
  742. var exec_base_dayno = ds_main_trgt_trgtattr.getColumn(0, "execbasedayno");
  743. var exec_base_mm = ds_main_trgt_trgtattr.getColumn(0, "execbasemm");
  744. var exec_base_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasedd");
  745. var exec_base_spcl_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasespcldd");
  746. if (exec_base_dd_flag == "1")
  747. {
  748. sche_base_dd = rgst_dd.toDate().getAddDate(parseInt(exec_base_dayno), "D");
  749. sche_base_dd = utlf_getDateTime(sche_base_dd, "D");
  750. }
  751. else if (exec_base_dd_flag == "2")
  752. {
  753. sche_base_dd = rgst_dd.toDate().getAddDate(parseInt(exec_base_mm), "M");
  754. sche_base_dd = sche_base_dd.getAddDate(parseInt(exec_base_dd), "D");
  755. sche_base_dd = getDateTime(sche_base_dd, "D");
  756. }
  757. else if (exec_base_dd_flag == "3")
  758. {
  759. sche_base_dd = exec_base_spcl_dd;
  760. }
  761. return sche_base_dd;
  762. }
  763. function fCalcScheDt(sche_base_dd, delive_sche_dayno, bf_aft_flag, delive_sche_tm)
  764. {
  765. // 실제실행일시 계산
  766. var cmpn_exec_dt;
  767. if (bf_aft_flag == "B") delive_sche_dayno = (0 - delive_sche_dayno);
  768. cmpn_exec_dt = sche_base_dd.toDate().getAddDate(parseInt(delive_sche_dayno), "D");
  769. cmpn_exec_dt = utlf_getDateTime(cmpn_exec_dt, "D") + delive_sche_tm + "00";
  770. return cmpn_exec_dt;
  771. }
  772. function grp_johe_ipt_search_item_onkeyup(obj:Edit, e:KeyEventInfo)
  773. {
  774. if(e.keycode == 13)
  775. {
  776. obj.updateToDataset();
  777. grp_johe.btn_search.click();
  778. }
  779. }
  780. function grp_johe_btn_search_onclick(obj:Button, e:ClickEventInfo)
  781. {
  782. if(ds_send_data.getColumn(0, "searchtype")=="1")
  783. {//이름조회
  784. ds_send_data.setColumn(0, "innrclntnm", ds_send_data.getColumn(0, "searchstring"));
  785. ds_send_data.setColumn(0, "mpphonno", "");
  786. ds_send_data.setColumn(0, "email", "");
  787. }
  788. else if(ds_send_data.getColumn(0, "searchtype")=="2")
  789. {//핸드폰 조회
  790. ds_send_data.setColumn(0, "mpphonno", ds_send_data.getColumn(0, "searchstring"));
  791. ds_send_data.setColumn(0, "innrclntnm", "");
  792. ds_send_data.setColumn(0, "email", "");
  793. }
  794. else if(ds_send_data.getColumn(0, "searchtype")=="3")
  795. {//email조회
  796. ds_send_data.setColumn(0, "email", ds_send_data.getColumn(0, "searchstring"));
  797. ds_send_data.setColumn(0, "innrclntnm", "");
  798. ds_send_data.setColumn(0, "mpphonno", "");
  799. }
  800. else
  801. {
  802. ds_send_data.setColumn(0, "innrclntnm", "");
  803. ds_send_data.setColumn(0, "mpphonno", "");
  804. ds_send_data.setColumn(0, "email", "");
  805. }
  806. var oParam = {};
  807. oParam.id = "TRCMS00501";
  808. oParam.service = "clntmngtapp.InnrClntMngt";
  809. oParam.method = "reqGetUserList";
  810. oParam.inds = "req=ds_send_data";
  811. oParam.outds = "ds_main_list_userlist=userlist";
  812. oParam.async = false;
  813. oParam.callback = "cf_TRCMS00501";
  814. tranf_submit(oParam);
  815. }
  816. function cf_TRCMS00501(sSvcId, nErrorCode, sErrorMsg)
  817. {
  818. if(nErrorCode < 0) return;
  819. ds_main_list_userlist.addColumn("chk", "string");
  820. }
  821. function switch2_case1_trv_leftmenu_oncellclick(obj:Grid, e:GridClickEventInfo)
  822. {
  823. var indgrupid = ds_main_innrgrupinfo_indgruplist.getColumn(e.row, "indgrupid");
  824. var indgrupnm = ds_main_innrgrupinfo_indgruplist.getColumn(e.row, "indgrupnm");
  825. if (indgrupid > 0)
  826. {
  827. ds_send.setColumn(0, "innrgrupid", indgrupid);
  828. var oParam = {};
  829. oParam.id = "TRCMS00502";
  830. oParam.service = "clntmngtapp.InnrClntMngt";
  831. oParam.method = "reqGetInnrClntList";
  832. oParam.inds = "req=ds_send";
  833. oParam.outds = "ds_main_list_userlist=userlist";
  834. oParam.async = false;
  835. oParam.callback = "cf_TRCMS00501";
  836. tranf_submit(oParam);
  837. var sRows = ds_main_list_userlist.rowcount;
  838. var sfRow = 0;
  839. for(var i = sfRow; i < sRows; i++)
  840. {
  841. dsf_makeValue(ds_main_list_userlist, "innrgrupnm", "string", indgrupnm, i);
  842. }
  843. }
  844. }
  845. function switch2_case2_trv_leftmenu1_oncellclick(obj:Grid, e:GridClickEventInfo)
  846. {
  847. var deptgrupid = ds_main_innrgrupinfo_deptgruplist.getColumn(e.row, "deptgrupid");
  848. var deptgrupnm = ds_main_innrgrupinfo_deptgruplist.getColumn(e.row, "deptgrupnm");
  849. if (deptgrupid > 0)
  850. {
  851. ds_send.setColumn(0, "innrgrupid", deptgrupid);
  852. var oParam = {};
  853. oParam.id = "TRCMS00502";
  854. oParam.service = "clntmngtapp.InnrClntMngt";
  855. oParam.method = "reqGetInnrClntList";
  856. oParam.inds = "req=ds_send";
  857. oParam.outds = "ds_main_list_userlist=userlist";
  858. oParam.async = false;
  859. oParam.callback = "cf_TRCMS00501";
  860. tranf_submit(oParam);
  861. var sRows = ds_main_list_userlist.rowcount;
  862. var sfRow = 0;
  863. for(var i = sfRow; i < sRows; i++)
  864. {
  865. ds_main_list_userlist.setColumn(i, "innrgrupnm", deptgrupnm);
  866. }
  867. }
  868. }
  869. function ds_main_list_userlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  870. {
  871. if(e.columnid == "chk")
  872. {
  873. obj.setColumn(e.row, "chk", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  874. }
  875. }
  876. function ds_main_list_choiinnrclntlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  877. {
  878. if(e.columnid == "chk")
  879. {
  880. obj.setColumn(e.row, "chk", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  881. }
  882. }
  883. function fGridAllRow(mode)
  884. {
  885. // 주소록 그룹 조회
  886. if (mode == "A")
  887. {
  888. var rows = ds_main_list_userlist.rowcount;
  889. var fRow = 0;
  890. var chk = ds_main_list_userlist.getColumn(0, "chk");
  891. var boolchk = ds_main.getColumn(0, "chkvalue1");
  892. if (boolchk == "Y")
  893. {
  894. for(var i = fRow; i < rows; i++)
  895. {
  896. ds_main_list_userlist.setColumn(i, "chk", "Y");
  897. }
  898. }
  899. else
  900. {
  901. for(var i = fRow; i < rows; i++)
  902. {
  903. ds_main_list_userlist.setColumn(i, "chk", "N");
  904. }
  905. }
  906. // 그룹 내역
  907. }
  908. else if (mode == "B")
  909. {
  910. var rows = ds_main_list_choiinnrclntlist.rowcount;
  911. var fRow = 0;
  912. var chk = ds_main_list_choiinnrclntlist.getColumn(0, "chk");
  913. var boolchk = ds_main.getColumn(0, "chkvalue2");
  914. if (boolchk == "Y")
  915. {
  916. for(var i = fRow; i < rows; i++)
  917. {
  918. ds_main_list_choiinnrclntlist.setColumn(i, "chk", "Y");
  919. }
  920. }
  921. else
  922. {
  923. for(var i = fRow; i < rows; i++)
  924. {
  925. ds_main_list_choiinnrclntlist.setColumn(i, "chk", "N");
  926. }
  927. }
  928. }
  929. else if (mode == "C")
  930. { // 데이터 이동 후 마스터 목록 선택 해제
  931. var rows = ds_main_list_userlist.rowcount;
  932. var fRow = 0;
  933. var chk = ds_main_list_userlist.getColumn(0, "chk");
  934. for(var i = fRow; i < rows; i++)
  935. {
  936. ds_main_list_userlist.setColumn(i, "chk", "N");
  937. }
  938. ds_main.setColumn(0, "chkvalue1", "");
  939. }
  940. }
  941. function bool1_onclick(obj:CheckBox, e:ClickEventInfo)
  942. {
  943. var mode = "A";
  944. fGridAllRow(mode);
  945. }
  946. function bool2_onclick(obj:CheckBox, e:ClickEventInfo)
  947. {
  948. var mode = "B";
  949. fGridAllRow(mode);
  950. }
  951. function btn_saveexcel_onclick(obj:Button, e:ClickEventInfo)
  952. {
  953. fGridRowAddRow(grd_choiinnrclntlist,grd_innrclntlist,"del");
  954. }
  955. function fGridRowAddRow(sndGrid, rcvGrid, type)
  956. {
  957. var sndDs = this.objects[sndGrid.binddataset];
  958. var rcvDs = this.objects[rcvGrid.binddataset];
  959. var sRows = sndDs.rowcount;
  960. var sfRow = 0;
  961. var cntRows = parseInt(sndDs.rowcount-1);
  962. var rRows = rcvDs.rowcount;
  963. if(type == "del")
  964. {
  965. var rows = sndDs.rowcount;
  966. var fRow = 0;
  967. for(var i = fRow; i < rows; i++)
  968. {
  969. sndDs.setColumn(i, "chk", "Y");
  970. }
  971. }
  972. var check_cnt = 0;
  973. for(var i = sfRow; i < sRows; i++)
  974. {
  975. if(sndDs.getColumn(i, "chk") == "Y" )
  976. {
  977. var addRow = rcvDs.addRow();
  978. rcvDs.setColumn(addRow, "innrgrupnm", sndDs.getColumn(i, "innrgrupnm"));
  979. rcvDs.setColumn(addRow, "innrclntnm", sndDs.getColumn(i, "innrclntnm"));
  980. rcvDs.setColumn(addRow, "innrclntid", sndDs.getColumn(i, "innrclntid"));
  981. rcvDs.setColumn(addRow, "email", sndDs.getColumn(i, "email"));
  982. rcvDs.setColumn(addRow, "mpphontel", sndDs.getColumn(i, "mpphontel"));
  983. check_cnt++;
  984. }
  985. }
  986. if(check_cnt < 1)
  987. {
  988. sysf_messageBox("주소록 리스트를","C002");
  989. }
  990. //추가된 사람 목록삭제
  991. for(var j = sRows; j >= sfRow; j--)
  992. {
  993. if(sndDs.getColumn(j, "chk") == "Y")
  994. {
  995. sndDs.deleteRow(j);
  996. cntRows--;
  997. }
  998. }
  999. if(type == "add")
  1000. {
  1001. ds_main.setColumn(0, "rcvcnt",rRows-1);//수신인 숫자
  1002. }
  1003. else
  1004. {
  1005. ds_main.setColumn(0, "rcvcnt",cntRows);//수신인 숫자
  1006. }
  1007. }
  1008. function button1_onclick(obj:Button, e:ClickEventInfo)
  1009. {
  1010. fGridRowAddRow(grd_innrclntlist,grd_choiinnrclntlist,"add");
  1011. var mode = "C";
  1012. fGridAllRow(mode);
  1013. }
  1014. function btn_savetrgt_onclick(obj:Button, e:ClickEventInfo)
  1015. {
  1016. fSaveTrgt();
  1017. }
  1018. function fSaveTrgt()
  1019. {
  1020. var check_cnt = 0;
  1021. var count = 0;
  1022. var sRowSep = "▩";
  1023. var send_data = "innrclntid" + sRowSep; //타이틀 map file 등에서 사용
  1024. for (var i = 0; i < ds_main_list_choiinnrclntlist.rowcount; i++)
  1025. {
  1026. if(ds_main_list_choiinnrclntlist.getColumn(i, "chk") == "Y" )
  1027. {
  1028. var innrclntid = ds_main_list_choiinnrclntlist.getColumn(i, "innrclntid");
  1029. send_data += innrclntid + sRowSep; // VO형태로 구성
  1030. dsf_setCSVToDs("ds_main_trgt_trgtattr_innrlist", send_data);
  1031. check_cnt++;
  1032. }
  1033. }
  1034. var updt_cmpn_lnk = grdf_getGridUpdateData(grd_cmpnlnklist_t);
  1035. if (updt_cmpn_lnk.rowcount != 0)
  1036. {
  1037. grdf_setStatusColumn(updt_cmpn_lnk, "status");
  1038. ds_main_trgt_trgtattr_cmpnlnklist.copyData(updt_cmpn_lnk, true);
  1039. }
  1040. var updt_exec_sche = grdf_getGridUpdateData(grd_exedatelist_t);
  1041. if (updt_exec_sche.rowcount != 0)
  1042. {
  1043. grdf_setStatusColumn(updt_cmpn_lnk, "status");
  1044. ds_main_trgt_trgtattr_delivelist.copyData(updt_exec_sche, true);
  1045. }
  1046. if(check_cnt < 1)
  1047. {
  1048. sysf_messageBox("주소록 리스트를","C002");
  1049. }
  1050. else
  1051. {
  1052. dsf_setDefaultVal(ds_main_trgt_trgtattr, "execbasedayno:0,execbasemm:0,execbasedd:0,nextcmpnlnkpnttm:C,cmpnbizflag:05");
  1053. ds_main_trgt_trgtattr_delivelist.updatecontrol = false;
  1054. dsf_setDefaultVal(ds_main_trgt_trgtattr_delivelist, "smsuseyn:N,emailuseyn:N");
  1055. ds_main_trgt_trgtattr_delivelist.updatecontrol = true;
  1056. var oParam = {};
  1057. oParam.id = "TXCPC00801";
  1058. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1059. oParam.method = "reqExeAddrTrgt";
  1060. oParam.inds = "trgtsave=ds_main_trgt_trgtattr cmpnlnklist=ds_main_trgt_trgtattr_cmpnlnklist delivelist=ds_main_trgt_trgtattr_delivelist innrlist=ds_main_trgt_trgtattr_innrlist";
  1061. oParam.outds = "";
  1062. oParam.async = false;
  1063. oParam.callback = "cf_TXCPC00801";
  1064. tranf_submit(oParam);
  1065. }
  1066. }
  1067. function cf_TXCPC00801(sSvcId, nErrorCode, sErrorMsg)
  1068. {
  1069. if(nErrorCode < 0) return;
  1070. else
  1071. {
  1072. sysf_messageBox("대상자 저장이","I002");
  1073. opener.fGetCmpnAttr();
  1074. this.close();
  1075. }
  1076. }
  1077. function button3_onclick(obj:Button, e:ClickEventInfo)
  1078. {
  1079. this.close();
  1080. }
  1081. ]]></Script>
  1082. </Form>
  1083. </FDL>