SPCPC00900_캠페인대상리스트.xfdl 92 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPCPC00900" position="absolute 0 0 970 500" titletext="캠페인 대상 리스트" oninit="SPCPC00900_oninit" onload="SPCPC00900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Tab id="swt_trgt" taborder="4" tabindex="0" position="absolute 0 139 965 471" class="tab_Normal">
  8. <Tabpages>
  9. <Tabpage id="trgt_case1">
  10. <Layouts>
  11. <Layout>
  12. <Grid id="grd_trgtlist" class="text_center" taborder="1" binddataset="ds_main_trgt_trgtlist" useinputpanel="false" position="absolute 0 12 965 311" autoenter="select" cellsizingtype="col" oncellclick="swt_trgt_trgt_case1_grd_trgtlist_oncellclick">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="21" band="left"/>
  17. <Column size="180"/>
  18. <Column size="70"/>
  19. <Column size="75"/>
  20. <Column size="150"/>
  21. <Column size="90"/>
  22. <Column size="50"/>
  23. <Column size="100"/>
  24. <Column size="100"/>
  25. <Column size="120"/>
  26. <Column size="60"/>
  27. <Column size="120"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. <Column size="0"/>
  33. <Column size="0"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1" text="캠페인명"/>
  42. <Cell col="2" text="등록번호"/>
  43. <Cell col="3" text="성명"/>
  44. <Cell col="4" text="e-mail"/>
  45. <Cell col="5" text="핸드폰"/>
  46. <Cell col="6" text="추가"/>
  47. <Cell col="7" text="등록일"/>
  48. <Cell col="8" text="적용기준일"/>
  49. <Cell col="9" text="실행일시"/>
  50. <Cell col="10" text="응답여부"/>
  51. <Cell col="11" text="응답일"/>
  52. <Cell col="12"/>
  53. <Cell col="13"/>
  54. <Cell col="14"/>
  55. <Cell col="15"/>
  56. <Cell col="16"/>
  57. <Cell col="17"/>
  58. </Band>
  59. <Band id="body">
  60. <Cell celltype="head"/>
  61. <Cell col="1" text="bind:cmpnnm"/>
  62. <Cell col="2" text="bind:pid"/>
  63. <Cell col="3" text="bind:hngnm"/>
  64. <Cell col="4" text="bind:email"/>
  65. <Cell col="5" text="bind:mpphontel"/>
  66. <Cell col="6" text="bind:addyn"/>
  67. <Cell col="7" displaytype="date" text="bind:fstrgstdt" calendardisplaynulltype="nulltext"/>
  68. <Cell col="8" displaytype="date" text="bind:cmpnrgstdt" calendardisplaynulltype="nulltext"/>
  69. <Cell col="9" displaytype="date" text="bind:cmpnexecdt" mask="yyyy-MM-dd hh:mm" calendardisplaynulltype="nulltext"/>
  70. <Cell col="10" displaytype="combo" edittype="combo" text="bind:choscnfmyn"/>
  71. <Cell col="11" displaytype="date" edittype="date" text="bind:choscnfmdd" calendardisplaynulltype="nulltext"/>
  72. <Cell col="12" text="bind:zipcd"/>
  73. <Cell col="13" text="bind:address"/>
  74. <Cell col="14" text="bind:cmpncd"/>
  75. <Cell col="15" text="bind:rgstseq"/>
  76. <Cell col="16" text="bind:trsmtrgtflag"/>
  77. <Cell col="17" text="bind:innrclntid"/>
  78. </Band>
  79. </Format>
  80. </Formats>
  81. </Grid>
  82. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 0 7 965 13"/>
  83. </Layout>
  84. </Layouts>
  85. </Tabpage>
  86. <Tabpage id="trgt_case2">
  87. <Layouts>
  88. <Layout width="965" height="303">
  89. <Shape id="line42" linetype="horizontal" class="line_2" position="absolute 0 29 445 35"/>
  90. <Static id="caption42" text="등록번호/이름" class="cell_1" position="absolute 0 7 105 30" style="padding:0 0 0 0;align:center middle;"/>
  91. <Edit id="ipt_pid" taborder="142" class="input_essential" position="absolute 108 9 218 28" autoselect="true" lengthunit="utf16" maxlength="10" onkeyup="swt_trgt_trgt_case2_ipt_pid_onkeyup"/>
  92. <Button id="btn_pidsrch" taborder="143" class="icon_search" position="absolute 221 9 237 25" onclick="swt_trgt_trgt_case2_btn_pidsrch_onclick"/>
  93. <Edit id="ipt_trgtnm" taborder="144" enable="false" position="absolute 242 9 442 28" maxlength="30"/>
  94. <Shape id="line43" linetype="horizontal" class="line_2" position="absolute 0 55 445 61"/>
  95. <Static id="caption43" text="휴대전화" class="cell_1" position="absolute 0 33 105 56" style="padding:0 0 0 0;align:center middle;"/>
  96. <Edit id="ipt_trgtphone" taborder="145" enable="false" position="absolute 108 35 442 54" maxlength="20"/>
  97. <Shape id="line43_1" linetype="horizontal" class="line_2" position="absolute 0 81 445 87"/>
  98. <Static id="caption43_1" text="이메일" class="cell_1" position="absolute 0 59 105 82" style="padding:0 0 0 0;align:center middle;"/>
  99. <Edit id="ipt_trgtemail" taborder="146" enable="false" position="absolute 108 61 442 80" maxlength="100"/>
  100. <Shape id="line44" linetype="horizontal" class="line_2" position="absolute 445 81 965 87"/>
  101. <Static id="caption44" text="실행 일시" class="cell_1" position="absolute 445 7 550 82" style="padding:0 0 0 0;align:center middle;"/>
  102. <Grid id="grd_execlist" taborder="147" binddataset="ds_main_trgt_execlist" useinputpanel="false" position="absolute 553 8 965 80" autoenter="select" cellsizingtype="col">
  103. <Formats>
  104. <Format id="default">
  105. <Columns>
  106. <Column size="23"/>
  107. <Column size="120"/>
  108. <Column size="160"/>
  109. <Column size="80"/>
  110. </Columns>
  111. <Rows>
  112. <Row size="24" band="head"/>
  113. <Row size="24"/>
  114. </Rows>
  115. <Band id="head">
  116. <Cell/>
  117. <Cell col="1" text="적용기준일"/>
  118. <Cell col="2" text="실행(예정)일시"/>
  119. <Cell col="3" text="실행여부"/>
  120. </Band>
  121. <Band id="body">
  122. <Cell celltype="head" expr="currow+1"/>
  123. <Cell col="1" displaytype="date" text="bind:cmpnrgstdt" calendardisplaynulltype="nulltext"/>
  124. <Cell col="2" displaytype="date" text="bind:cmpnexecdt" mask="yyyy-MM-dd hh:mm" maskchar=" " calendardisplaynulltype="nulltext"/>
  125. <Cell col="3" text="bind:execyn"/>
  126. </Band>
  127. </Format>
  128. </Formats>
  129. </Grid>
  130. <Shape id="line45" linetype="horizontal" class="line_2" position="absolute 0 107 445 113"/>
  131. <Static id="caption45" text="캠페인명" class="cell_1" position="absolute 0 85 105 108" style="padding:0 0 0 0;align:center middle;"/>
  132. <Edit id="ipt_cmpnnm_t" taborder="148" class="input_essential" enable="false" position="absolute 108 87 308 106" maxlength="30"/>
  133. <Edit id="ipt_cmpncd_t" taborder="149" class="input_essential" enable="false" position="absolute 311 87 421 106" maxlength="8"/>
  134. <Button id="btn_cmpnsrch_t" taborder="150" class="icon_search" enable="false" position="absolute 424 88 440 104" onclick="swt_trgt_trgt_case2_btn_cmpnsrch_t_onclick"/>
  135. <Shape id="line46" linetype="horizontal" class="line_2" position="absolute 445 107 965 113"/>
  136. <Static id="caption46" text="캠페인 분류" class="cell_1" position="absolute 445 85 550 108" style="padding:0 0 0 0;align:center middle;"/>
  137. <Combo id="cmb_cmpnlrg_t" taborder="151" innerdataset="@ds_init_trgtgrup_cmpnlrggrup" codecolumn="cmpnlrgcd" datacolumn="cmpnlrgnm" class="combo_default" enable="false" position="absolute 553 87 683 106"/>
  138. <Combo id="cmb_cmpnmdl_t" taborder="152" innerdataset="@ds_init_trgtgrup_cmpnmdlgrup" codecolumn="cmpnmdlcd" datacolumn="cmpnmdlnm" class="combo_default" enable="false" position="absolute 686 87 816 106"/>
  139. <Combo id="cmb_cmpnsml_t" taborder="153" innerdataset="@ds_init_trgtgrup_cmpnsmlgrup" codecolumn="cmpnsmlcd" datacolumn="cmpnsmlnm" class="combo_default" enable="false" position="absolute 819 87 965 106"/>
  140. <Shape id="line5" linetype="horizontal" class="line_2" position="absolute 0 133 445 139"/>
  141. <Static id="caption16" text="캠페인 속성" class="cell_1" position="absolute 0 111 105 134" style="padding:0 0 0 0;align:center middle;"/>
  142. <Radio id="rdo_cmpnflag_t" taborder="154" columncount="4" rowcount="0" innerdataset="@ds_init_comncdlist_C0013list_C0013" codecolumn="cdid" datacolumn="cdnm" position="absolute 108 113 390 132" visible="false"/>
  143. <Shape id="line47" linetype="horizontal" class="line_2" position="absolute 445 133 965 139"/>
  144. <Static id="caption47" text="실행 부서명" class="cell_1" position="absolute 445 111 550 134" style="padding:0 0 0 0;align:center middle;"/>
  145. <Edit id="ipt_deptnm_t" taborder="155" position="absolute 553 113 714 132" maxlength="50" autoselect="true" onkeyup="swt_trgt_trgt_case2_ipt_deptnm_t_onkeyup"/>
  146. <Button id="btn_deptsrch_t" taborder="156" class="icon_search" position="absolute 717 113 733 129" onclick="swt_trgt_trgt_case2_btn_deptsrch_t_onclick"/>
  147. <Edit id="ipt_deptcd_t" taborder="157" enable="false" position="absolute 736 113 816 132"/>
  148. <Shape id="line2" linetype="horizontal" class="line_2" position="absolute 0 203 445 209"/>
  149. <Static id="caption15" text="실행 기준일" class="cell_1" position="absolute 0 137 105 204" style="padding:0 0 0 0;align:center middle;"/>
  150. <Radio id="rdo_exebaseflag_t" taborder="158" columncount="0" rowcount="3" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 108 136 135 204" onitemchanged="swt_trgt_trgt_case2_rdo_exebaseflag_t_onitemchanged">
  151. <Dataset id="innerdataset">
  152. <ColumnInfo>
  153. <Column id="codecolumn"/>
  154. <Column id="datacolumn"/>
  155. </ColumnInfo>
  156. <Rows>
  157. <Row>
  158. <Col id="codecolumn">3</Col>
  159. <Col id="datacolumn"/>
  160. </Row>
  161. <Row>
  162. <Col id="codecolumn">1</Col>
  163. <Col id="datacolumn"/>
  164. </Row>
  165. <Row>
  166. <Col id="codecolumn">2</Col>
  167. <Col id="datacolumn"/>
  168. </Row>
  169. </Rows>
  170. </Dataset>
  171. </Radio>
  172. <Static id="caption4" text="전송대상 생성기준일로부터" position="absolute 135 161 285 180"/>
  173. <MaskEdit id="ipt_exebase11_t" taborder="159" mask="####" position="absolute 289 160 319 179" autoselect="true" maskchar=" " type="string" trimtype="both"/>
  174. <Static id="caption18" text="일 후" position="absolute 324 161 354 180"/>
  175. <Static id="caption19" text="전송대상 생성기준일로부터" position="absolute 135 185 285 204"/>
  176. <MaskEdit id="ipt_exebase21_t" taborder="160" mask="##" position="absolute 289 183 319 202" autoselect="true" type="string" trimtype="both" maskchar=" "/>
  177. <Static id="caption20" text="개월" position="absolute 324 185 354 204"/>
  178. <MaskEdit id="ipt_exebase22_t" taborder="161" mask="##" position="absolute 354 183 384 202" autoselect="true" maskchar=" " type="string" trimtype="both"/>
  179. <Static id="caption21" text="일 후" position="absolute 390 185 420 204"/>
  180. <Calendar id="ipt_exebase31_t" taborder="162" position="absolute 200 138 320 157" autoselect="true" onkillfocus="swt_trgt_trgt_case2_ipt_exebase31_t_onkillfocus"/>
  181. <Static id="caption22" text="특정일" position="absolute 135 138 195 157"/>
  182. <Button id="btn_execbase_set" taborder="163" text="변경" class="btn2" position="absolute 400 139 442 158" onclick="swt_trgt_trgt_case2_btn_execbase_set_onclick"/>
  183. <Shape id="line48" linetype="horizontal" class="line_2" position="absolute 0 277 445 283"/>
  184. <Static id="caption48" text="연결 캠페인" class="cell_1" position="absolute 0 207 105 278" style="padding:0 0 0 0;align:center middle;"/>
  185. <Edit id="ipt_nextcmpnnm_t" taborder="164" position="absolute 108 208 285 227" autoselect="true" maxlength="30" onkeyup="swt_trgt_trgt_case2_ipt_nextcmpnnm_t_onkeyup"/>
  186. <Edit id="ipt_nextcmpncd_t" taborder="165" position="absolute 288 208 378 227" autoselect="true" onkeyup="swt_trgt_trgt_case2_ipt_nextcmpncd_t_onkeyup"/>
  187. <Button id="btn_cmpnsrch2_t" taborder="166" class="icon_search" position="absolute 380 209 396 225" onclick="swt_trgt_trgt_case2_btn_cmpnsrch2_t_onclick"/>
  188. <Grid id="grd_cmpnlnklist_t" taborder="167" binddataset="ds_main_trgt_cmpnlnklist" useinputpanel="false" position="absolute 108 230 396 276" autoenter="select" cellsizingtype="col">
  189. <Formats>
  190. <Format id="default">
  191. <Columns>
  192. <Column size="21" band="left"/>
  193. <Column size="160"/>
  194. <Column size="90"/>
  195. <Column size="0"/>
  196. <Column size="0"/>
  197. <Column size="0"/>
  198. <Column size="0"/>
  199. </Columns>
  200. <Rows>
  201. <Row size="24" band="head"/>
  202. <Row size="24"/>
  203. </Rows>
  204. <Band id="head">
  205. <Cell/>
  206. <Cell col="1" text="캠페인명"/>
  207. <Cell col="2" text="캠페인코드"/>
  208. <Cell col="3"/>
  209. <Cell col="4"/>
  210. <Cell col="5"/>
  211. <Cell col="6"/>
  212. </Band>
  213. <Band id="body">
  214. <Cell celltype="head"/>
  215. <Cell col="1" text="bind:nextcmpnnm"/>
  216. <Cell col="2" text="bind:nextcmpncd"/>
  217. <Cell col="3" text="bind:cmpncd"/>
  218. <Cell col="4" text="bind:cmpnrgstdt"/>
  219. <Cell col="5" text="bind:pid"/>
  220. <Cell col="6" text="bind:rgstseq"/>
  221. </Band>
  222. </Format>
  223. </Formats>
  224. </Grid>
  225. <Button id="btn_cmpnlnk_t_ins" taborder="168" text="추가" class="btn2" position="absolute 400 208 442 227" onclick="swt_trgt_trgt_case2_btn_cmpnlnk_t_ins_onclick"/>
  226. <Button id="btn_cmpnlnk_t_del" taborder="169" text="삭제" class="btn2" position="absolute 400 231 442 250" onclick="swt_trgt_trgt_case2_btn_cmpnlnk_t_del_onclick"/>
  227. <Static id="caption48_1" text="연결 시점" class="cell_1" position="absolute 0 281 105 304" style="padding:0 0 0 0;align:center middle;"/>
  228. <Radio id="rdo_cmpnlnktm_t" taborder="170" columncount="2" rowcount="0" innerdataset="@ds_init_comncdlist_C0018list_C0018" codecolumn="cdid" datacolumn="cdnm" position="absolute 108 283 390 302" visible="false"/>
  229. <Static id="caption49" text="실행 예정목록" class="cell_1" position="absolute 445 137 550 208" style="padding:0 0 0 0;align:center middle;"/>
  230. <Grid id="grd_exedatelist_t" taborder="171" binddataset="ds_main_trgt_delivelist" useinputpanel="false" position="absolute 553 138 965 206" autoenter="select" cellsizingtype="col">
  231. <Formats>
  232. <Format id="default">
  233. <Columns>
  234. <Column size="27" band="left"/>
  235. <Column size="90"/>
  236. <Column size="90"/>
  237. <Column size="40"/>
  238. <Column size="60"/>
  239. <Column size="40"/>
  240. <Column size="0"/>
  241. <Column size="40"/>
  242. <Column size="0"/>
  243. <Column size="0"/>
  244. <Column size="0"/>
  245. <Column size="0"/>
  246. <Column size="0"/>
  247. <Column size="0"/>
  248. <Column size="0"/>
  249. <Column size="0"/>
  250. <Column size="0"/>
  251. <Column size="0"/>
  252. <Column size="0"/>
  253. <Column size="0"/>
  254. </Columns>
  255. <Rows>
  256. <Row size="24" band="head"/>
  257. <Row size="24"/>
  258. </Rows>
  259. <Band id="head">
  260. <Cell/>
  261. <Cell col="1" text="전송 D-day"/>
  262. <Cell col="2" text="전송실행일"/>
  263. <Cell col="3" text="전후"/>
  264. <Cell col="4" text="전송시간"/>
  265. <Cell col="5" text="SMS"/>
  266. <Cell col="6" text="SMS코드"/>
  267. <Cell col="7" text="Email"/>
  268. <Cell col="8" text="Email코드"/>
  269. <Cell col="9"/>
  270. <Cell col="10"/>
  271. <Cell col="11"/>
  272. <Cell col="12"/>
  273. <Cell col="13"/>
  274. <Cell col="14"/>
  275. <Cell col="15"/>
  276. <Cell col="16"/>
  277. <Cell col="17"/>
  278. <Cell col="18"/>
  279. <Cell col="19"/>
  280. </Band>
  281. <Band id="body">
  282. <Cell celltype="head"/>
  283. <Cell col="1" text="bind:deliveschedayno1"/>
  284. <Cell col="2" text="bind:deliveschedayno"/>
  285. <Cell col="3" displaytype="combo" text="bind:bfaftflag" combodataset="ds_init_comncdlist_C0014list_C0014" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  286. <Cell col="4" text="bind:deliveschetm" mask="##:##" maskchar=" "/>
  287. <Cell col="5" text="bind:smsuseyn"/>
  288. <Cell col="6" text="bind:smsmsgsmlcd"/>
  289. <Cell col="7" text="bind:emailuseyn"/>
  290. <Cell col="8" text="bind:emailmsgsmlcd"/>
  291. <Cell col="9" text="bind:cmpncd"/>
  292. <Cell col="10" text="bind:cmpnrgstdt"/>
  293. <Cell col="11" text="bind:pid"/>
  294. <Cell col="12" text="bind:rgstseq"/>
  295. <Cell col="13" text="bind:cmpnexecdt"/>
  296. <Cell col="14" text="bind:smsmsglrgcd"/>
  297. <Cell col="15" text="bind:smsmsgmdlcd"/>
  298. <Cell col="16" text="bind:emailmsglrgcd"/>
  299. <Cell col="17" text="bind:emailmsgmdlcd"/>
  300. <Cell col="18" text="bind:trsmtrgtflag"/>
  301. <Cell col="19" text="bind:innrclntid"/>
  302. </Band>
  303. </Format>
  304. </Formats>
  305. </Grid>
  306. <Static id="caption50" text="1. 실행예정일" class="cell_1" position="absolute 445 207 550 232" style="padding:0 0 0 0;align:center middle;"/>
  307. <Static id="caption50_1" text="실행 기준일" position="absolute 554 211 621 230"/>
  308. <MaskEdit id="ipt_exedate_t" taborder="172" mask="##" position="absolute 624 211 674 230" autoselect="true" maskchar=" " type="string" trimtype="both"/>
  309. <Static id="caption50_2" text="일" position="absolute 678 211 698 230"/>
  310. <Combo id="cmb_exeflag_t" taborder="173" innerdataset="@ds_init_comncdlist_C0014list_C0014" codecolumn="cdid" datacolumn="cdnm" position="absolute 700 211 740 230"/>
  311. <MaskEdit id="ipt_exetime_t" taborder="174" mask="##:##" position="absolute 743 211 803 230" autoselect="true" maskchar=" " type="string" trimtype="both" style="align:center middle;" onkillfocus="swt_trgt_trgt_case2_ipt_exetime_t_onkillfocus"/>
  312. <Static id="caption50_3" text="에 발송" position="absolute 810 212 856 231"/>
  313. <Button id="btn_exedate_t_ins" taborder="175" text="추가" class="btn2" position="absolute 878 211 920 230" onclick="swt_trgt_trgt_case2_btn_exedate_t_ins_onclick"/>
  314. <Button id="btn_exedate_t_del" taborder="176" text="삭제" class="btn2" position="absolute 923 211 965 230" onclick="swt_trgt_trgt_case2_btn_exedate_t_del_onclick"/>
  315. <Static id="caption5" text="2. 실행 채널" class="cell_1" position="absolute 445 231 550 256" style="padding:0 0 0 0;align:center middle;"/>
  316. <CheckBox id="chk_sms_t" taborder="177" position="absolute 553 233 715 252" text="캠페인 실행 시 SMS 전송" truevalue="Y" onclick="swt_trgt_trgt_case2_chk_sms_t_onclick"/>
  317. <CheckBox id="chk_email_t" taborder="178" position="absolute 723 233 885 252" text="캠페인 실행 시 Email 전송" truevalue="Y" onclick="swt_trgt_trgt_case2_chk_email_t_onclick"/>
  318. <Static id="caption6" text="3. SMS설정" class="cell_1" position="absolute 445 255 550 280" style="padding:0 0 0 0;align:center middle;"/>
  319. <Edit id="ipt_smsmsg_t" taborder="179" enable="false" position="absolute 553 258 853 277"/>
  320. <Edit id="ipt_smssmlcd_t" taborder="180" position="absolute 856 258 935 277" maxlength="10" onkeyup="swt_trgt_trgt_case2_ipt_smssmlcd_t_onkeyup"/>
  321. <Edit id="ipt_smsmdlcd_t" taborder="181" visible="false" position="absolute 875 258 915 277"/>
  322. <Edit id="ipt_smslrgcd_t" taborder="182" visible="false" position="absolute 895 258 935 277"/>
  323. <Button id="btn_smssrch_t" taborder="183" class="icon_search" position="absolute 940 258 956 274" onclick="swt_trgt_trgt_case2_btn_smssrch_t_onclick"/>
  324. <Static id="caption7" text="4. Email설정" class="cell_1" position="absolute 445 279 550 304" style="padding:0 0 0 0;align:center middle;"/>
  325. <Edit id="ipt_emailtitl_t" taborder="184" enable="false" position="absolute 553 282 853 301"/>
  326. <Edit id="ipt_emailsmlcd_t" taborder="185" position="absolute 856 282 935 301" maxlength="10" onkeyup="swt_trgt_trgt_case2_ipt_emailsmlcd_t_onkeyup"/>
  327. <Edit id="ipt_emailmdlcd_t" taborder="186" visible="false" position="absolute 875 282 915 301"/>
  328. <Edit id="ipt_emaillrgcd_t" taborder="187" visible="false" position="absolute 895 282 935 301"/>
  329. <Button id="btn_emailsrch_t" taborder="188" class="icon_search" position="absolute 940 282 956 298" onclick="swt_trgt_trgt_case2_btn_emailsrch_t_onclick"/>
  330. <Shape id="line60" linetype="horizontal" class="line_3" position="absolute 0 303 965 309"/>
  331. </Layout>
  332. </Layouts>
  333. </Tabpage>
  334. </Tabpages>
  335. </Tab>
  336. <Div id="grp_johe" taborder="0" class="div_SA2" position="absolute 0 18 435 118">
  337. <Layouts>
  338. <Layout>
  339. <Static id="caption9" text="등 록 일 :" class="search_name" position="absolute 15 6 105 23" anchor="default"/>
  340. <Calendar id="ipt_trgtfromdd" taborder="4" class="input_search" position="absolute 109 5 219 24" anchor="default" autoselect="true" autoskip="true"/>
  341. <Static id="caption1" text="~" class="search_no_b" position="absolute 220 6 232 23" anchor="default"/>
  342. <Calendar id="ipt_trgttodd" taborder="5" class="input_search" position="absolute 231 5 341 24" anchor="default" autoselect="true"/>
  343. <Static id="caption12" text="실 행 일 :" class="search_name" position="absolute 15 30 105 47" anchor="default"/>
  344. <Calendar id="ipt_execfromdd" taborder="6" class="input_search" position="absolute 109 28 219 47" anchor="default" autoselect="true" autoskip="true"/>
  345. <Static id="caption13" text="~" class="search_no_b" position="absolute 220 29 232 46" anchor="default"/>
  346. <Calendar id="ipt_exectodd" taborder="7" class="input_search" position="absolute 231 28 341 47" anchor="default" autoselect="true"/>
  347. <Static id="caption2" text="대 상 자 :" class="search_name" position="absolute 15 54 105 71" anchor="default"/>
  348. <Combo id="cmb_trgtflag" taborder="8" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 109 53 209 72" anchor="default">
  349. <Dataset id="innerdataset">
  350. <ColumnInfo>
  351. <Column id="codecolumn"/>
  352. <Column id="datacolumn"/>
  353. </ColumnInfo>
  354. <Rows>
  355. <Row>
  356. <Col id="codecolumn">1</Col>
  357. <Col id="datacolumn">대상자명</Col>
  358. </Row>
  359. <Row>
  360. <Col id="codecolumn">3</Col>
  361. <Col id="datacolumn">휴대전화</Col>
  362. </Row>
  363. </Rows>
  364. </Dataset>
  365. </Combo>
  366. <Edit id="ipt_trgtstr" taborder="9" class="input_search" position="absolute 212 53 342 72" anchor="default" autoselect="true"/>
  367. <Static id="caption17" text="응답여부:" class="search_name" position="absolute 15 78 105 95" anchor="default"/>
  368. <Combo id="cmb_chosyn" taborder="10" innerdataset="@ds_init_comncdlist_C0017list_C0017" codecolumn="cdid" datacolumn="cdnm" class="combo_search" position="absolute 109 76 209 95" anchor="default"/>
  369. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 354 4 360 97" anchor="default"/>
  370. <Button id="btn_trgtsrch" taborder="11" text="조회" class="btn1" position="absolute 372 36 428 58" anchor="default" onclick="grp_johe_btn_trgtsrch_onclick"/>
  371. </Layout>
  372. </Layouts>
  373. </Div>
  374. <Div id="group3" taborder="1" position="absolute 460 0 965 128" class="div_SA2">
  375. <Layouts>
  376. <Layout>
  377. <Static id="caption3" text="공통 전송리스트" class="tit_2" position="absolute 7 4 137 25" anchor="default"/>
  378. <Shape id="line4" linetype="horizontal" class="line_10" position="absolute 8 20 498 26" anchor="default"/>
  379. <Grid id="grd_exedatelist" taborder="1" binddataset="ds_send_cmpnattr_delivelist" useinputpanel="false" position="absolute 8 25 498 109" anchor="default" autoenter="select" cellsizingtype="col">
  380. <Formats>
  381. <Format id="default">
  382. <Columns>
  383. <Column size="110"/>
  384. <Column size="90"/>
  385. <Column size="50"/>
  386. <Column size="70"/>
  387. <Column size="40"/>
  388. <Column size="0"/>
  389. <Column size="40"/>
  390. <Column size="0"/>
  391. <Column size="0"/>
  392. <Column size="0"/>
  393. <Column size="0"/>
  394. <Column size="0"/>
  395. <Column size="0"/>
  396. </Columns>
  397. <Rows>
  398. <Row size="24" band="head"/>
  399. <Row size="24"/>
  400. </Rows>
  401. <Band id="head">
  402. <Cell text="전송 D-day"/>
  403. <Cell col="1" text="전송실행일"/>
  404. <Cell col="2" text="전후"/>
  405. <Cell col="3" text="전송시간"/>
  406. <Cell col="4" text="SMS"/>
  407. <Cell col="5" text="SMS코드"/>
  408. <Cell col="6" text="Email"/>
  409. <Cell col="7" text="Email코드"/>
  410. <Cell col="8"/>
  411. <Cell col="9"/>
  412. <Cell col="10"/>
  413. <Cell col="11"/>
  414. <Cell col="12"/>
  415. </Band>
  416. <Band id="body">
  417. <Cell style="align:center middle;" text="bind:deliveschedayno1"/>
  418. <Cell col="1" displaytype="text" edittype="text" style="align:center middle;" text="bind:deliveschedayno"/>
  419. <Cell col="2" displaytype="combo" style="align:center middle;" text="bind:bfaftflag" combodataset="ds_init_comncdlist_C0014list_C0014" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  420. <Cell col="3" style="align:center middle;" text="bind:deliveschetm" mask="##:##" maskchar=" "/>
  421. <Cell col="4" style="align:center middle;" text="bind:smsuseyn"/>
  422. <Cell col="5" style="align:center middle;" text="bind:smsmsgsmlcd"/>
  423. <Cell col="6" style="align:center middle;" text="bind:emailuseyn"/>
  424. <Cell col="7" text="bind:emailmsgsmlcd"/>
  425. <Cell col="8" text="bind:cmpncd"/>
  426. <Cell col="9" text="bind:smsmsglrgcd"/>
  427. <Cell col="10" text="bind:smsmsgmdlcd"/>
  428. <Cell col="11" text="bind:emailmsglrgcd"/>
  429. <Cell col="12" text="bind:emailmsgmdlcd"/>
  430. </Band>
  431. </Format>
  432. </Formats>
  433. </Grid>
  434. </Layout>
  435. </Layouts>
  436. </Div>
  437. <Static id="caption10" text="캠페인 전송 내용" class="tit_2" position="absolute 0 0 130 21"/>
  438. <Button id="btn_saveexcel2" taborder="5" text="엑셀저장" class="btn7" position="absolute 727 132 807 151" onclick="btn_saveexcel2_onclick"/>
  439. <Button id="btn_trgtadd" taborder="6" text="대상자추가" class="btn2" position="absolute 809 132 886 151" onclick="btn_trgtadd_onclick"/>
  440. <Button id="btn_trgtdel" taborder="7" text="대상자삭제" class="btn2" position="absolute 888 132 965 151" onclick="btn_trgtdel_onclick"/>
  441. <Button id="btn_release" taborder="8" text="전체해제" class="btn2" position="absolute 67 467 131 486" onclick="btn_release_onclick"/>
  442. <Button id="btn_trgtsave" taborder="9" text="대상자저장" class="btn5" position="absolute 801 467 876 486" onclick="btn_trgtsave_onclick"/>
  443. <Button id="btn_trgtreset" taborder="10" text="대상자초기화" class="btn5" position="absolute 879 467 965 486" onclick="btn_trgtreset_onclick"/>
  444. <Button id="btn_select" taborder="11" text="전체선택" class="btn2" position="absolute 0 467 64 486" onclick="btn_select_onclick"/>
  445. <Static id="cab_trsmtrgtnm" position="absolute 272 132 611 154" style="color:#ff6600ff;font:Dotum,9,bold;"/>
  446. <Button id="btn_trgtcase1" taborder="12" text="대상자 리스트" position="absolute 0 132 131 154" class="btn_tab_S" onclick="btn_trgtcase1_onclick"/>
  447. <Button id="btn_trgtcase2" taborder="13" text="대상자 속성" class="btn_tab" position="absolute 132 132 263 154" onclick="btn_trgtcase2_onclick"/>
  448. <Shape id="line4" class="line_10" position="absolute 0 152 965 158" style="strokepen:3 solid #07a693ff;"/>
  449. </Layout>
  450. </Layouts>
  451. <Objects>
  452. <Dataset id="ds_send_trgtsrch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  453. <ColumnInfo>
  454. <Column id="rgstfromdd" type="STRING" size="256"/>
  455. <Column id="rgsttodd" type="STRING" size="256"/>
  456. <Column id="trgtflag" type="STRING" size="256"/>
  457. <Column id="trgtstr" type="STRING" size="256"/>
  458. <Column id="execfromdd" type="STRING" size="256"/>
  459. <Column id="exectodd" type="STRING" size="256"/>
  460. <Column id="choscnfmyn" type="STRING" size="256"/>
  461. <Column id="allcmpn" type="STRING" size="256"/>
  462. <Column id="cmpncd" type="STRING" size="256"/>
  463. <Column id="offset" type="STRING" size="256"/>
  464. <Column id="pagesize" type="STRING" size="256"/>
  465. <Column id="trsmtrgtflag" type="STRING" size="256"/>
  466. </ColumnInfo>
  467. <Rows>
  468. <Row>
  469. <Col id="rgstfromdd"/>
  470. <Col id="rgsttodd"/>
  471. <Col id="trgtflag"/>
  472. <Col id="trgtstr"/>
  473. <Col id="execfromdd"/>
  474. <Col id="exectodd"/>
  475. <Col id="choscnfmyn"/>
  476. <Col id="allcmpn"/>
  477. <Col id="cmpncd"/>
  478. <Col id="offset"/>
  479. <Col id="pagesize">1000</Col>
  480. <Col id="trsmtrgtflag"/>
  481. </Row>
  482. </Rows>
  483. </Dataset>
  484. <Dataset id="ds_init_comncdlist_C0017list_C0017" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  485. <Dataset id="ds_init_comncdlist_C0014list_C0014" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  486. <Dataset id="ds_send_cmpnattr_delivelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  487. <Dataset id="ds_main_trgt_trgtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  488. <ColumnInfo>
  489. <Column id="cmpnnm" type="STRING" size="256" sumtext="캠페인명"/>
  490. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  491. <Column id="hngnm" type="STRING" size="256" sumtext="대상자명"/>
  492. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대전화번호"/>
  493. <Column id="fstrgstdt" type="STRING" size="256" sumtext="실제등록일"/>
  494. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="기준등록일"/>
  495. <Column id="cmpnexecdt" type="STRING" size="256" sumtext="실행일시"/>
  496. <Column id="choscnfmyn" type="STRING" size="256" sumtext="응답여부"/>
  497. <Column id="choscnfmdd" type="STRING" size="256" sumtext="응답일"/>
  498. <Column id="testrslt" type="STRING" size="256" sumtext="검사결과"/>
  499. <Column id="smscnts" type="STRING" size="256" sumtext="SMS내용"/>
  500. <Column id="zipcd" type="STRING" size="256" sumtext="우편번호"/>
  501. <Column id="address" type="STRING" size="256" sumtext="주소"/>
  502. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  503. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  504. <Column id="email" type="STRING" size="256" sumtext="휴대전화번호"/>
  505. <Column id="trsmtrgtflag" type="STRING" size="256" sumtext="전송대상구분"/>
  506. <Column id="innrclntid" type="STRING" size="256" sumtext="내부고객ID"/>
  507. <Column id="addyn" type="STRING" size="256" sumtext="대상자추가여부"/>
  508. </ColumnInfo>
  509. </Dataset>
  510. <Dataset id="ds_main_trgt_trgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  511. <ColumnInfo>
  512. <Column id="savemode" type="STRING" size="256" sumtext="저장상태"/>
  513. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  514. <Column id="hngnm" type="STRING" size="256" sumtext="대상자명"/>
  515. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대전화번호"/>
  516. <Column id="email" type="STRING" size="256" sumtext="이메일주소"/>
  517. <Column id="cmpnnm" type="STRING" size="256" sumtext="캠페인명"/>
  518. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  519. <Column id="cmpnlrgcd" type="STRING" size="256" sumtext="캠페인대분류"/>
  520. <Column id="cmpnmdlcd" type="STRING" size="256" sumtext="캠페인중분류"/>
  521. <Column id="cmpnsmlcd" type="STRING" size="256" sumtext="캠페인소분류"/>
  522. <Column id="cmpnexecattr" type="STRING" size="256" sumtext="캠페인속성"/>
  523. <Column id="rgstdeptnm" type="STRING" size="256" sumtext="등록부서명"/>
  524. <Column id="rgstdeptcd" type="STRING" size="256" sumtext="등록부서코드"/>
  525. <Column id="execbaseddflag" type="STRING" size="256" sumtext="실행기준일분류"/>
  526. <Column id="execbasedayno" type="INT" size="256" sumtext="실행기준일수"/>
  527. <Column id="execbasemm" type="INT" size="256" sumtext="실행기준월"/>
  528. <Column id="execbasedd" type="INT" size="256" sumtext="실행기준일"/>
  529. <Column id="execbasespcldd" type="STRING" size="256" sumtext="실행기준특정일"/>
  530. <Column id="nextcmpnlnkpnttm" type="STRING" size="256" sumtext="연결캠페인시점"/>
  531. <Column id="cmpnlnklist" type="STRING" size="256" sumtext="연결캠페인"/>
  532. <Column id="delivelist" type="STRING" size="256" sumtext="실행예정일"/>
  533. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  534. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  535. </ColumnInfo>
  536. <Rows>
  537. <Row/>
  538. </Rows>
  539. </Dataset>
  540. <Dataset id="ds_init_comncdlist_C0013list_C0013" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  541. <Dataset id="ds_temp_trgtattr_cmpnlnk" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  542. <ColumnInfo>
  543. <Column id="nextcmpnnm" type="STRING" size="256"/>
  544. <Column id="nextcmpncd" type="STRING" size="256"/>
  545. </ColumnInfo>
  546. <Rows>
  547. <Row>
  548. <Col id="nextcmpnnm"/>
  549. <Col id="nextcmpncd"/>
  550. </Row>
  551. </Rows>
  552. </Dataset>
  553. <Dataset id="ds_main_trgt_cmpnlnklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  554. <ColumnInfo>
  555. <Column id="nextcmpnnm" type="STRING" size="256" sumtext="연결캠페인명"/>
  556. <Column id="nextcmpncd" type="STRING" size="256" sumtext="연결캠페인코드"/>
  557. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  558. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  559. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  560. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  561. </ColumnInfo>
  562. </Dataset>
  563. <Dataset id="ds_init_comncdlist_C0018list_C0018" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  564. <Dataset id="ds_main_trgt_execlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  565. <ColumnInfo>
  566. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  567. <Column id="cmpnexecdt" type="STRING" size="256" sumtext="실행예정일"/>
  568. <Column id="execyn" type="STRING" size="256" sumtext="실행여부"/>
  569. </ColumnInfo>
  570. </Dataset>
  571. <Dataset id="ds_init_trgtgrup_cmpnlrggrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  572. <ColumnInfo>
  573. <Column id="cmpnlrgcd" type="INT" size="256" sumtext="캠페인대분류코드"/>
  574. <Column id="cmpnlrgnm" type="STRING" size="256" sumtext="캠페인대분류이름"/>
  575. </ColumnInfo>
  576. </Dataset>
  577. <Dataset id="ds_init_trgtgrup_cmpnmdlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  578. <ColumnInfo>
  579. <Column id="cmpnmdlcd" type="INT" size="256" sumtext="캠페인중분류코드"/>
  580. <Column id="cmpnmdlnm" type="STRING" size="256" sumtext="캠페인중분류이름"/>
  581. </ColumnInfo>
  582. </Dataset>
  583. <Dataset id="ds_init_trgtgrup_cmpnsmlgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  584. <ColumnInfo>
  585. <Column id="cmpnsmlcd" type="INT" size="256" sumtext="캠페인소분류코드"/>
  586. <Column id="cmpnsmlnm" type="STRING" size="256" sumtext="캠페인소분류이름"/>
  587. </ColumnInfo>
  588. </Dataset>
  589. <Dataset id="ds_main_trgt_delivelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  590. <ColumnInfo>
  591. <Column id="deliveschedayno" type="INT" size="256" sumtext="실행예정일"/>
  592. <Column id="bfaftflag" type="STRING" size="256" sumtext="실행전후분류"/>
  593. <Column id="deliveschetm" type="STRING" size="256" sumtext="실행예정시간"/>
  594. <Column id="smsuseyn" type="STRING" size="256" sumtext="SMS전송여부"/>
  595. <Column id="smsmsgsmlcd" type="STRING" size="256" sumtext="SMS코드"/>
  596. <Column id="emailuseyn" type="STRING" size="256" sumtext="Email전송여부"/>
  597. <Column id="emailmsgsmlcd" type="STRING" size="256" sumtext="Email코드"/>
  598. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  599. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  600. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  601. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  602. <Column id="cmpnexecdt" type="STRING" size="256" sumtext="실제전송일시"/>
  603. <Column id="smsmsglrgcd" type="INT" size="256" sumtext="SMS대분류코드"/>
  604. <Column id="smsmsgmdlcd" type="INT" size="256" sumtext="SMS중분류코드"/>
  605. <Column id="emailmsglrgcd" type="INT" size="256" sumtext="Email대분류코드"/>
  606. <Column id="emailmsgmdlcd" type="INT" size="256" sumtext="Email중분류코드"/>
  607. </ColumnInfo>
  608. </Dataset>
  609. <Dataset id="ds_temp_trgtattr_delivesche" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  610. <ColumnInfo>
  611. <Column id="deliveschedayno" type="INT" size="256" sumtext="실행예정일"/>
  612. <Column id="bfaftflag" type="STRING" size="256" sumtext="실행전후분류"/>
  613. <Column id="deliveschetm" type="STRING" size="256" sumtext="실행예정시간"/>
  614. <Column id="smsuseyn" type="STRING" size="256" sumtext="SMS전송여부"/>
  615. <Column id="smsmsgsmlcd" type="STRING" size="256" sumtext="SMS코드"/>
  616. <Column id="emailuseyn" type="STRING" size="256" sumtext="Email전송여부"/>
  617. <Column id="emailmsgsmlcd" type="STRING" size="256" sumtext="Email코드"/>
  618. <Column id="cmpncd" type="STRING" size="256" sumtext="캠페인코드"/>
  619. <Column id="cmpnrgstdt" type="STRING" size="256" sumtext="캠페인등록일"/>
  620. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  621. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  622. <Column id="cmpnexecdt" type="STRING" size="256" sumtext="실제전송일시"/>
  623. <Column id="smsmsglrgcd" type="INT" size="256" sumtext="SMS대분류코드"/>
  624. <Column id="smsmsgmdlcd" type="INT" size="256" sumtext="SMS중분류코드"/>
  625. <Column id="emailmsglrgcd" type="INT" size="256" sumtext="Email대분류코드"/>
  626. <Column id="emailmsgmdlcd" type="INT" size="256" sumtext="Email중분류코드"/>
  627. <Column id="smsmsg" type="STRING" size="256"/>
  628. <Column id="emailtitl" type="STRING" size="256"/>
  629. </ColumnInfo>
  630. <Rows>
  631. <Row>
  632. <Col id="bfaftflag">B</Col>
  633. </Row>
  634. </Rows>
  635. </Dataset>
  636. <Dataset id="ds_send_cmpnattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  637. <ColumnInfo>
  638. <Column id="cmpncd" type="STRING" size="256"/>
  639. <Column id="trsmtrgtflag" type="STRING" size="256"/>
  640. <Column id="delivelist" type="STRING" size="256"/>
  641. </ColumnInfo>
  642. <Rows>
  643. <Row>
  644. <Col id="cmpncd"/>
  645. <Col id="trsmtrgtflag"/>
  646. <Col id="delivelist"/>
  647. </Row>
  648. </Rows>
  649. </Dataset>
  650. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  651. <ColumnInfo>
  652. <Column id="trsmtrgtnm" type="STRING" size="256"/>
  653. </ColumnInfo>
  654. <Rows>
  655. <Row/>
  656. </Rows>
  657. </Dataset>
  658. <Dataset id="ds_send_trgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  659. <ColumnInfo>
  660. <Column id="cmpncd" type="STRING" size="256"/>
  661. <Column id="pid" type="STRING" size="256"/>
  662. <Column id="cmpnrgstdt" type="STRING" size="256"/>
  663. <Column id="rgstseq" type="STRING" size="256"/>
  664. <Column id="trsmtrgtflag" type="STRING" size="256"/>
  665. <Column id="innrclntid" type="STRING" size="256"/>
  666. </ColumnInfo>
  667. <Rows>
  668. <Row>
  669. <Col id="cmpncd"/>
  670. <Col id="pid"/>
  671. <Col id="cmpnrgstdt"/>
  672. <Col id="rgstseq"/>
  673. <Col id="trsmtrgtflag"/>
  674. <Col id="innrclntid"/>
  675. </Row>
  676. </Rows>
  677. </Dataset>
  678. <Dataset id="ds_temp_trgtattr_oldtrgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  679. <Dataset id="ds_send_trgtgrup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  680. <ColumnInfo>
  681. <Column id="cmpnlrgcd" type="STRING" size="256"/>
  682. <Column id="cmpnmdlcd" type="STRING" size="256"/>
  683. <Column id="cmpnsmlcd" type="STRING" size="256"/>
  684. </ColumnInfo>
  685. <Rows>
  686. <Row>
  687. <Col id="cmpnlrgcd"/>
  688. <Col id="cmpnmdlcd"/>
  689. <Col id="cmpnsmlcd"/>
  690. </Row>
  691. </Rows>
  692. </Dataset>
  693. <Dataset id="ds_send_trgtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  694. <Dataset id="ds_main_trgt_trgtattr_cmpnlnklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  695. <Dataset id="ds_main_trgt_trgtattr_delivelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  696. <Dataset id="ds_temp_trgtattr_trgtattr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  697. <ColumnInfo>
  698. <Column id="rgstseq" type="INT" size="256" sumtext="등록순서"/>
  699. </ColumnInfo>
  700. </Dataset>
  701. </Objects>
  702. <Bind>
  703. <BindItem id="item0" compid="grp_johe.ipt_trgtfromdd" propid="value" datasetid="ds_send_trgtsrch" columnid="rgstfromdd"/>
  704. <BindItem id="item1" compid="grp_johe.ipt_trgttodd" propid="value" datasetid="ds_send_trgtsrch" columnid="rgsttodd"/>
  705. <BindItem id="item2" compid="grp_johe.ipt_execfromdd" propid="value" datasetid="ds_send_trgtsrch" columnid="execfromdd"/>
  706. <BindItem id="item3" compid="grp_johe.ipt_exectodd" propid="value" datasetid="ds_send_trgtsrch" columnid="exectodd"/>
  707. <BindItem id="item4" compid="grp_johe.cmb_trgtflag" propid="value" datasetid="ds_send_trgtsrch" columnid="trgtflag"/>
  708. <BindItem id="item5" compid="grp_johe.ipt_trgtstr" propid="value" datasetid="ds_send_trgtsrch" columnid="trgtstr"/>
  709. <BindItem id="item6" compid="grp_johe.cmb_chosyn" propid="value" datasetid="ds_send_trgtsrch" columnid="choscnfmyn"/>
  710. <BindItem id="item7" compid="swt_trgt.trgt_case2.ipt_pid" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="pid"/>
  711. <BindItem id="item8" compid="swt_trgt.trgt_case2.ipt_trgtnm" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="hngnm"/>
  712. <BindItem id="item9" compid="swt_trgt.trgt_case2.ipt_trgtphone" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="mpphontel"/>
  713. <BindItem id="item10" compid="swt_trgt.trgt_case2.ipt_trgtemail" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="email"/>
  714. <BindItem id="item11" compid="swt_trgt.trgt_case2.ipt_cmpnnm_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpnnm"/>
  715. <BindItem id="item12" compid="swt_trgt.trgt_case2.ipt_cmpncd_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpncd"/>
  716. <BindItem id="item13" compid="swt_trgt.trgt_case2.rdo_cmpnflag_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpnexecattr"/>
  717. <BindItem id="item14" compid="swt_trgt.trgt_case2.ipt_exebase31_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="execbasespcldd"/>
  718. <BindItem id="item15" compid="swt_trgt.trgt_case2.rdo_exebaseflag_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="execbaseddflag"/>
  719. <BindItem id="item16" compid="swt_trgt.trgt_case2.ipt_nextcmpnnm_t" propid="value" datasetid="ds_temp_trgtattr_cmpnlnk" columnid="nextcmpnnm"/>
  720. <BindItem id="item17" compid="swt_trgt.trgt_case2.ipt_nextcmpncd_t" propid="value" datasetid="ds_temp_trgtattr_cmpnlnk" columnid="nextcmpncd"/>
  721. <BindItem id="item18" compid="swt_trgt.trgt_case2.ipt_exebase21_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="execbasemm"/>
  722. <BindItem id="item19" compid="swt_trgt.trgt_case2.ipt_exebase11_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="execbasedayno"/>
  723. <BindItem id="item20" compid="swt_trgt.trgt_case2.ipt_exebase22_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="execbasedd"/>
  724. <BindItem id="item21" compid="swt_trgt.trgt_case2.rdo_cmpnlnktm_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="nextcmpnlnkpnttm"/>
  725. <BindItem id="item22" compid="swt_trgt.trgt_case2.cmb_cmpnlrg_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpnlrgcd"/>
  726. <BindItem id="item23" compid="swt_trgt.trgt_case2.cmb_cmpnmdl_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpnmdlcd"/>
  727. <BindItem id="item24" compid="swt_trgt.trgt_case2.ipt_deptnm_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="rgstdeptnm"/>
  728. <BindItem id="item25" compid="swt_trgt.trgt_case2.ipt_deptcd_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="rgstdeptcd"/>
  729. <BindItem id="item26" compid="swt_trgt.trgt_case2.cmb_cmpnsml_t" propid="value" datasetid="ds_main_trgt_trgtattr" columnid="cmpnsmlcd"/>
  730. <BindItem id="item27" compid="swt_trgt.trgt_case2.ipt_exedate_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="deliveschedayno"/>
  731. <BindItem id="item28" compid="swt_trgt.trgt_case2.cmb_exeflag_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="bfaftflag"/>
  732. <BindItem id="item29" compid="swt_trgt.trgt_case2.ipt_exetime_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="deliveschetm"/>
  733. <BindItem id="item30" compid="swt_trgt.trgt_case2.chk_email_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="emailuseyn"/>
  734. <BindItem id="item31" compid="swt_trgt.trgt_case2.chk_sms_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="smsuseyn"/>
  735. <BindItem id="item32" compid="swt_trgt.trgt_case2.ipt_smsmsg_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="smsmsg"/>
  736. <BindItem id="item33" compid="swt_trgt.trgt_case2.ipt_emailtitl_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="emailtitl"/>
  737. <BindItem id="item34" compid="swt_trgt.trgt_case2.ipt_emailsmlcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="emailmsgsmlcd"/>
  738. <BindItem id="item35" compid="swt_trgt.trgt_case2.ipt_smssmlcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="smsmsgsmlcd"/>
  739. <BindItem id="item36" compid="swt_trgt.trgt_case2.ipt_smsmdlcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="smsmsgmdlcd"/>
  740. <BindItem id="item37" compid="swt_trgt.trgt_case2.ipt_emailmdlcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="emailmsgmdlcd"/>
  741. <BindItem id="item38" compid="swt_trgt.trgt_case2.ipt_smslrgcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="smsmsglrgcd"/>
  742. <BindItem id="item39" compid="swt_trgt.trgt_case2.ipt_emaillrgcd_t" propid="value" datasetid="ds_temp_trgtattr_delivesche" columnid="emailmsglrgcd"/>
  743. <BindItem id="item40" compid="cab_trsmtrgtnm" propid="text" datasetid="ds_init" columnid="trsmtrgtnm"/>
  744. </Bind>
  745. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  746. * System Name :
  747. * Job Name :
  748. * Creator :
  749. * Make Date : 2016-05-24
  750. * Description :
  751. *---------------------------------------------------------------------------------------
  752. * Modify Date Modifier Modify Description
  753. *---------------------------------------------------------------------------------------
  754. * 2016-05-24 Live Converter TF->XP
  755. *
  756. *---------------------------------------------------------------------------------------
  757. ****************************************************************************************/
  758. include "com_commonxp::comm_main.xjs";
  759. include "crm_crmxp::CCZ001.xjs";
  760. include "crm_campainxp::CPZ001.xjs";
  761. var arErrorCode = new HashArray();
  762. function SPCPC00900_oninit(obj:Form, e:InitEventInfo)
  763. {
  764. frmf_initForm(obj);
  765. }
  766. function SPCPC00900_onload(obj:Form, e:LoadEventInfo)
  767. {
  768. grdf_initGrid(group3.grd_exedatelist);
  769. grdf_initGrid(swt_trgt.trgt_case1.grd_trgtlist);
  770. grdf_setRowTypeIcon(swt_trgt.trgt_case1.grd_trgtlist, 0);
  771. grdf_initGrid(swt_trgt.trgt_case2.grd_cmpnlnklist_t);
  772. grdf_setRowTypeIcon(swt_trgt.trgt_case2.grd_cmpnlnklist_t, 0);
  773. grdf_initGrid(swt_trgt.trgt_case2.grd_execlist);
  774. grdf_initGrid(swt_trgt.trgt_case2.grd_exedatelist_t);
  775. grdf_setRowTypeIcon(swt_trgt.trgt_case2.grd_exedatelist_t, 0);
  776. try
  777. {
  778. ds_send_cmpnattr.copyData(arg_ds_send_cmpnattr);
  779. }
  780. catch(e){}
  781. try
  782. {
  783. ds_send_cmpnattr_delivelist.copyData(arg_ds_send_cmpnattr_delivelist);
  784. }
  785. catch(e){}
  786. // C0014: 캠페인예정구분
  787. var arrParam = [{dsNm: "ds_init_comncdlist_C0014list_C0014", cdGrpId: "C0014"}
  788. ,{dsNm: "ds_init_comncdlist_C0017list_C0017", cdGrpId: "C0017"}]
  789. appf_getCodeList(arrParam);
  790. // 초기화면 리스트
  791. swt_trgt.tabindex = 0;
  792. // 대상자 리스트 실행일을 설정
  793. var prest_dd = utlf_getCurrentDate();
  794. ds_send_trgtsrch.setColumn(0, "execfromdd", prest_dd);
  795. ds_send_trgtsrch.setColumn(0, "exectodd", prest_dd);
  796. // 그리드 초기화
  797. fInitCmpn();
  798. // 선택된 캠페인의 전송대상 구분을 표시 및 검색조건에 전송대상구분 설정
  799. var trsmtrgtflag = ds_send_cmpnattr.getColumn(0, "trsmtrgtflag");
  800. if (trsmtrgtflag == "1")
  801. {
  802. ds_init.setColumn(0, "trsmtrgtnm","전송대상 : 데이터마이닝");
  803. ds_send_trgtsrch.setColumn(0, "trsmtrgtflag","1");
  804. }
  805. else if(trsmtrgtflag == "2")
  806. {
  807. ds_init.setColumn(0, "trsmtrgtnm","전송대상 : 주소록");
  808. ds_send_trgtsrch.setColumn(0, "trsmtrgtflag","2");
  809. }
  810. }
  811. function fInitCmpn()
  812. {
  813. // 캠페인 등록화면 초기화
  814. ds_main_trgt_trgtlist.clearData();
  815. }
  816. function grp_johe_btn_trgtsrch_onclick(obj:Button, e:ClickEventInfo)
  817. {
  818. fInitGetAttr(2); //조회한 속성 초기화
  819. ds_main_trgt_trgtlist.clearData();//페이지 나누기 추가 후 초기화가 안됨
  820. var cmpn_cd = ds_send_cmpnattr.getColumn(0, "cmpncd");
  821. ds_send_trgtsrch.setColumn(0, "cmpncd", cmpn_cd);
  822. if (utlf_isNull(cmpn_cd)) ds_send_trgtsrch.setColumn(0, "allcmpn", "1");
  823. var oParam = {};
  824. oParam.id = "TRCPC00102";
  825. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  826. oParam.method = "reqGetTrgtList";
  827. oParam.inds = "req=ds_send_trgtsrch";
  828. oParam.outds = "ds_main_trgt_trgtlist=trgtlist";
  829. oParam.async = false;
  830. //oParam.callback = "cf_TRCPC00102";
  831. tranf_submit(oParam);
  832. if (btn_trgtcase2.class == "btn_tab_S")
  833. {
  834. fSetButtons(3); //대상자 목록 탭
  835. }
  836. }
  837. function fInitGetAttr(s)
  838. {
  839. // 대상자(2) 조회한 속성 초기화
  840. if (s==2)
  841. {
  842. ds_send_trgtattr.setColumn(0, "cmpncd", "");
  843. ds_send_trgtattr.setColumn(0, "pid", "");
  844. ds_send_trgtattr.setColumn(0, "cmpnrgstdt", "");
  845. ds_send_trgtattr.setColumn(0, "rgstseq", "");
  846. fInitTrgt();
  847. }
  848. }
  849. function fInitTrgt()
  850. {
  851. // 대상자 등록화면 초기화
  852. ds_main_trgt_trgtattr.clearData();
  853. ds_main_trgt_trgtattr.addRow();
  854. ds_main_trgt_cmpnlnklist.clearData();
  855. ds_main_trgt_delivelist.clearData();
  856. ds_main_trgt_execlist.clearData();
  857. ds_main_trgt_trgtattr.setColumn(0, "cmpnexecattr", "1");
  858. ds_main_trgt_trgtattr.setColumn(0, "execbaseddflag", "1");
  859. ds_main_trgt_trgtattr.setColumn(0, "nextcmpnlnkpnttm", "C");
  860. //grd_exedatelist_t.clearStatus();
  861. ds_temp_trgtattr_delivesche.clearData();
  862. ds_temp_trgtattr_delivesche.addRow();
  863. ds_temp_trgtattr_delivesche.setColumn(0, "bfaftflag", "B");
  864. fSetBaseDD(2);
  865. }
  866. function fSetBaseDD(s)
  867. {
  868. // // 캠페인(1) 및 대상자(2) 실행기준일 선택에 따른 입력 컨트롤 제한
  869. var base_flag = "";
  870. if (s==1)
  871. {
  872. // 없는 내용 컨트롤함 주석처리. 2018-09-28
  873. // 현 소스에서는 s == 2 인것만 호출함.
  874. // base_flag = ds_main_cmpn_cmpnattr.getColumn(0, "execbaseddflag");
  875. // switch (base_flag)
  876. // {
  877. // case "1":
  878. // ipt_exebase11.disabled = false;
  879. // ipt_exebase21.disabled = true;
  880. // ipt_exebase22.disabled = true;
  881. // ipt_exebase31.disabled = true;
  882. // break;
  883. // case "2":
  884. // ipt_exebase11.disabled = true;
  885. // ipt_exebase21.disabled = false;
  886. // ipt_exebase22.disabled = false;
  887. // ipt_exebase31.disabled = true;
  888. // break;
  889. // case "3":
  890. // ipt_exebase11.disabled = true;
  891. // ipt_exebase21.disabled = true;
  892. // ipt_exebase22.disabled = true;
  893. // ipt_exebase31.disabled = false;
  894. // break;
  895. // default:
  896. // ipt_exebase11.disabled = false;
  897. // ipt_exebase21.disabled = true;
  898. // ipt_exebase22.disabled = true;
  899. // ipt_exebase31.disabled = true;
  900. // break;
  901. // }
  902. }
  903. else if (s==2)
  904. {
  905. base_flag = ds_main_trgt_trgtattr.getColumn(0, "execbaseddflag");
  906. switch (base_flag)
  907. {
  908. case "1":
  909. swt_trgt.trgt_case2.ipt_exebase11_t.enable = true;
  910. swt_trgt.trgt_case2.ipt_exebase21_t.enable = false;
  911. swt_trgt.trgt_case2.ipt_exebase22_t.enable = false;
  912. swt_trgt.trgt_case2.ipt_exebase31_t.enable = false;
  913. break;
  914. case "2":
  915. swt_trgt.trgt_case2.ipt_exebase11_t.enable = false;
  916. swt_trgt.trgt_case2.ipt_exebase21_t.enable = true;
  917. swt_trgt.trgt_case2.ipt_exebase22_t.enable = true;
  918. swt_trgt.trgt_case2.ipt_exebase31_t.enable = false;
  919. break;
  920. case "3":
  921. swt_trgt.trgt_case2.ipt_exebase11_t.enable = false;
  922. swt_trgt.trgt_case2.ipt_exebase21_t.enable = false;
  923. swt_trgt.trgt_case2.ipt_exebase22_t.enable = false;
  924. swt_trgt.trgt_case2.ipt_exebase31_t.enable = true;
  925. break;
  926. default:
  927. swt_trgt.trgt_case2.ipt_exebase11_t.enable = true;
  928. swt_trgt.trgt_case2.ipt_exebase21_t.enable = false;
  929. swt_trgt.trgt_case2.ipt_exebase22_t.enable = false;
  930. swt_trgt.trgt_case2.ipt_exebase31_t.enable = false;
  931. break;
  932. }
  933. }
  934. }
  935. function fSetButtons(s)
  936. {
  937. // 대상자(3:리스트, 4:속성) 탭과 버튼 세팅
  938. switch (s)
  939. {
  940. case 3:
  941. btn_trgtcase1.class = "btn_tab_S";
  942. btn_trgtcase2.class = "btn_tab";
  943. swt_trgt.tabindex = 0;
  944. // 캠페인추가 및 엑셀저장 버튼 활성화
  945. btn_saveexcel2.enable = true;
  946. btn_trgtadd.enable = true;
  947. btn_trgtdel.enable = true;
  948. // 전체선택, 선택해제, 선택반전 버튼 활성화
  949. btn_select.enable = true;
  950. btn_release.enable = true;
  951. break;
  952. case 4:
  953. btn_trgtcase2.class = "btn_tab";
  954. btn_trgtcase2.class = "btn_tab_S";
  955. swt_trgt.tabindex = 1;
  956. // 캠페인추가 및 엑셀저장 버튼 비활성화
  957. btn_saveexcel2.enable = false;
  958. btn_trgtadd.enable = false;
  959. btn_trgtdel.enable = false;
  960. // 전체선택, 선택해제, 선택반전 버튼 비활성화
  961. btn_select.enable = false;
  962. btn_release.enable = false;
  963. break;
  964. default:
  965. break;
  966. }
  967. }
  968. function btn_trgtcase1_onclick(obj:Button, e:ClickEventInfo)
  969. {
  970. fSetButtons(3); //대상자 리스트 탭
  971. }
  972. function btn_trgtcase2_onclick(obj:Button, e:ClickEventInfo)
  973. {
  974. // 대상자 목록에서 대상자가 선택되어 있을 경우 선택된 대상자의 캠페인 속성을 조회
  975. fSelectTrgt(); // 대상자 선택
  976. var pid = ds_send_trgtattr.getColumn(0, "pid");
  977. var innrclntid = ds_send_trgtattr.getColumn(0, "innrclntid");
  978. if(!utlf_isNull(pid) || !utlf_isNull(innrclntid))
  979. {
  980. }
  981. else
  982. {
  983. sysf_messageBox("속성을 조회할 대상자를 \n대상자리스트에서","C002");
  984. btn_trgtcase1.class = "btn_tab_S";
  985. btn_trgtcase2.class = "btn_tab";
  986. }
  987. }
  988. function fSelectTrgt()
  989. {
  990. // 선택된 캠페인 코드 및 등록번호를 인스턴스에 복사 - 대상자 속성 조회에 이용
  991. var grid = ds_main_trgt_trgtlist;
  992. var cur_row = grid.rowposition
  993. if (cur_row >= 0 )
  994. {
  995. var cmpn_cd = grid.getColumn(cur_row, "cmpncd");
  996. var cmpn_pid = grid.getColumn(cur_row, "pid");
  997. var cmpn_rgst = grid.getColumn(cur_row, "cmpnrgstdt");
  998. var cmpn_seq = grid.getColumn(cur_row, "rgstseq");
  999. var cmpn_trsmtrgtflag = grid.getColumn(cur_row, "trsmtrgtflag");
  1000. var cmpn_innrclntid = grid.getColumn(cur_row, "innrclntid");
  1001. ds_send_trgtattr.setColumn(0, "cmpncd", cmpn_cd);
  1002. ds_send_trgtattr.setColumn(0, "pid", cmpn_pid);
  1003. ds_send_trgtattr.setColumn(0, "cmpnrgstdt", cmpn_rgst);
  1004. ds_send_trgtattr.setColumn(0, "trsmtrgtflag", cmpn_trsmtrgtflag);
  1005. ds_send_trgtattr.setColumn(0, "innrclntid", cmpn_innrclntid);
  1006. }
  1007. }
  1008. function swt_trgt_trgt_case1_grd_trgtlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1009. {
  1010. fSelectTrgt(); // 대상자 선택
  1011. }
  1012. function swt_trgt_trgt_case2_ipt_pid_onkeyup(obj:Edit, e:KeyEventInfo)
  1013. {
  1014. if(e.keycode == 13)
  1015. {
  1016. obj.updateToDataset();
  1017. swt_trgt.trgt_case2.btn_pidsrch.click();
  1018. }
  1019. }
  1020. function swt_trgt_trgt_case2_btn_pidsrch_onclick(obj:Button, e:ClickEventInfo)
  1021. {
  1022. // 등록번호 검색
  1023. var trsmtrgtflag = ds_send_cmpnattr.getColumn(0, "trsmtrgtflag");
  1024. trsmtrgtflag = "1"
  1025. if (trsmtrgtflag == "1")
  1026. { // 전송대상이 데이터마이닝의 경우 환자검색 팝업창 호출
  1027. var search_condition = "pid";
  1028. var search_term = ds_main_trgt_trgtattr.getColumn(0, "pid");
  1029. var rtn = cczfOpenSelectClnt(search_condition, search_term);
  1030. ds_main_trgt_trgtattr.setColumn(0, "pid", rtn.pid);
  1031. ds_main_trgt_trgtattr.setColumn(0, "hngnm", rtn.hngnm);
  1032. ds_main_trgt_trgtattr.setColumn(0, "mpphontel", rtn.mpphontel);
  1033. ds_main_trgt_trgtattr.setColumn(0, "email", rtn.email);
  1034. }
  1035. else if (trsmtrgtflag == "2")
  1036. {
  1037. // 전송대상이 주소록의 경우 내부고객 검색 팝업창 호출
  1038. }
  1039. }
  1040. function swt_trgt_trgt_case2_btn_cmpnsrch_t_onclick(obj:Button, e:ClickEventInfo)
  1041. {
  1042. var send_cmpn_cd = ds_main_trgt_trgtattr.getColumn(0, "cmpncd");
  1043. var send_cmpn_nm = ds_main_trgt_trgtattr.getColumn(0, "cmpnnm");
  1044. var obj = cpzfOpenSelectCmpn(send_cmpn_cd, send_cmpn_nm) // 캠페인 선택 팝업(modal)
  1045. ds_main_trgt_trgtattr.setColumn(0, "cmpncd", obj.cmpncd);
  1046. ds_main_trgt_trgtattr.setColumn(0, "cmpnnm", obj.cmpnnm);
  1047. ds_send_cmpnattr.setColumn(0, "cmpncd", ds_main_trgt_trgtattr.getColumn(0, "cmpncd"));
  1048. fGetCmpnToTrgt(); // 캠페인 속성 상속
  1049. }
  1050. function fGetCmpnToTrgt()
  1051. {
  1052. // 캠페인의 속성을 상속받아 대상자 입력창 구성
  1053. var oParam = {};
  1054. oParam.id = "TRCPC00105";
  1055. oParam.service = "cmpnmngtapp.CmpnMngt";
  1056. oParam.method = "reqGetCmpnAttr";
  1057. oParam.inds = "req=ds_send_cmpnattr";
  1058. oParam.outds = "ds_main_trgt_trgtattr=trgtattr ds_main_trgt_cmpnlnklist=cmpnlnklist ds_main_trgt_delivelist=delivelist";
  1059. oParam.async = false;
  1060. //oParam.callback = "cf_TRCPC00105";
  1061. tranf_submit(oParam);//캠페인 속성 조회, 설정
  1062. // 전송대상 설정 ( 1.환자 2.주소록)
  1063. var trsmtrgtflag = ds_send_cmpnattr.getColumn(0, "trsmtrgtflag");
  1064. dsf_makeValue(ds_main_trgt_trgtattr, "trsmtrgtflag", "string", trsmtrgtflag);
  1065. fGetTrgtCmpnGrup(); // 캠페인 분류 세팅
  1066. fCalcExecDt(); // 실제실행일 계산 후 인스턴스에 할당(키값인 등록일 포함)
  1067. ds_main_trgt_trgtattr.setColumn(0, "savemode","I");
  1068. ds_temp_trgtattr_oldtrgtattr.copyData(ds_main_trgt_trgtattr);
  1069. // 실행예정일 및 연결캠페인 그리드를 입력상태로 변경
  1070. fGridSetStatus(ds_main_trgt_cmpnlnklist, "i");
  1071. fGridSetStatus(ds_main_trgt_delivelist, "i");
  1072. }
  1073. function fGetTrgtCmpnGrup()
  1074. {
  1075. // 대상자 캠페인 분류 세팅(해당 분류 코드만 가져온다 - 분류는 수정 불가이므로 명칭만 출력하기 위한 용도)
  1076. ds_send_trgtgrup.setColumn(0, "cmpnlrgcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnlrgcd"));
  1077. ds_send_trgtgrup.setColumn(0, "cmpnmdlcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnmdlcd"));
  1078. ds_send_trgtgrup.setColumn(0, "cmpnsmlcd", ds_main_trgt_trgtattr.getColumn(0, "cmpnsmlcd"));
  1079. var oParam = {};
  1080. oParam.id = "TRCPC00108";
  1081. oParam.service = "cmpnmngtapp.CmpnClsMngt";
  1082. oParam.method = "reqGetTrgtCmpnGrup";
  1083. oParam.inds = "req=ds_send_trgtgrup";
  1084. oParam.outds = "ds_init_trgtgrup_cmpnlrggrup=cmpnlrggrup ds_init_trgtgrup_cmpnmdlgrup=cmpnmdlgrup ds_init_trgtgrup_cmpnsmlgrup=cmpnsmlgrup";
  1085. oParam.async = false;
  1086. //oParam.callback = "cf_TRCPC00108";
  1087. tranf_submit(oParam);
  1088. }
  1089. function fCalcExecDt()
  1090. {
  1091. // 실행기준일과 실행예정목록으로 실제 실행일시 계산(등록일 기준)
  1092. var grid = ds_main_trgt_delivelist;
  1093. if (grid.rowcount > 0)
  1094. {
  1095. // 신규등록일 때 등록일시 설정, 수정일 때 기존 등록일시 설정
  1096. if (utlf_isNull(ds_send_trgtattr.getColumn(0, "cmpnrgstdt")))
  1097. {
  1098. var rgst_dd = utlf_getCurrentDate();
  1099. var rgst_tm = utlf_getCurrentTime();
  1100. var rgst_dt = rgst_dd + rgst_tm;
  1101. ds_main_trgt_trgtattr.setColumn(0, "cmpnrgstdt", rgst_dt); // 대상자에 등록일 키값 할당
  1102. }
  1103. else
  1104. {
  1105. var rgst_dd = ds_send_trgtattr.getColumn(0, "cmpnrgstdt");
  1106. }
  1107. var sche_base_dd = fCalcBaseDt(rgst_dd); // 실행기준일 계산
  1108. var cmpn_exec_dt = new Array(grid.rowcount);
  1109. for (var i = 0; i < grid.rowcount; i++)
  1110. {
  1111. var delive_sche_dayno = ds_main_trgt_delivelist.getColumn(i, "deliveschedayno");
  1112. var bf_aft_flag = ds_main_trgt_delivelist.getColumn(i, "bfaftflag");
  1113. var delive_sche_tm = ds_main_trgt_delivelist.getColumn(i, "deliveschetm");
  1114. cmpn_exec_dt[i] = fCalcScheDt(sche_base_dd, delive_sche_dayno, bf_aft_flag, delive_sche_tm); // 실행예정일시 계산
  1115. // DB에 입력을 위해 delivelist에 저장 및 화면 출력을 위해 execlist에 저장
  1116. ds_main_trgt_delivelist.setColumn(i, "cmpnexecdt", cmpn_exec_dt[i]);
  1117. var addRow = ds_main_trgt_execlist.addRow();
  1118. ds_main_trgt_execlist.setColumn(addRow, "cmpnrgstdt", rgst_dd); //등록일
  1119. ds_main_trgt_execlist.setColumn(addRow, "cmpnexecdt", cmpn_exec_dt[i]); //실행일
  1120. }
  1121. }
  1122. }
  1123. function fCalcBaseDt(rgst_dd)
  1124. {
  1125. // 실행기준일 계산 (rgst_dd가 Date형일 경우 getAddDate계산 후 sche_base_dd와 같은 날짜로 변경되어 String형으로 사용)
  1126. var sche_base_dd;
  1127. var exec_base_dd_flag = ds_main_trgt_trgtattr.getColumn(0, "execbaseddflag");
  1128. var exec_base_dayno = ds_main_trgt_trgtattr.getColumn(0, "execbasedayno");
  1129. var exec_base_mm = ds_main_trgt_trgtattr.getColumn(0, "execbasemm");
  1130. var exec_base_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasedd");
  1131. var exec_base_spcl_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasespcldd");
  1132. if (exec_base_dd_flag == "1")
  1133. {
  1134. sche_base_dd = rgst_dd.toDate().getAddDate(parseInt(exec_base_dayno), "D");
  1135. sche_base_dd = utlf_getDateTime(sche_base_dd, "D");
  1136. }
  1137. else if (exec_base_dd_flag == "2")
  1138. {
  1139. sche_base_dd = rgst_dd.toDate().getAddDate(parseInt(exec_base_mm), "M");
  1140. sche_base_dd = sche_base_dd.getAddDate(parseInt(exec_base_dd), "D");
  1141. sche_base_dd = utlf_getDateTime(sche_base_dd, "D");
  1142. }
  1143. else if (exec_base_dd_flag == "3")
  1144. {
  1145. sche_base_dd = exec_base_spcl_dd;
  1146. }
  1147. return sche_base_dd;
  1148. }
  1149. function fCalcScheDt(sche_base_dd, delive_sche_dayno, bf_aft_flag, delive_sche_tm)
  1150. {
  1151. // 실제실행일시 계산
  1152. var cmpn_exec_dt;
  1153. if (bf_aft_flag == "B") delive_sche_dayno = (0 - delive_sche_dayno);
  1154. cmpn_exec_dt = sche_base_dd.toDate().getAddDate(parseInt(delive_sche_dayno), "D");
  1155. cmpn_exec_dt = utlf_getDateTime(cmpn_exec_dt, "D") + delive_sche_tm + "00";
  1156. return cmpn_exec_dt;
  1157. }
  1158. function fGridSetStatus(grid, stat)
  1159. {
  1160. // 멀티업데이트 그리드의 상태값을 설정
  1161. if (grid.rowcount > 0)
  1162. {
  1163. for (var i = 0; i < grid.rowcount; i++)
  1164. {
  1165. grid.updatecontrol = false;
  1166. grid.setRowType(i, stat);
  1167. grid.updatecontrol = true;
  1168. }
  1169. }
  1170. }
  1171. function swt_trgt_trgt_case2_rdo_exebaseflag_t_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1172. {
  1173. fSetBaseDD(2); // 실행기준일 선택에 따른 활성화(2: 대상자)
  1174. }
  1175. function swt_trgt_trgt_case2_ipt_exebase31_t_onkillfocus(obj:Calendar, e:KillFocusEventInfo)
  1176. {
  1177. var check_dd2 = obj.value;
  1178. if (!utlf_isNull(check_dd2) && !utlf_isValidDateTime(check_dd2,"YYYYMMDD"))
  1179. {
  1180. sysf_messageBox("날짜가 바르게 입력되지","E007");
  1181. obj.setFocus();
  1182. }
  1183. }
  1184. function swt_trgt_trgt_case2_btn_execbase_set_onclick(obj:Button, e:ClickEventInfo)
  1185. {
  1186. // 실행일시 목록 제거 후 다시 계산(실행예정목록 cmpnexecdt에 변경값 적용 후 수정상태로..)
  1187. ds_main_trgt_execlist.clearData();
  1188. fCalcExecDt();
  1189. fGridSetStatus(ds_main_trgt_delivelist, "u"); // 실행예정목록 상태를 update로 변경해야 DB에 변경된 실행일시가 저장
  1190. // 변경여부 확인을 위해 인스턴스에 값 설정
  1191. ds_temp_trgtattr_oldtrgtattr.setColumn(0, "execbaseddflag", ds_main_trgt_trgtattr.getColumn(0, "execbaseddflag"));
  1192. ds_temp_trgtattr_oldtrgtattr.setColumn(0, "execbasedayno", ds_main_trgt_trgtattr.getColumn(0, "execbasedayno"));
  1193. ds_temp_trgtattr_oldtrgtattr.setColumn(0, "execbasemm", ds_main_trgt_trgtattr.getColumn(0, "execbasemm"));
  1194. ds_temp_trgtattr_oldtrgtattr.setColumn(0, "execbasedd", ds_main_trgt_trgtattr.getColumn(0, "execbasedd"));
  1195. ds_temp_trgtattr_oldtrgtattr.setColumn(0, "execbasespcldd", ds_main_trgt_trgtattr.getColumn(0, "execbasespcldd"));
  1196. }
  1197. function swt_trgt_trgt_case2_ipt_nextcmpnnm_t_onkeyup(obj:Edit, e:KeyEventInfo)
  1198. {
  1199. if(e.keycode == 13)
  1200. {
  1201. obj.updateToDataset();
  1202. swt_trgt.trgt_case2.btn_cmpnsrch2_t.click();
  1203. }
  1204. }
  1205. function swt_trgt_trgt_case2_ipt_nextcmpncd_t_onkeyup(obj:Edit, e:KeyEventInfo)
  1206. {
  1207. if(e.keycode == 13)
  1208. {
  1209. obj.updateToDataset();
  1210. swt_trgt.trgt_case2.btn_cmpnsrch2_t.click();
  1211. }
  1212. }
  1213. function swt_trgt_trgt_case2_btn_cmpnsrch2_t_onclick(obj:Button, e:ClickEventInfo)
  1214. {
  1215. var send_cmpn_cd = ds_temp_trgtattr_cmpnlnk.getColumn(0, "nextcmpncd");
  1216. var send_cmpn_nm = ds_temp_trgtattr_cmpnlnk.getColumn(0, "nextcmpnnm");
  1217. var obj = cpzfOpenSelectCmpn(send_cmpn_cd, send_cmpn_nm);
  1218. ds_temp_trgtattr_cmpnlnk.setColumn(0, "nextcmpncd", obj.cmpncd);
  1219. ds_temp_trgtattr_cmpnlnk.setColumn(0, "nextcmpnnm", obj.cmpnnm);
  1220. }
  1221. function swt_trgt_trgt_case2_btn_cmpnlnk_t_ins_onclick(obj:Button, e:ClickEventInfo)
  1222. {
  1223. fAddTrgtCmpnLnk(); // 입력값 체크 후 연결캠페인 행추가
  1224. }
  1225. function swt_trgt_trgt_case2_btn_cmpnlnk_t_del_onclick(obj:Button, e:ClickEventInfo)
  1226. {
  1227. dsf_deleteSelectedRows(swt_trgt.trgt_case2.grd_cmpnlnklist_t); // 연결캠페인 선택행 삭제
  1228. }
  1229. function swt_trgt_trgt_case2_ipt_deptnm_t_onkeyup(obj:Edit, e:KeyEventInfo)
  1230. {
  1231. if(e.keycode == 13)
  1232. {
  1233. obj.updateToDataset();
  1234. swt_trgt.trgt_case2.btn_deptsrch_t.click();
  1235. }
  1236. }
  1237. function swt_trgt_trgt_case2_btn_deptsrch_t_onclick(obj:Button, e:ClickEventInfo)
  1238. {
  1239. var search_condition = "deptnm";
  1240. var search_term = ds_main_trgt_trgtattr.getColumn(0, "rgstdeptnm");
  1241. var obj = cczfOpenSelectDept(search_condition, search_term);
  1242. ds_main_trgt_trgtattr.setColumn(0, "rgstdeptcd", obj.deptcd);
  1243. ds_main_trgt_trgtattr.setColumn(0, "rgstdeptnm", obj.deptnm);
  1244. }
  1245. function swt_trgt_trgt_case2_ipt_exetime_t_onkillfocus(obj:MaskEdit, e:KillFocusEventInfo)
  1246. {
  1247. var check_tm2 = obj.value;
  1248. if (!utlf_isNull(check_tm2) && !utlf_isValidDateTime(check_tm2,"hhmm"))
  1249. {
  1250. sysf_messageBox("시간이 바르게 입력되지","E007");
  1251. obj.setFocus();
  1252. }
  1253. }
  1254. function swt_trgt_trgt_case2_btn_exedate_t_ins_onclick(obj:Button, e:ClickEventInfo)
  1255. {
  1256. fAddTrgtExecDD(); // 입력값 체크 후 대상자 실행예정일 행추가
  1257. }
  1258. function fAddTrgtExecDD()
  1259. {
  1260. var delive_dd = ds_temp_trgtattr_delivesche.getColumn(0, "deliveschedayno");
  1261. var bf_aft_flag = ds_temp_trgtattr_delivesche.getColumn(0, "bfaftflag");
  1262. var delive_tm = ds_temp_trgtattr_delivesche.getColumn(0, "deliveschetm");
  1263. var sms_use_yn = ds_temp_trgtattr_delivesche.getColumn(0, "smsuseyn");
  1264. var email_use_yn = ds_temp_trgtattr_delivesche.getColumn(0, "emailuseyn");
  1265. // 필수입력 및 입력값 체크
  1266. if (utlf_isNull(delive_dd))
  1267. {
  1268. sysf_messageBox("실행 예정일을","C001");
  1269. swt_trgt.trgt_case2.ipt_exedate_t.setFocus();
  1270. }
  1271. else if (utlf_isNull(delive_tm))
  1272. {
  1273. sysf_messageBox("실행 예정시간을","C001");
  1274. swt_trgt.trgt_case2.ipt_exetime_t.setFocus();
  1275. // SMS, Email 둘 중 하나 체크 및 체크된 채널 메시지 선택 체크
  1276. }
  1277. else if (utlf_isNull(sms_use_yn) && utlf_isNull(email_use_yn))
  1278. {
  1279. sysf_messageBox("SMS와 Email 둘중 하나는","C002");
  1280. swt_trgt.trgt_case2.chk_sms_t.setFocus();
  1281. }
  1282. else if (sms_use_yn == "Y" && utlf_isNull(ds_temp_trgtattr_delivesche.getColumn(0, "smsmsgsmlcd")))
  1283. {
  1284. sysf_messageBox("SMS 메시지를","C002");
  1285. }
  1286. else if (email_use_yn == "Y" && utlf_isNull(ds_temp_trgtattr_delivesche.getColumn(0, "emailmsgsmlcd")))
  1287. {
  1288. sysf_messageBox("Email 메시지를","C002");
  1289. // 실행예정일 중복 체크
  1290. }
  1291. else if (fCheckExecDD(ds_main_trgt_delivelist, delive_dd, bf_aft_flag, delive_tm))
  1292. {
  1293. sysf_messageBox("실행예정일이 ","E006");
  1294. swt_trgt.trgt_case2.ipt_exedate_t.setFocus();
  1295. }
  1296. else
  1297. {
  1298. var addRow = ds_main_trgt_delivelist.addRow();
  1299. ds_main_trgt_delivelist.copyRow(addRow, ds_temp_trgtattr_delivesche, 0);
  1300. ds_temp_trgtattr_delivesche.clearData();
  1301. ds_temp_trgtattr_delivesche.addRow();
  1302. ds_temp_trgtattr_delivesche.setColumn(0, "bfaftflag", "B");
  1303. // grd_execlist그리드에 실행일시 계산하여 반영
  1304. fCalcExecList("i");
  1305. }
  1306. }
  1307. function fCheckExecDD(grid, exec_dd, bf_aft_flag, exec_tm)
  1308. {
  1309. // 실행예정일 중복 등록 체크 - fAddExecDD, fAddTrgtExecDD에서 호출
  1310. if (grid.rowcount > 0)
  1311. {
  1312. for (var i = 0; i < grid.rowcount; i++)
  1313. {
  1314. if (grid.getColumn(i, "deliveschedayno") == exec_dd && grid.valueMatrix(i, "bfaftflag") == bf_aft_flag && grid.valueMatrix(i, "deliveschetm") == exec_tm)
  1315. {
  1316. return true;
  1317. }
  1318. }
  1319. }
  1320. }
  1321. function swt_trgt_trgt_case2_btn_exedate_t_del_onclick(obj:Button, e:ClickEventInfo)
  1322. {
  1323. fCalcExecList("d"); // 실행일시 리스트에서 삭제(순서주의: grd_exedatelist_t 보다 먼저 실행 - row index값)
  1324. dsf_deleteSelectedRows(swt_trgt.trgt_case2.grd_exedatelist_t); // 대상자 실행예정일 선택행 삭제
  1325. }
  1326. function fCalcExecList(stat)
  1327. {
  1328. var grid = swt_trgt.trgt_case2.grd_exedatelist_t;
  1329. var objDs = ds_main_trgt_delivelist;
  1330. if (stat == "i")
  1331. {
  1332. // 대상자별 실행예정목록을 추가 시 실행예정목록으로 실제 실행일시 계산(등록일 기준)
  1333. var rgst_dd = ds_main_trgt_trgtattr.getColumn(0, "cmpnrgstdt"); // 캠페인 등록일이 키값이므로.. 기존 등록일을 기준으로 사용
  1334. var sche_base_dd = fCalcBaseDt(rgst_dd); // 실행기준일 계산
  1335. var i = objDs.rowposition;
  1336. var delive_sche_dayno = ds_main_trgt_delivelist.getColumn(i, "deliveschedayno");
  1337. var bf_aft_flag = ds_main_trgt_delivelist.getColumn(i, "bfaftflag");
  1338. var delive_sche_tm = ds_main_trgt_delivelist.getColumn(i, "deliveschetm");
  1339. var cmpn_exec_dt = fCalcScheDt(sche_base_dd, delive_sche_dayno, bf_aft_flag, delive_sche_tm); // 실행예정일시 계산
  1340. // DB에 입력을 위해 delivelist에 저장 및 화면 출력을 위해 execlist에 저장
  1341. ds_main_trgt_delivelist.setColumn(i, "cmpnexecdt", cmpn_exec_dt);
  1342. var addRow = ds_main_trgt_execlist.addRow();
  1343. ds_main_trgt_execlist.setColumn(addRow, "cmpnrgstdt", rgst_dd); //등록일
  1344. ds_main_trgt_execlist.setColumn(addRow, "cmpnexecdt", cmpn_exec_dt); //실행일
  1345. }
  1346. else if (stat == "d")
  1347. {
  1348. // 대상자별 실행예정목록 삭제 시 실행 일시 삭제(deleteSelectedRows(grd_exedatelist_t, false)일 경우만..)
  1349. var selectedRows = grdf_getSelectedRows(grid);
  1350. for(var i = selectedRows.length-1; i >= 0; i--)
  1351. {
  1352. var row = selectedRows[i];
  1353. objDs.deleteRow(row);
  1354. }
  1355. }
  1356. }
  1357. function swt_trgt_trgt_case2_chk_sms_t_onclick(obj:CheckBox, e:ClickEventInfo)
  1358. {
  1359. if(obj.value == "Y"){}
  1360. else { ds_temp_trgtattr_delivesche.setColumn(0, "smsuseyn", "") }
  1361. }
  1362. function swt_trgt_trgt_case2_chk_email_t_onclick(obj:CheckBox, e:ClickEventInfo)
  1363. {
  1364. if(obj.value == "Y"){}
  1365. else { ds_temp_trgtattr_delivesche.setColumn(0, "emailuseyn", "") }
  1366. }
  1367. function swt_trgt_trgt_case2_ipt_smssmlcd_t_onkeyup(obj:Edit, e:KeyEventInfo)
  1368. {
  1369. if(e.keycode == 13)
  1370. {
  1371. obj.updateToDataset();
  1372. swt_trgt.trgt_case2.btn_smssrch_t.click();
  1373. }
  1374. }
  1375. function swt_trgt_trgt_case2_ipt_emailsmlcd_t_onkeyup(obj:Edit, e:KeyEventInfo)
  1376. {
  1377. if(e.keycode == 13)
  1378. {
  1379. obj.updateToDataset();
  1380. swt_trgt.trgt_case2.btn_emailsrch_t.click();
  1381. }
  1382. }
  1383. function swt_trgt_trgt_case2_btn_smssrch_t_onclick(obj:Button, e:ClickEventInfo)
  1384. {
  1385. var search_condition = "S";
  1386. var search_term = ds_temp_trgtattr_delivesche.getColumn(0, "smsmsgsmlcd");
  1387. var obj = cczfOpenSelectMsg(search_condition, search_term);
  1388. ds_temp_trgtattr_delivesche.setColumn(0, "smsmsgsmlcd", obj.msgsmlcd);
  1389. ds_temp_trgtattr_delivesche.setColumn(0, "smsmsgmdlcd", obj.msgmdlcd);
  1390. ds_temp_trgtattr_delivesche.setColumn(0, "smsmsglrgcd", obj.msglrgcd);
  1391. ds_temp_trgtattr_delivesche.setColumn(0, "smsmsg", obj.msgcnts);
  1392. }
  1393. function swt_trgt_trgt_case2_btn_emailsrch_t_onclick(obj:Button, e:ClickEventInfo)
  1394. {
  1395. var search_condition = "E";
  1396. var search_term = ds_temp_trgtattr_delivesche.getColumn(0, "emailmsgsmlcd");
  1397. var obj = cczfOpenSelectMsg(search_condition, search_term);
  1398. ds_temp_trgtattr_delivesche.setColumn(0, "emailmsgsmlcd", obj.msgsmlcd);
  1399. ds_temp_trgtattr_delivesche.setColumn(0, "emailmsgmdlcd", obj.msgmdlcd);
  1400. ds_temp_trgtattr_delivesche.setColumn(0, "emailmsglrgcd", obj.msglrgcd);
  1401. ds_temp_trgtattr_delivesche.setColumn(0, "emailtitl", obj.emailtitl);
  1402. }
  1403. function btn_select_onclick(obj:Button, e:ClickEventInfo)
  1404. {
  1405. swt_trgt.trgt_case1.grd_trgtlist.selectAll();
  1406. }
  1407. function btn_release_onclick(obj:Button, e:ClickEventInfo)
  1408. {
  1409. ds_main_trgt_trgtlist.clearSelect();
  1410. }
  1411. function btn_trgtsave_onclick(obj:Button, e:ClickEventInfo)
  1412. {
  1413. // 대상자리스트 탭과 속성 탭의 저장 실행 구분
  1414. if (btn_trgtcase1.class == "btn_tab_S")
  1415. {
  1416. fSaveTrgtList(); //대상자 리스트 저장
  1417. }
  1418. else if (btn_trgtcase2.class == "btn_tab_S")
  1419. {
  1420. fSaveTrgt(); //대상자 속성 저장(I:등록, U:수정)
  1421. }
  1422. }
  1423. function fSaveTrgtList()
  1424. {
  1425. var updt_trgt_list = grdf_getGridUpdateData(swt_trgt.trgt_case1.grd_trgtlist);
  1426. if (updt_trgt_list.rowcount != 0)
  1427. {
  1428. grdf_setStatusColumn(updt_trgt_list, "status");
  1429. ds_send_trgtlist.copyData(updt_trgt_list, true);
  1430. }
  1431. var oParam = {};
  1432. oParam.id = "TXCPC00104";
  1433. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1434. oParam.method = "reqExeTrgtList";
  1435. oParam.inds = "trgtlist=ds_send_trgtlist";
  1436. oParam.outds = "";
  1437. oParam.async = false;
  1438. oParam.callback = "cf_TXCPC00104";
  1439. tranf_submit(oParam);
  1440. }
  1441. function cf_TXCPC00104(sSvcId, nErrorCode, sErrorMsg)
  1442. {
  1443. if(nErrorCode < 0) return;
  1444. else
  1445. {
  1446. ds_send_trgtlist.clearData();
  1447. sysf_messageBox("대상자 저장이","I002");
  1448. ds_main_trgt_trgtlist.clearData();
  1449. var oParam = {};
  1450. oParam.id = "TRCPC00102";
  1451. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1452. oParam.method = "reqGetTrgtList";
  1453. oParam.inds = "req=ds_send_trgtsrch";
  1454. oParam.outds = "ds_main_trgt_trgtlist=trgtlist";
  1455. oParam.async = false;
  1456. //oParam.callback = "cf_TRCPC00102";
  1457. tranf_submit(oParam);
  1458. }
  1459. }
  1460. function fSaveTrgt()
  1461. {
  1462. var save_mode = ds_main_trgt_trgtattr.getColumn(0, "savemode");
  1463. var trsmtrgtflag = ds_send_trgtsrch.getColumn(0, "trsmtrgtflag");
  1464. dsf_makeValue(ds_main_trgt_trgtattr, "trsmtrgtflag", "string", trsmtrgtflag);
  1465. // 필수입력 체크
  1466. if (!fCheckTrgt()) return;
  1467. // 실행기준일과 실행일시 체크
  1468. if (!fCheckTrgtBaseDD()) return;
  1469. // 연결캠페인, 실행예정일 변경된 리스트 확인
  1470. var updt_cmpn_lnk = grdf_getGridUpdateData(swt_trgt.trgt_case2.grd_cmpnlnklist_t);
  1471. if (updt_cmpn_lnk.rowcount != 0)
  1472. {
  1473. grdf_setStatusColumn(updt_cmpn_lnk, "status");
  1474. ds_main_trgt_trgtattr_cmpnlnklist.copyData(updt_cmpn_lnk, true);
  1475. }
  1476. var updt_exec_sche = dsf_getGridUpdateData(swt_trgt.trgt_case2.grd_exedatelist_t);
  1477. if (updt_exec_sche.rowcount != 0)
  1478. {
  1479. grdf_setStatusColumn(updt_exec_sche, "status");
  1480. ds_main_trgt_trgtattr_delivelist.copyData(updt_cmpn_lnk, true);
  1481. }
  1482. // rgstseq sequence에서 값 가져와서 인스턴스에 할당(root/main/trgt/trgtattr/rgstseq)
  1483. if (save_mode == "I")
  1484. {
  1485. var oParam = {};
  1486. oParam.id = "TRCPC00107";
  1487. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1488. oParam.method = "reqGetRgstSeq";
  1489. oParam.inds = "";
  1490. oParam.outds = "ds_temp_trgtattr_trgtattr=trgtattr";
  1491. oParam.async = false;
  1492. //oParam.callback = "cf_TRCPC00107";
  1493. tranf_submit(oParam);
  1494. ds_main_trgt_trgtattr.setColumn(0, "rgstseq", ds_temp_trgtattr_trgtattr.getColumn(0, "rgstseq"));
  1495. }
  1496. dsf_setDefaultVal(ds_main_trgt_trgtattr, "execbasedayno:0,execbasemm:0,execbasedd:0,nextcmpnlnkpnttm:C,cmpnbizflag:05");
  1497. ds_main_trgt_trgtattr_delivelist.updatecontrol = false;
  1498. dsf_setDefaultVal(ds_main_trgt_trgtattr_delivelist, "smsuseyn:N,emailuseyn:N");
  1499. ds_main_trgt_trgtattr_delivelist.updatecontrol = true;
  1500. var oParam = {};
  1501. oParam.id = "TXCPC00102";
  1502. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1503. oParam.method = "reqExeTrgt";
  1504. oParam.inds = "trgtsave=ds_main_trgt_trgtattr cmpnlnklist=ds_main_trgt_trgtattr_cmpnlnklist delivelist=ds_main_trgt_trgtattr_delivelist";
  1505. oParam.outds = "";
  1506. oParam.async = false;
  1507. oParam.callback = "cf_TXCPC00102";
  1508. tranf_submit(oParam);
  1509. if(arErrorCode.pop("TXCPC00102") > -1)
  1510. {
  1511. // 그리드의 상태 제거 및 인스턴스 초기화
  1512. ds_main_trgt_cmpnlnklist.applyChange();
  1513. ds_main_trgt_delivelist.applyChange();
  1514. ds_main_trgt_trgtattr_cmpnlnklist.clearData();
  1515. ds_main_trgt_trgtattr_delivelist.clearData();
  1516. // 신규 등록이면 수정모드로 변경(키값 전달)
  1517. if (save_mode == "I")
  1518. {
  1519. ds_main_trgt_trgtattr.setColumn(0, "savemode", "U");
  1520. ds_send_trgtattr.setColumn(0, "cmpncd", ds_main_trgt_trgtattr.getColumn(0, "cmpncd"));
  1521. ds_send_trgtattr.setColumn(0, "pid", ds_main_trgt_trgtattr.getColumn(0, "pid"));
  1522. ds_send_trgtattr.setColumn(0, "cmpnrgstdt", ds_main_trgt_trgtattr.getColumn(0, "cmpnrgstdt"));
  1523. ds_send_trgtattr.setColumn(0, "rgstseq", ds_main_trgt_trgtattr.getColumn(0, "rgstseq"));
  1524. fSetControls(4);
  1525. }
  1526. sysf_messageBox("대상자 저장이","I002");
  1527. }
  1528. }
  1529. function cf_TXCPC00102(sSvcId, nErrorCode, sErrorMsg) {
  1530. arErrorCode.push(sSvcId, nErrorCode);
  1531. }
  1532. function fSetControls(s)
  1533. {
  1534. // 대상자(3:등록, 4:수정) 수정일 경우 입력 및 선택 제한(수정 불가)
  1535. switch (s)
  1536. {
  1537. case 3:
  1538. swt_trgt.trgt_case2.ipt_pid.enable = true;
  1539. swt_trgt.trgt_case2.btn_pidsrch.enable = true;
  1540. // 캠페인관련 속성은 상속받아 수정불가(default: disabled = true)
  1541. break;
  1542. case 4:
  1543. swt_trgt.trgt_case2.ipt_pid.enable = false;
  1544. swt_trgt.trgt_case2.btn_pidsrch.enable = false;
  1545. break;
  1546. default:
  1547. break;
  1548. }
  1549. }
  1550. function fCheckTrgt()
  1551. {
  1552. var exec_base_dd_flag = ds_main_trgt_trgtattr.getColumn(0, "execbaseddflag");
  1553. var exec_base_dayno = ds_main_trgt_trgtattr.getColumn(0, "execbasedayno");
  1554. var exec_base_mm = ds_main_trgt_trgtattr.getColumn(0, "execbasemm");
  1555. var exec_base_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasedd");
  1556. var exec_base_spcl_dd = ds_main_trgt_trgtattr.getColumn(0, "execbasespcldd");
  1557. if (utlf_isNull(ds_main_trgt_trgtattr.getColumn(0, "pid")) && ds_send_trgtsrch.getColumn(0, "trsmtrgtflag") == "1")
  1558. {
  1559. sysf_messageBox("등록번호를","C001");
  1560. swt_trgt.trgt_case2.ipt_pid.setFocus();
  1561. }
  1562. else if (utlf_isNull(ds_main_trgt_trgtattr.getColumn(0, "hngnm")))
  1563. {
  1564. sysf_messageBox("고객(대상자)명을","C001");
  1565. swt_trgt.trgt_case2.ipt_trgtnm.setFocus();
  1566. }
  1567. else if (utlf_isNull(ds_main_trgt_trgtattr.getColumn(0, "cmpnnm")))
  1568. {
  1569. sysf_messageBox("캠페인명을","C001");
  1570. swt_trgt.trgt_case2.ipt_cmpnnm_t.setFocus();
  1571. }
  1572. else if (utlf_isNull(ds_main_trgt_trgtattr.getColumn(0, "cmpncd")))
  1573. {
  1574. sysf_messageBox("캠페인코드를","C001");
  1575. swt_trgt.trgt_case2.ipt_cmpncd_t.setFocus();
  1576. }
  1577. else if (utlf_isNull(ds_main_trgt_trgtattr.getColumn(0, "rgstdeptcd")))
  1578. {
  1579. sysf_messageBox("캠페인 실행부서를","C002");
  1580. swt_trgt.trgt_case2.ipt_deptnm_t.setFocus();
  1581. }
  1582. else if (exec_base_dd_flag == "1" && utlf_isNull(exec_base_dayno))
  1583. {
  1584. sysf_messageBox("실행 기준일을","C001");
  1585. swt_trgt.trgt_case2.ipt_exebase11_t.setFocus();
  1586. }
  1587. else if (exec_base_dd_flag == "2" && utlf_isNull(exec_base_mm))
  1588. {
  1589. sysf_messageBox("실행 기준일을","C001");
  1590. swt_trgt.trgt_case2.ipt_exebase21_t.setFocus();
  1591. }
  1592. else if (exec_base_dd_flag == "3" && utlf_isNull(exec_base_spcl_dd))
  1593. {
  1594. sysf_messageBox("실행 기준일을","C001");
  1595. swt_trgt.trgt_case2.ipt_exebase31_t.setFocus();
  1596. // 실행예정일 입력 체크
  1597. }
  1598. else if (ds_main_trgt_delivelist.rowcount == 0)
  1599. {
  1600. sysf_messageBox("실행 예정일을 추가하지","E007");
  1601. swt_trgt.trgt_case2.ipt_exedate_t.setFocus();
  1602. // 속성이 연결성일 경우 연결 캠페인 추가
  1603. }
  1604. else if (ds_main_trgt_trgtattr.getColumn(0, "cmpnexecattr") == "3" && ds_main_trgt_cmpnlnklist.rowcount == 0)
  1605. {
  1606. sysf_messageBox("연결 캠페인을 추가하지","E007");
  1607. // 실행기준일 변경 시 '변경'버튼으로 실행일시 변경여부 확인
  1608. }
  1609. else if(ds_temp_trgtattr_oldtrgtattr.getColumn(0, "execbaseddflag") != exec_base_dd_flag ||
  1610. ds_temp_trgtattr_oldtrgtattr.getColumn(0, "execbasedayno") != exec_base_dayno ||
  1611. ds_temp_trgtattr_oldtrgtattr.getColumn(0, "execbasemm") != exec_base_mm ||
  1612. ds_temp_trgtattr_oldtrgtattr.getColumn(0, "execbasedd") != exec_base_dd ||
  1613. ds_temp_trgtattr_oldtrgtattr.getColumn(0, "execbasespcldd") != exec_base_spcl_dd)
  1614. {
  1615. sysf_messageBox("실행기준일 변경 후 실행일시를 변경하지","E007");
  1616. swt_trgt.trgt_case2.btn_execbase_set.setFocus();
  1617. }
  1618. else
  1619. {
  1620. return true;
  1621. }
  1622. }
  1623. function fCheckTrgtBaseDD()
  1624. {
  1625. // 실행일시가 과거날짜인지 체크 - fSaveTrgt에서 호출
  1626. var return_value = true;
  1627. var grid = ds_main_trgt_execlist;
  1628. var prest_dt = utlf_getCurrentDate() + utlf_getCurrentTime();
  1629. // 실행예정일(그리드 값)과 실행기준일 비교
  1630. if (grid.rowcount > 0)
  1631. {
  1632. for (var i = 0; i < grid.rowcount; i++)
  1633. {
  1634. if (grid.getColumn(i, "cmpnexecdt") < prest_dt)
  1635. {
  1636. return_value = false;
  1637. sysf_messageBox(parseInt(i+1)+" 번째 실행예정일이 과거날짜","E008");
  1638. //break;
  1639. }
  1640. }
  1641. }
  1642. return return_value;
  1643. }
  1644. function btn_trgtreset_onclick(obj:Button, e:ClickEventInfo)
  1645. {
  1646. // 대상자리스트 탭과 속성 탭의 초기화 실행 구분
  1647. if (btn_trgtcase1.class == "btn_tab_S")
  1648. {
  1649. ds_main_trgt_trgtlist.applyChange();
  1650. }
  1651. else if (btn_trgtcase2.class == "btn_tab_S")
  1652. {
  1653. if (!utlf_isNull(ds_send_trgtattr.getColumn(0, "pid")))
  1654. {
  1655. fInitTrgt(); //대상자 속성 초기화
  1656. fGetTrgtAttr(); //등록된 대상자 속성 조회
  1657. }
  1658. else if (!utlf_isNull(ds_send_cmpnattr.getColumn(0, "cmpncd")))
  1659. {
  1660. fInitTrgt(); //대상자 속성 초기화
  1661. fGetCmpnToTrgt(); //캠페인 속성 상속
  1662. }
  1663. else
  1664. {
  1665. fInitGetAttr(2); //조회한 속성 초기화
  1666. ds_main_trgt_trgtattr.setColumn(0, "savemode","I");
  1667. }
  1668. }
  1669. }
  1670. function fGetTrgtAttr()
  1671. {
  1672. fInitTrgt(); //대상자 속성 초기화 후 조회
  1673. fSetButtons(4); //대상자 속성 탭
  1674. fSetControls(4); //대상자 입력컨트롤 제한
  1675. var oParam = {};
  1676. oParam.id = "TRCPC00104";
  1677. oParam.service = "cmpnmngtapp.CmpnTrgtMngt";
  1678. oParam.method = "reqGetTrgtAttr";
  1679. oParam.inds = "req=ds_send_trgtattr";
  1680. oParam.outds = "ds_main_trgt_trgtattr=trgtattr ds_main_trgt_cmpnlnklist=cmpnlnklist ds_main_trgt_delivelist=delivelist ds_main_trgt_execlist=execlist";
  1681. oParam.async = false;
  1682. //oParam.callback = "cf_TRCPC00104";
  1683. tranf_submit(oParam);
  1684. ds_main_trgt_trgtattr.setColumn(0, "savemode","U");
  1685. ds_temp_trgtattr_oldtrgtattr.copyData(ds_main_trgt_trgtattr);
  1686. fSetBaseDD(2); //실행기준일 입력 제한
  1687. fGetTrgtCmpnGrup(); // 캠페인 분류 세팅
  1688. }
  1689. function btn_saveexcel2_onclick(obj:Button, e:ClickEventInfo)
  1690. {
  1691. grdf_exportExcel(swt_trgt.trgt_case1.grd_trgtlist, "excel", "SheetName", "true", "", "");
  1692. }
  1693. function btn_trgtadd_onclick(obj:Button, e:ClickEventInfo)
  1694. {
  1695. var trsmtrgtflag = ds_send_trgtsrch.getColumn(0, "trsmtrgtflag");
  1696. if (trsmtrgtflag == "1" )
  1697. {
  1698. if (!utlf_isNull(ds_send_cmpnattr.getColumn(0, "cmpncd")))
  1699. {
  1700. fInitGetAttr(2); //조회한 속성 초기화
  1701. fSetButtons(4); //대상자 속성 탭
  1702. fSetControls(3); //대상자 컨트롤 일부 제한
  1703. fGetCmpnToTrgt(); //캠페인 속성 상속
  1704. fSetBaseDD(2); //실행예정일 입력컨트롤
  1705. }
  1706. else
  1707. {
  1708. sysf_messageBox("대상자를 등록할 캠페인을 \n캠페인리스트에서","C002");
  1709. }
  1710. }
  1711. else
  1712. {
  1713. sysf_messageBox("대상자 구분이 주소록일 경우 주소록 등록 화면에서만 대상자 추가가","I006");
  1714. }
  1715. }
  1716. function btn_trgtdel_onclick(obj:Button, e:ClickEventInfo)
  1717. {
  1718. dsf_deleteSelectedRows(swt_trgt.trgt_case1.grd_trgtlist); // 대상자 선택행 삭제
  1719. }
  1720. ]]></Script>
  1721. </Form>
  1722. </FDL>