SMAAA00200_자원봉사자출결등록관리.xfdl 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAAA00200" position="absolute 0 0 1200 798" titletext="자원봉사자출결등록관리" onload="SMAAA00200_onload" oninit="SMAAA00200_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 15 1195 754" id="grp_biz" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 647 6 902 34" id="roundrect2" class="roundrect_example" type="roundrectangle" anchor="default"/>
  11. <Shape position="absolute 369 35 1195 41" linetype="horizontal" id="line12" class="line_10" anchor="default"/>
  12. <Static text="봉사활동 출결등록" position="absolute 370 19 510 37" id="caption32" class="tit_2" anchor="default"/>
  13. <Div position="absolute 0 10 360 100" align="align:center top;" id="group1" anchor="default">
  14. <Layouts>
  15. <Layout>
  16. <Shape position="absolute 0 0 360 90" id="roundrect1" class="roundrect_search" type="roundrectangle" anchor="default"/>
  17. <Static text="소속분야 :" position="absolute 5 8 96 25" id="caption1" class="search_name" anchor="default"/>
  18. <Shape position="absolute 281 13 287 77" linetype="vertical" id="line13" class="line_4" anchor="default"/>
  19. <Combo position="absolute 95 35 270 54" id="cmb_actdeptcd" class="combo_search" innerdataset="@ds_A0503" datacolumn="cdnm" codecolumn="cdid" anchor="default" onitemchanged="grp_biz_group1_cmb_actdeptcd_onitemchanged"/>
  20. <Button position="absolute 294 33 350 55" id="btn_search" class="btn1" text="조회" anchor="default" onclick="grp_biz_group1_btn_search_onclick"/>
  21. <Static text="활동요일/시간대:" position="absolute 5 61 137 78" id="caption2" class="search_name" anchor="default"/>
  22. <Combo position="absolute 135 61 200 80" id="cmb_voluntractdwcd" class="combo_search" enable="true" innerdataset="@ds_A0359" datacolumn="cdnm" codecolumn="cdid" anchor="default" onitemchanged="grp_biz_group1_cmb_voluntractdwcd_onitemchanged"/>
  23. <Combo position="absolute 202 61 270 80" id="cmb_voluntractteamcd" class="combo_search" innerdataset="@ds_A0360" datacolumn="cdnm" codecolumn="cdid" anchor="default" onitemchanged="grp_biz_group1_cmb_voluntractteamcd_onitemchanged"/>
  24. <Static text="소속센터 :" position="absolute 5 35 96 52" id="caption4" class="search_name" anchor="default"/>
  25. <Combo position="absolute 95 10 270 29" id="cmb_actdivscd" class="combo_search" innerdataset="ds_A0654" datacolumn="cdnm" codecolumn="cdid" anchor="default" onitemchanged="grp_biz_group1_cmb_actdivscd_onitemchanged"/>
  26. </Layout>
  27. </Layouts>
  28. </Div>
  29. <Grid position="absolute 370 40 1195 736" id="grd_attdnc" binddataset="ds_main_voluntrattdabsninfo_voluntrattdabsnlist" anchor="default" cellclickbound="cell" autoenter="select" oncloseup="grp_biz_grd_attdnc_oncloseup">
  30. <Formats>
  31. <Format id="default">
  32. <Columns>
  33. <Column size="28"/>
  34. <Column size="36"/>
  35. <Column size="54"/>
  36. <Column size="54"/>
  37. <Column size="54"/>
  38. <Column size="100"/>
  39. <Column size="120"/>
  40. <Column size="80"/>
  41. <Column size="58"/>
  42. <Column size="110"/>
  43. <Column size="74"/>
  44. <Column size="0"/>
  45. <Column size="171"/>
  46. <Column size="0"/>
  47. <Column size="0"/>
  48. <Column size="0"/>
  49. <Column size="0"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. </Columns>
  53. <Rows>
  54. <Row size="24" band="head"/>
  55. <Row size="24"/>
  56. </Rows>
  57. <Band id="head">
  58. <Cell/>
  59. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  60. <Cell col="2" text="출결여부"/>
  61. <Cell col="3" text="출석구분"/>
  62. <Cell col="4" text="활동시간"/>
  63. <Cell col="5" text="소속분야"/>
  64. <Cell col="6" text="소속센터"/>
  65. <Cell col="7" text="소속센터"/>
  66. <Cell col="8" text="활동요일"/>
  67. <Cell col="9" text="활동시간대"/>
  68. <Cell col="10" text="성명"/>
  69. <Cell col="11" text="세례명"/>
  70. <Cell col="12" text="내용"/>
  71. <Cell col="13" text="caption1"/>
  72. <Cell col="14" text="caption2"/>
  73. <Cell col="15" text="caption3"/>
  74. <Cell col="16" text="servdd"/>
  75. <Cell col="17" text="servseqno"/>
  76. <Cell col="18" text="status"/>
  77. </Band>
  78. <Band id="body">
  79. <Cell celltype="head" expr="currow + 1"/>
  80. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  81. <Cell col="2" style="align:center;" text="bind:attdabsnyn"/>
  82. <Cell col="3" displaytype="combo" edittype="combo" style="align:center;" text="bind:attdabsnflag" combodataset="ds_A0506" combocodecol="cdid" combodatacol="cdnm"/>
  83. <Cell col="4" displaytype="text" edittype="expr:edittype" style="align:center;" text="bind:servtm" mask="#.0" maskchar=" " editlimit="4" editautoselect="true"/>
  84. <Cell col="5" displaytype="combo" edittype="combo" style="align:center;" text="bind:actdivscd" combodataset="ds_A0654_servtm" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  85. <Cell col="6" displaytype="combo" edittype="combo" style="align:left middle;padding:2 1 2 1;" text="bind:actdeptcd" wordwrap="char" combodataset="ds_A0503" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  86. <Cell col="7" displaytype="text" edittype="text" style="align:center;" text="bind:actdeptdetlnm" editautoselect="true" enable="false"/>
  87. <Cell col="8" displaytype="combo" edittype="combo" style="align:left middle;padding:0 1 0 1;" text="bind:voluntractdwcd" combodataset="ds_A0359_1" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  88. <Cell col="9" displaytype="combo" edittype="combo" style="align:left middle;padding:0 1 0 1;" text="bind:voluntractteamcd" combodataset="ds_A0360_1" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  89. <Cell col="10" style="align:left middle;padding:0 1 0 1;" text="bind:voluntrnm"/>
  90. <Cell col="11" text="bind:baptnm"/>
  91. <Cell col="12" displaytype="text" edittype="text" style="align:left top;padding:2 1 2 1;" text="bind:attdrem" wordwrap="char" editautoselect="true"/>
  92. <Cell col="13" text="bind:actrgstseqno"/>
  93. <Cell col="14" text="bind:voluntrid"/>
  94. <Cell col="15" text="bind:servkind"/>
  95. <Cell col="16" text="bind:servdd"/>
  96. <Cell col="17" text="bind:servseqno"/>
  97. <Cell col="18" text="bind:status"/>
  98. </Band>
  99. </Format>
  100. </Formats>
  101. </Grid>
  102. <Div position="absolute 1 124 361 164" id="grp_calendar" anchor="default">
  103. <Layouts>
  104. <Layout>
  105. <Shape position="absolute -2 0 358 40" id="rectangle1" class="calendar_header" type="rectangle" anchor="default" style="strokepen:1 solid transparent;fillbrush:solid darkslateblue true;fillgradation:linear 0,0 white 100,100 darkmagenta;gradation:linear 0,0 white 100,100 black;"/>
  106. <Button position="absolute 253 14 269 30" id="btn_afmonth" class="icon_next_month" text="" anchor="default" onclick="grp_biz_grp_calendar_btn_afmonth_onclick"/>
  107. <Button position="absolute 66 14 82 30" id="btn_bfmonth" class="icon_pre_month" text="" anchor="default" onclick="grp_biz_grp_calendar_btn_bfmonth_onclick"/>
  108. <Button position="absolute 47 14 63 30" id="btn_bfyear" class="icon_pre_year" text="" anchor="default" onclick="grp_biz_grp_calendar_btn_bfyear_onclick"/>
  109. <Button position="absolute 272 14 288 30" id="btn_afyear" class="icon_next_year" text="" anchor="default" onclick="grp_biz_grp_calendar_btn_afyear_onclick"/>
  110. <Edit readonly="true" position="absolute 102 12 154 31" id="opt_year" class="calendar_output" anchor="default" style="align:center middle;font:arial,10,bold;"/>
  111. <Edit readonly="true" position="absolute 184 12 214 31" id="opt_month" class="calendar_output" anchor="default" style="align:center middle;font:arial,10,bold;"/>
  112. <Static text="년" position="absolute 152 12 172 31" id="caption16" class="calendar_output" anchor="default"/>
  113. <Static text="월" position="absolute 214 12 234 31" id="caption17" class="calendar_output" anchor="default"/>
  114. </Layout>
  115. </Layouts>
  116. </Div>
  117. <Static text="월별 출결현황" position="absolute 5 106 145 119" id="caption3" class="tit_2" anchor="default"/>
  118. <Static text="활동일자 :" position="absolute 655 10 747 30" align="align:center middle;" id="cpt_voluntrflag" class="cell_1" anchor="default"/>
  119. <Calendar position="absolute 755 10 892 29" id="ipt_servdd" class="input_essential" enable="false" taborder="28" anchor="default"/>
  120. <Grid position="absolute 490 155 840 305" id="grd_voluntrcallist" visible="false" binddataset="ds_main_voluntrcalinfo_voluntrcallist" anchor="default">
  121. <Formats>
  122. <Format id="default">
  123. <Columns>
  124. <Column size="54"/>
  125. <Column size="55"/>
  126. <Column size="23"/>
  127. <Column size="27"/>
  128. <Column size="26"/>
  129. <Column size="27"/>
  130. </Columns>
  131. <Rows>
  132. <Row size="24" band="head"/>
  133. <Row size="24"/>
  134. </Rows>
  135. <Band id="head">
  136. <Cell text="caption1"/>
  137. <Cell col="1" text="caption2"/>
  138. <Cell col="2" text="caption3"/>
  139. <Cell col="3" text="caption4"/>
  140. <Cell col="4" text="caption5"/>
  141. <Cell col="5" text="caption6"/>
  142. </Band>
  143. <Band id="body">
  144. <Cell text="bind:basedd"/>
  145. <Cell col="1" text="bind:absn"/>
  146. <Cell col="2" text="bind:dutflag"/>
  147. <Cell col="3" text="bind:day"/>
  148. <Cell col="4" text="bind:dw"/>
  149. <Cell col="5" text="bind:weekno"/>
  150. </Band>
  151. </Format>
  152. </Formats>
  153. </Grid>
  154. <Grid position="absolute 0 165 360 739" id="grd_calendar" binddataset="ds_main_cal_weeks" anchor="default" oncellclick="grp_biz_grd_calendar_oncellclick">
  155. <Formats>
  156. <Format id="default">
  157. <Columns>
  158. <Column size="51"/>
  159. <Column size="51"/>
  160. <Column size="51"/>
  161. <Column size="51"/>
  162. <Column size="51"/>
  163. <Column size="51"/>
  164. <Column size="51"/>
  165. </Columns>
  166. <Rows>
  167. <Row size="24" band="head"/>
  168. <Row size="80"/>
  169. </Rows>
  170. <Band id="head">
  171. <Cell text="일"/>
  172. <Cell col="1" text="월"/>
  173. <Cell col="2" text="화"/>
  174. <Cell col="3" text="수"/>
  175. <Cell col="4" text="목"/>
  176. <Cell col="5" text="금"/>
  177. <Cell col="6" text="토"/>
  178. </Band>
  179. <Band id="body">
  180. <Cell style="align:left middle;color:EXPR(bkcolor0);color2:EXPR(bkcolor0);font:EXPR(fontsize);" text="bind:sun" wordwrap="char"/>
  181. <Cell col="1" style="align:left middle;color:EXPR(bkcolor1);color2:EXPR(bkcolor1);font:EXPR(fontsize);" text="bind:mon"/>
  182. <Cell col="2" style="align:left middle;color:EXPR(bkcolor2);color2:EXPR(bkcolor2);font:EXPR(fontsize);" text="bind:tue"/>
  183. <Cell col="3" style="align:left middle;color:EXPR(bkcolor3);color2:EXPR(bkcolor3);font:EXPR(fontsize);" text="bind:wed"/>
  184. <Cell col="4" style="align:left middle;color:EXPR(bkcolor4);color2:EXPR(bkcolor4);font:EXPR(fontsize);" text="bind:thu"/>
  185. <Cell col="5" style="align:left middle;color:EXPR(bkcolor5);color2:EXPR(bkcolor5);font:EXPR(fontsize);" text="bind:fri"/>
  186. <Cell col="6" style="align:left middle;color:EXPR(bkcolor6);color2:EXPR(bkcolor6);font:EXPR(fontsize);" text="bind:sat"/>
  187. </Band>
  188. </Format>
  189. </Formats>
  190. </Grid>
  191. <Button position="absolute 520 5 617 24" id="btn_barsave" class="btn2" visible="false" text="바코드출결처리" anchor="default" onclick="grp_biz_btn_barsave_onclick"/>
  192. <Button position="absolute 905 10 961 32" id="button89" class="btn6" visible="false" text="출력" anchor="default"/>
  193. <Button position="absolute 1153 15 1195 34" id="btn_save" class="btn5" text="저장" anchor="default"/>
  194. <Button position="absolute 1110 15 1152 34" id="button1" class="btn5" text="삭제" anchor="default" onclick="grp_biz_button1_onclick"/>
  195. <Button position="absolute 1056 15 1109 34" id="btn_delete" class="btn5" text="초기화" anchor="default" onclick="grp_biz_btn_delete_onclick"/>
  196. </Layout>
  197. </Layouts>
  198. </Div>
  199. <Div position="absolute 0 757 1195 784" id="grp_btn">
  200. <Layouts>
  201. <Layout>
  202. <Shape position="absolute 0 -2 1194 4" linetype="horizontal" id="line1" class="line_6" anchor="default"/>
  203. </Layout>
  204. </Layouts>
  205. </Div>
  206. <Static id="caption6" text="자원봉사자출결등록관리" class="tit_1" position="absolute 0 0 184 25"/>
  207. </Layout>
  208. </Layouts>
  209. <Objects>
  210. <Dataset id="ds_main_voluntrattdabsninfo_voluntrattdabsnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_voluntrattdabsninfo_voluntrattdabsnlist_oncolumnchanged"/>
  211. <Dataset id="ds_main_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  212. <ColumnInfo>
  213. <Column id="servdd" type="STRING" size="256"/>
  214. <Column id="actdeptcd" type="STRING" size="256"/>
  215. <Column id="voluntractdwcd" type="STRING" size="256"/>
  216. <Column id="voluntractteamcd" type="STRING" size="256"/>
  217. <Column id="actdivscd" type="STRING" size="256"/>
  218. </ColumnInfo>
  219. <Rows>
  220. <Row>
  221. <Col id="servdd"/>
  222. <Col id="actdeptcd"/>
  223. <Col id="voluntractdwcd"/>
  224. <Col id="voluntractteamcd"/>
  225. <Col id="actdivscd"/>
  226. </Row>
  227. </Rows>
  228. </Dataset>
  229. <Dataset id="ds_hidden_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  230. <ColumnInfo>
  231. <Column id="year" type="STRING" size="256"/>
  232. <Column id="month" type="STRING" size="256"/>
  233. </ColumnInfo>
  234. <Rows>
  235. <Row>
  236. <Col id="year"/>
  237. <Col id="month"/>
  238. </Row>
  239. </Rows>
  240. </Dataset>
  241. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  242. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  243. <Dataset id="ds_main_cal_weeks" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  244. <ColumnInfo>
  245. <Column id="sun" type="STRING" size="256"/>
  246. <Column id="mon" type="STRING" size="256"/>
  247. <Column id="tue" type="STRING" size="256"/>
  248. <Column id="wed" type="STRING" size="256"/>
  249. <Column id="thu" type="STRING" size="256"/>
  250. <Column id="fri" type="STRING" size="256"/>
  251. <Column id="sat" type="STRING" size="256"/>
  252. </ColumnInfo>
  253. <Rows>
  254. <Row>
  255. <Col id="sun"/>
  256. <Col id="mon"/>
  257. <Col id="tue"/>
  258. <Col id="wed"/>
  259. <Col id="thu"/>
  260. <Col id="fri"/>
  261. <Col id="sat"/>
  262. </Row>
  263. <Row>
  264. <Col id="sun"/>
  265. <Col id="mon"/>
  266. <Col id="tue"/>
  267. <Col id="wed"/>
  268. <Col id="thu"/>
  269. <Col id="fri"/>
  270. <Col id="sat"/>
  271. </Row>
  272. <Row>
  273. <Col id="sun"/>
  274. <Col id="mon"/>
  275. <Col id="tue"/>
  276. <Col id="wed"/>
  277. <Col id="thu"/>
  278. <Col id="fri"/>
  279. <Col id="sat"/>
  280. </Row>
  281. <Row>
  282. <Col id="sun"/>
  283. <Col id="mon"/>
  284. <Col id="tue"/>
  285. <Col id="wed"/>
  286. <Col id="thu"/>
  287. <Col id="fri"/>
  288. <Col id="sat"/>
  289. </Row>
  290. <Row>
  291. <Col id="sun"/>
  292. <Col id="mon"/>
  293. <Col id="tue"/>
  294. <Col id="wed"/>
  295. <Col id="thu"/>
  296. <Col id="fri"/>
  297. <Col id="sat"/>
  298. </Row>
  299. <Row>
  300. <Col id="sun"/>
  301. <Col id="mon"/>
  302. <Col id="tue"/>
  303. <Col id="wed"/>
  304. <Col id="thu"/>
  305. <Col id="fri"/>
  306. <Col id="sat"/>
  307. </Row>
  308. </Rows>
  309. </Dataset>
  310. <Dataset id="ds_main_voluntrcalinfo_voluntrcallist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  311. <Dataset id="ds_A0503" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  312. <Dataset id="ds_A0359" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  313. <Dataset id="ds_A0360" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  314. <Dataset id="ds_A0506" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  315. <Dataset id="ds_A0654" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  316. <Dataset id="ds_A0503_1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  317. <Dataset id="ds_A0359_1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  318. <Dataset id="ds_A0360_1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  319. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  320. <Dataset id="ds_A0654_servtm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  321. <Dataset id="d_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  322. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  323. </Objects>
  324. <Bind>
  325. <BindItem id="item0" compid="grp_biz.group1.cmb_actdivscd" propid="value" datasetid="ds_main_search" columnid="actdivscd"/>
  326. <BindItem id="item1" compid="grp_biz.group1.cmb_actdeptcd" propid="value" datasetid="ds_main_search" columnid="actdeptcd"/>
  327. <BindItem id="item2" compid="grp_biz.group1.cmb_voluntractdwcd" propid="value" datasetid="ds_main_search" columnid="voluntractdwcd"/>
  328. <BindItem id="item3" compid="grp_biz.group1.cmb_voluntractteamcd" propid="value" datasetid="ds_main_search" columnid="voluntractteamcd"/>
  329. <BindItem id="item4" compid="grp_biz.grp_calendar.opt_year" propid="value" datasetid="ds_hidden_calendar" columnid="year"/>
  330. <BindItem id="item5" compid="grp_biz.grp_calendar.opt_month" propid="value" datasetid="ds_hidden_calendar" columnid="month"/>
  331. <BindItem id="item6" compid="grp_biz.ipt_servdd" propid="value" datasetid="ds_main_search" columnid="servdd"/>
  332. </Bind>
  333. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  334. * System Name :
  335. * Job Name :
  336. * Creator :
  337. * Make Date : 2015-11-13
  338. * Description :
  339. *---------------------------------------------------------------------------------------
  340. * Modify Date Modifier Modify Description
  341. *---------------------------------------------------------------------------------------
  342. * 2015-11-13 Live Converter TF->XP
  343. *
  344. *---------------------------------------------------------------------------------------
  345. ****************************************************************************************/
  346. include "com_commonxp::comm_main.xjs";
  347. include "emr_carecomxp::CareCom.xjs";
  348. var arErrorCode = new HashArray();
  349. function SMAAA00200_oninit(obj:Form, e:InitEventInfo)
  350. {
  351. frmf_initForm(obj); // 폼 초기화
  352. }
  353. function SMAAA00200_onload(obj:Form, e:LoadEventInfo)
  354. {
  355. grdf_initGrid(grp_biz.grd_attdnc);
  356. fInit();
  357. }
  358. // 초기화 함수
  359. function fInit()
  360. {
  361. //공통코드 셋팅
  362. //new Array("/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd",
  363. //"/root/hidden/init/comcd1","/root/hidden/init/comcd1","/root/hidden/init/comcd1", "/root/hidden/init/comcd") );
  364. var arrParam1 = [
  365. {dsNm: "ds_A0503", cdGrpId: "A0503"},
  366. {dsNm: "ds_A0359", cdGrpId: "A0359"},
  367. {dsNm: "ds_A0360", cdGrpId: "A0360"},
  368. {dsNm: "ds_A0506", cdGrpId: "A0506"},
  369. {dsNm: "ds_A0503_1", cdGrpId: "A0503"},
  370. {dsNm: "ds_A0359_1", cdGrpId: "A0359"},
  371. {dsNm: "ds_A0360_1", cdGrpId: "A0360"},
  372. {dsNm: "ds_A0654", cdGrpId: "A0654"}
  373. ];
  374. appf_getCodeList(arrParam1);
  375. ds_A0654.filter("cdid != ''");
  376. ds_A0654_servtm.copyData(ds_A0654, true);
  377. ds_A0654.filter("");
  378. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.clearData();
  379. frmf_addComboItem("grp_biz.group1.cmb_actdeptcd", "전체", "", "above");
  380. frmf_addComboItem("grp_biz.group1.cmb_actdivscd", "전체", "", "above");
  381. frmf_addComboItem("grp_biz.group1.cmb_voluntractdwcd", "전체", "", "above");
  382. frmf_addComboItem("grp_biz.group1.cmb_voluntractteamcd", "전체", "", "above");
  383. grp_biz.group1.cmb_actdeptcd.value = "";
  384. grp_biz.group1.cmb_actdivscd.value = "";
  385. grp_biz.group1.cmb_voluntractdwcd.value = "";
  386. grp_biz.group1.cmb_voluntractteamcd.value = "";
  387. grp_biz.group1.cmb_actdivscd.value = "02";
  388. var CurrentDate = utlf_getCurrentDate();
  389. //현재 날짜 셋팅
  390. dsf_makeValue(ds_main_search, "servdd", "string", CurrentDate);
  391. //활동일자에 현재 날짜 자동 셋팅
  392. //grd_attdnc.fixedcellcheckbox(0,1)=true;
  393. //조회일자 오늘날짜로 셋팅
  394. var CurrentDate = utlf_getCurrentDate();
  395. var sYear = utlf_transNullToEmpty(CurrentDate).substr(0,4);
  396. var sMonth = utlf_transNullToEmpty(CurrentDate).substr(4,2);
  397. ds_hidden_calendar.setColumn(0, "year", sYear);
  398. ds_hidden_calendar.setColumn(0, "month", sMonth);
  399. // 간호하드코딩 테이블 조회_20090710-kys
  400. var pCode = "'077'"; // 조회할 CdGrupID 코드정보
  401. //var pDate = getCurrentDate(); //조회기준일자
  402. fGetNursHardCdInfo(pCode, CurrentDate);
  403. //============================================================
  404. ds_codelist.filter("cdgrupid == '077' && supcdid == '01' and cdid = '"+ sysf_getUserInfo("dutplceinstcd") +"'" );
  405. if(utlf_isNull(ds_codelist.getColumn(0, "cdid"))){ //서울성모에서만 보이게..20100330-kys
  406. grp_biz.btn_barsave.visible = true; //바코드출결처리버튼.
  407. }else{
  408. grp_biz.btn_barsave.visible = false;
  409. }
  410. fVoluntrInfoCalReq();
  411. }
  412. // 달력일자 출결 대상 인원 조회함수
  413. function fVoluntrInfoCalReq()
  414. {
  415. var syear = ds_hidden_calendar.getColumn(0, "year");
  416. var smonth = ds_hidden_calendar.getColumn(0, "month");
  417. var sYear = syear + smonth;
  418. ds_send_reqdata.clearData();
  419. ds_send_reqdata.addRow();
  420. dsf_makeValue(ds_send_reqdata, "servdd", "string", sYear);
  421. dsf_makeValue(ds_send_reqdata, "actdeptcd", "string", ds_main_search.getColumn(0, "actdeptcd"));
  422. dsf_makeValue(ds_send_reqdata, "actdivscd", "string", ds_main_search.getColumn(0, "actdivscd"));
  423. dsf_makeValue(ds_send_reqdata, "voluntractdwcd", "string", ds_main_search.getColumn(0, "voluntractdwcd"));
  424. dsf_makeValue(ds_send_reqdata, "voluntractteamcd", "string", ds_main_search.getColumn(0, "voluntractteamcd"));
  425. var oParam = {};
  426. oParam.id = "TRAAA00202";
  427. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  428. oParam.method = "reqGetVoluntrAttdAbsnCalInfo";
  429. oParam.inds = "req=ds_send_reqdata";
  430. oParam.outds = "ds_main_voluntrcalinfo_voluntrcallist=voluntrcallist";
  431. oParam.async = false;
  432. tranf_submit(oParam);
  433. fSetCalendarStyle();
  434. fSetCalendar();
  435. }
  436. // 달력스타일 셋팅
  437. function fSetCalendarStyle()
  438. {
  439. grp_biz.grd_calendar.setFormatRowProperty(1, "size", 80);
  440. dsf_setDefaultVal(ds_main_cal_weeks, "fontsize:15,bkcolor0:#ffffff,bkcolor1:#ffffff,bkcolor2:#ffffff,bkcolor3:#ffffff,bkcolor4:#ffffff,bkcolor5:#ffffff,bkcolor6:#ffffff");
  441. }
  442. //달력정보 및 일자별 대상인원, 출결 인원을 달력에 표시
  443. function fSetCalendar()
  444. {
  445. var selDataCnt = ds_main_voluntrcalinfo_voluntrcallist.rowcount; //조회된 데이터 갯수
  446. var dw = "sun mon tue wed thu fri sat";
  447. var sDay = dw.split(" ");
  448. for ( i = 0; i < selDataCnt; i++) {
  449. var row = ds_main_voluntrcalinfo_voluntrcallist.getColumn(i, "weekno") - 1;
  450. var col = ds_main_voluntrcalinfo_voluntrcallist.getColumn(i, "dw") - 1 ;
  451. var dutflag = ds_main_voluntrcalinfo_voluntrcallist.getColumn(i, "dutflag");
  452. if (dutflag == "4"){ //토요일인 경우, 파란색 설정
  453. ds_main_cal_weeks.setColumn(row, "bkcolor" + col, "#0000ff");
  454. } else if ( dutflag == '8') { //휴일인 경우, 빨간색 설정
  455. ds_main_cal_weeks.setColumn(row, "bkcolor" + col, "#ff0000");
  456. } else { //그 이외는 검정색(평일 : 0)
  457. ds_main_cal_weeks.setColumn(row, "bkcolor" + col, "#000000");
  458. }
  459. // dsf_makeValue(ds_main_cal_weeks, "/root/main/cal/weeks[" + row + "]/" + sDay[col], model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/day") + "\n"
  460. // + " " + model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/absn"));
  461. var data = ds_main_voluntrcalinfo_voluntrcallist.getColumn(i, "day") + "\n\n\n" + + " " + ds_main_voluntrcalinfo_voluntrcallist.getColumn(i, "absn");
  462. ds_main_cal_weeks.setColumn(row, sDay[col], data);
  463. }
  464. }
  465. function grp_biz_group1_cmb_actdivscd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  466. {
  467. fVoluntrInfoCalReq();
  468. }
  469. function grp_biz_group1_cmb_actdeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  470. {
  471. fVoluntrInfoCalReq();
  472. }
  473. function grp_biz_group1_cmb_voluntractdwcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  474. {
  475. fVoluntrInfoCalReq();
  476. }
  477. function grp_biz_group1_cmb_voluntractteamcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  478. {
  479. fVoluntrInfoCalReq();
  480. }
  481. function grp_biz_group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  482. {
  483. fVoluntrInfoCalReq();
  484. }
  485. function grp_biz_grp_calendar_btn_bfyear_onclick(obj:Button, e:ClickEventInfo)
  486. {
  487. var isMonth = ds_hidden_calendar.getColumn(0, "month");
  488. var isYear = ds_hidden_calendar.getColumn(0, "year");
  489. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
  490. ds_hidden_calendar.setColumn(0, "year", isDate.getDateFormat('YYYY'));
  491. ds_hidden_calendar.setColumn(0, "month", isDate.getDateFormat('MM'));
  492. setCalendar(isDate);
  493. }
  494. function setCalendar(dateObj)
  495. {
  496. // 그리드 초기화
  497. ds_main_cal_weeks.clearData();
  498. dateObj.setDate(1);
  499. var startDay = dateObj.getDay();
  500. var days = dateObj.getMonthDay();
  501. var rows = Math.ceil( ( startDay + days ) / 7 );
  502. for( var i = 0; i < rows; i++ ){
  503. ds_main_cal_weeks.addRow();
  504. }
  505. if(ds_main_cal_weeks.rowcount == 5){
  506. ds_main_cal_weeks.addRow();
  507. }
  508. var rowIndex = 0;
  509. var colIndex = startDay;
  510. for( var i = 0; i < days; i++ ) {
  511. // grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  512. // //grd_calendar.allStyle("all", "font-size") = "15px";
  513. // grd_calendar.valueMatrix(rowIndex, colIndex + 7) = "0/0";
  514. //
  515. // colIndex++;
  516. // if( colIndex == 7 ) {
  517. // colIndex = 0;
  518. // rowIndex++;
  519. // }
  520. }
  521. dsf_makeValue(d_send_data, "curdate", ds_hidden_calendar.getColumn(0, "year") + ds_hidden_calendar.getColumn(0, "month") + "01");
  522. fVoluntrInfoCalReq();
  523. }
  524. function grp_biz_grp_calendar_btn_bfmonth_onclick(obj:Button, e:ClickEventInfo)
  525. {
  526. var isMonth = ds_hidden_calendar.getColumn(0, "month");
  527. var isYear = ds_hidden_calendar.getColumn(0, "year");
  528. var isDate = (isYear + isMonth+1).toDate().getAddDate(-1,'M');
  529. ds_hidden_calendar.setColumn(0, "year", isDate.getDateFormat('YYYY'));
  530. ds_hidden_calendar.setColumn(0, "month", isDate.getDateFormat('MM'));
  531. setCalendar(isDate);
  532. }
  533. function grp_biz_grp_calendar_btn_afmonth_onclick(obj:Button, e:ClickEventInfo)
  534. {
  535. var isMonth = ds_hidden_calendar.getColumn(0, "month");
  536. var isYear = ds_hidden_calendar.getColumn(0, "year");
  537. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
  538. ds_hidden_calendar.setColumn(0, "year", isDate.getDateFormat('YYYY'));
  539. ds_hidden_calendar.setColumn(0, "month", isDate.getDateFormat('MM'));
  540. setCalendar(isDate);
  541. }
  542. function grp_biz_grp_calendar_btn_afyear_onclick(obj:Button, e:ClickEventInfo)
  543. {
  544. var isMonth = ds_hidden_calendar.getColumn(0, "month");
  545. var isYear = ds_hidden_calendar.getColumn(0, "year");
  546. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
  547. ds_hidden_calendar.setColumn(0, "year", isDate.getDateFormat('YYYY'));
  548. ds_hidden_calendar.setColumn(0, "month", isDate.getDateFormat('MM'));
  549. setCalendar(isDate);
  550. }
  551. function grp_biz_grd_calendar_oncellclick(obj:Grid, e:GridClickEventInfo)
  552. {
  553. if (e.row > -1 && e.col > -1) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  554. {
  555. //var cell = grd_calendar.selectedCells.item(0);
  556. // 그리드에서 선택상태인 셀들의 collection 객체를 반환하는 속성이다.
  557. // 반환된 객체를 사용하여 선택된 셀들의 행, 열 인덱스를 알 수 있다.
  558. //grd_calendar.disabled = true;
  559. var dataarray = utlf_transNullToEmpty(ds_main_cal_weeks.getColumn(e.row, e.col)).split("\n"); //일
  560. var NodeCnt = ds_main_voluntrcalinfo_voluntrcallist.rowcount;
  561. if (!utlf_isNull(dataarray)) {
  562. //var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + dataarray[2] + "]/basedd"); //년월일
  563. var dd = ds_main_voluntrcalinfo_voluntrcallist.lookup("day", utlf_transNullToEmpty(dataarray[0]), "basedd"); //년월일
  564. if (utlf_isNull(dd)) // 데이터가 조회되지 않을 때
  565. {
  566. var calyear = ds_hidden_calendar.getColumn(0, "year");
  567. var calmonth = ds_hidden_calendar.getColumn(0, "month");
  568. if (dataarray < 10) {
  569. var dataarray = ("0" + dataarray);
  570. }
  571. var dd = calyear + calmonth + dataarray;
  572. }
  573. dsf_makeValue(ds_main_search, "servdd", "string", dd);
  574. dsf_makeValue(ds_main_search, "eachinstservtm", "string", "3");
  575. fVoluntrInfoReq();
  576. } else {
  577. return;
  578. }
  579. } else {
  580. return;
  581. }
  582. }
  583. function fVoluntrInfoReq()
  584. {
  585. //grd_attdnc.fixedcellischeck(0,1)=false; //전체 체크박스 헤재
  586. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.clearData();
  587. grp_biz.grd_attdnc.setCellProperty("Head", 1,"text","expr:0");
  588. ds_send_reqdata.clearData();
  589. ds_send_reqdata.copyData(ds_main_search)
  590. var oParam = {};
  591. oParam.id = "TRAAA00201";
  592. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  593. oParam.method = "reqGetVoluntrAttdAbsnInfo";
  594. oParam.inds = "req=ds_send_reqdata";
  595. oParam.outds = "ds_main_voluntrattdabsninfo_voluntrattdabsnlist=voluntrattdabsnlist";
  596. oParam.async = false;
  597. tranf_submit(oParam);
  598. dsf_setDefaultVal(ds_main_voluntrattdabsninfo_voluntrattdabsnlist, "edittype:text,chk:");
  599. var idxRows = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.rowcount;
  600. var idxRow = 0;
  601. for(i= 0; i < idxRows; i++)
  602. {
  603. var attdabsnflag = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "attdabsnflag");
  604. var servtm = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "servtm"); // 활동시간 저장
  605. // 조회된 봉사자 내역 중 출석구분이 결석,휴가,병가로 된 경우 비활성화
  606. if(attdabsnflag == "03"||attdabsnflag == "04"||attdabsnflag == "05") {
  607. //grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=true;
  608. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(i + 1, "edittype", "none");
  609. } else {
  610. //grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=false;
  611. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(i + 1, "edittype", "text");
  612. }
  613. }
  614. }
  615. function grp_biz_btn_barsave_onclick(obj:Button, e:ClickEventInfo)
  616. {
  617. frmf_setParameter("SPAAA00200_param_servdd" , ds_main_search.getColumn(0, "servdd"));
  618. frmf_setParameter("SPAAA00200_param_tretflag" , "1"); //봉사활동출결처리 구분추가-kys-20100419
  619. frmf_modal("SPAAA04000", "SPAAA04000", "", null, "", "", "", null, null, null, null, null, "M");
  620. var useyn = frmf_getParameter("SPAAA04000_closeyn");
  621. if(useyn == "Y"){
  622. fVoluntrInfoReq(); //조회함수
  623. fVoluntrInfoCalReq(); //해당 달력 조회 함수
  624. }
  625. }
  626. function grp_biz_btn_delete_onclick(obj:Button, e:ClickEventInfo)
  627. {
  628. fVoluntrAttdReset();
  629. }
  630. function fVoluntrAttdReset()
  631. {
  632. var btn = sysf_messageBox("초기화를","Q004");
  633. if(btn=='6')
  634. { // 출결등록 정보 초기화
  635. //model.resetInstanceNode("/root/main/search");
  636. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.clearData();
  637. ds_main_search.setColumn(0, "servdd", "");
  638. grp_biz.grd_attdnc.setCellProperty("Head", 1,"text","expr:0");
  639. fVoluntrInfoCalReq();
  640. }
  641. else
  642. {
  643. return;
  644. }
  645. }
  646. function grp_biz_button1_onclick(obj:Button, e:ClickEventInfo)
  647. {
  648. fVoluntrAttdDel();
  649. }
  650. function fVoluntrAttdDel()
  651. {
  652. var servdd = ds_main_search.getColumn(0, "servdd");
  653. var idxRow = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.rowcount;
  654. var idxfixRows = 0;
  655. // 출결정보 등록할 파리채 생성
  656. var attdabsndata= 'attdabsnyn'
  657. + '▦attdabsnflag'
  658. + '▦status'
  659. + '▦actdeptcd'
  660. + '▦actdeptdetlnm'
  661. + '▦voluntractdwcd'
  662. + '▦voluntractteamcd'
  663. + '▦voluntrnm'
  664. + '▦baptnm'
  665. + '▦servtm'
  666. + '▦attdrem'
  667. + '▦actrgstseqno'
  668. + '▦voluntrid'
  669. + '▦servkind'
  670. + '▦servdd'
  671. + '▦actdeptcdnm'
  672. + '▦voluntractdwcdnm'
  673. + '▦voluntractteamcdnm'
  674. + '▦servseqno'
  675. + '▩';
  676. var chkdata=0; // 체크여부 확인하는 변수 선언
  677. for(i=0 ; i < idxRow; i++)
  678. {
  679. if(ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "chk") == "1" || ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "chk") == "true") //체크 된 데이터만
  680. {
  681. if(ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "attdabsnyn") == "대상")
  682. {
  683. sysf_messageBox("출결등록 되지 않은 대상은 삭제할 수","I004");
  684. return;
  685. }
  686. //var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag") // 출결구분 저장
  687. dsf_makeValue(ds_main_voluntrattdabsninfo_voluntrattdabsnlist, "status", "string", "d", i); //삭제 플래그 d저장
  688. // 조회한 활동일자 출결 봉사 일자에 저장
  689. // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
  690. // 그리드 수만큼 해당 정보 저장한다.
  691. attdabsndata+= ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdabsnyn')
  692. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdabsnflag')
  693. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'status')
  694. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptcd')
  695. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptdetlnm')
  696. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractdwcd')
  697. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractteamcd')
  698. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntrnm')
  699. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'baptnm')
  700. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servtm')
  701. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdrem')
  702. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actrgstseqno')
  703. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntrid')
  704. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servkind')
  705. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servdd')
  706. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptcdnm')
  707. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractdwcdnm')
  708. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractteamcdnm')
  709. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servseqno')
  710. + '▩';
  711. chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
  712. }
  713. }
  714. if(chkdata == '0') //체크된 데이터가 존재 하지 않을 때
  715. {
  716. sysf_messageBox("삭제할 대상을 선택 하십시요","I");
  717. return;
  718. }
  719. ds_send_savedata.clearData();
  720. dsf_setCSVToDs("ds_send_savedata", attdabsndata);
  721. var btn = sysf_messageBox("출결내역을","Q001");
  722. if(btn == '6')
  723. {
  724. var oParam = {};
  725. oParam.id = "TXAAA00201";
  726. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  727. oParam.method = "reqExeVoluntrAttdAbsnInfo";
  728. oParam.inds = "req=ds_send_savedata";
  729. oParam.outds = "ds_main_voluntrattdabsninfo_voluntrattdabsnlist=voluntrattdabsnlist";
  730. oParam.async = false;
  731. oParam.callback = "cf_TXAAA00201";
  732. tranf_submit(oParam);
  733. if(arErrorCode.pop("TXAAA00201") > -1)
  734. {
  735. sysf_messageBox("삭제가","I002");
  736. fVoluntrInfoReq(); //조회함수
  737. fVoluntrInfoCalReq(); //해당 월 조회 함수
  738. }
  739. }
  740. }
  741. function cf_TXAAA00201(sSvcId, nErrorCode, sErrorMsg) {
  742. arErrorCode.push(sSvcId, nErrorCode);
  743. }
  744. function fVoluntrAttdSave()
  745. {
  746. var servdd = ds_main_search.getColumn(0, "servdd");
  747. var idxRow = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.rowcount;
  748. // 출결정보 등록할 파리채 생성
  749. var attdabsndata= 'attdabsnyn'
  750. + '▦attdabsnflag'
  751. + '▦status'
  752. + '▦actdeptcd'
  753. + '▦actdeptdetlnm'
  754. + '▦voluntractdwcd'
  755. + '▦voluntractteamcd'
  756. + '▦voluntrnm'
  757. + '▦baptnm'
  758. + '▦servtm'
  759. + '▦attdrem'
  760. + '▦actrgstseqno'
  761. + '▦voluntrid'
  762. + '▦servkind'
  763. + '▦servdd'
  764. + '▦actdeptcdnm'
  765. + '▦voluntractdwcdnm'
  766. + '▦voluntractteamcdnm'
  767. + '▦servseqno'
  768. + '▩';
  769. var chkdata=0; // 체크여부 확인하는 변수 선언
  770. for(i=0; i < idxRow; i++)
  771. {
  772. if(ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "chk") == "1" || ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "chk") == "true") //체크 된 데이터만
  773. {
  774. var attdabsnflag=ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "attdabsnflag") // 출결구분 저장
  775. if(attdabsnflag=="01"||attdabsnflag=="02") //출결이나 대근일때만 메시지 체크
  776. {
  777. if(utlf_isNull(ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, "servtm"))) //봉사시간이 비어있을 때 메시지 처리
  778. {
  779. sysf_messageBox("활동시간은","I003");
  780. return;
  781. }
  782. }
  783. dsf_makeValue(ds_main_voluntrattdabsninfo_voluntrattdabsnlist, "servdd", "string", servdd, i);
  784. // 조회한 활동일자 출결 봉사 일자에 저장
  785. // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
  786. // 그리드 수만큼 해당 정보 저장한다.
  787. attdabsndata+= ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdabsnyn')
  788. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdabsnflag')
  789. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'status')
  790. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptcd')
  791. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptdetlnm')
  792. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractdwcd')
  793. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractteamcd')
  794. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntrnm')
  795. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'baptnm')
  796. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servtm')
  797. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'attdrem')
  798. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actrgstseqno')
  799. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntrid')
  800. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servkind')
  801. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servdd')
  802. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'actdeptcdnm')
  803. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractdwcdnm')
  804. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'voluntractteamcdnm')
  805. + '▦'+ ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(i, 'servseqno')
  806. + '▩';
  807. chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
  808. }
  809. }
  810. //체크된 데이터가 존재 하지 않을 때
  811. if(chkdata == '0') {
  812. sysf_messageBox("출결처리 대상을 선택 하십시요","I");
  813. return;
  814. }
  815. ds_send_savedata.clearData();
  816. dsf_setCSVToDs("ds_send_savedata", attdabsndata);
  817. var oParam = {};
  818. oParam.id = "TXAAA00201";
  819. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  820. oParam.method = "reqExeVoluntrAttdAbsnInfo";
  821. oParam.inds = "req=ds_send_savedata";
  822. oParam.outds = "ds_main_voluntrattdabsninfo_voluntrattdabsnlist=voluntrattdabsnlist";
  823. oParam.async = false;
  824. oParam.callback = "cf_TXAAA00201";
  825. tranf_submit(oParam);
  826. if(arErrorCode.pop("TXAAA00201") > -1)
  827. {
  828. sysf_messageBox("출결처리가","I002");
  829. fVoluntrInfoReq(); //조회함수
  830. fVoluntrInfoCalReq(); //해당 월 조회 함수
  831. }
  832. }
  833. function ds_main_voluntrattdabsninfo_voluntrattdabsnlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  834. {
  835. var idxRow = e.row;
  836. var attdabsnflag = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(idxRow, "attdabsnflag");
  837. var actdeptcd = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(idxRow, "actdeptcd");
  838. var voluntractteamcd = ds_main_voluntrattdabsninfo_voluntrattdabsnlist.getColumn(idxRow, "voluntractteamcd");
  839. if(e.col == "3")
  840. { // 출석구분 값이 바뀌었을 때
  841. // 결석, 휴가, 병가로 선택된 경우 활동시간 초기화
  842. if(attdabsnflag == "03"|| attdabsnflag == "04"|| attdabsnflag == "05")
  843. {
  844. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "servtm", "0.0");
  845. // 2009.6.12 수정
  846. grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=true;
  847. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "edittype", "none");
  848. }
  849. else if(actdeptcd == '04'&& voluntractteamcd == '3')
  850. {// 활동부서가 호스피스이면서 소속팀이 종일일때 6시간 셋팅
  851. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "servtm", "6.0");
  852. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "edittype", "text");
  853. }
  854. else
  855. {// 출결, 대근일 경우 활동시간에 자동 3시간 셋팅
  856. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "servtm", "3.0");
  857. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.setColumn(idxRow, "edittype", "text");
  858. }
  859. }
  860. }
  861. function grp_biz_grd_attdnc_oncloseup(obj:Grid, e:GridEditEventInfo)
  862. {
  863. obj.showEditor(false);
  864. }
  865. ]]></Script>
  866. </Form>
  867. </FDL>