SMAAA01300_수시봉사내역관리.xfdl 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAAA01300" position="absolute 0 0 1199 763" titletext="수시봉사활동관리" oninit="SMAAA01300_oninit" onload="SMAAA01300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 15 1195 759" id="grp_biz" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Static text="수시봉사내역" position="absolute 2 59 172 76" id="caption32" class="tit_2"/>
  11. <Div position="absolute 0 10 1194 45" align="align:center top;" id="group1">
  12. <Layouts>
  13. <Layout>
  14. <Shape position="absolute 0 0 1194 35" id="roundrect2" class="roundrect_search" type="roundrectangle"/>
  15. <Button position="absolute 1122 7 1178 29" id="button6" class="btn1" text="조회" onclick="grp_biz_group1_button6_onclick"/>
  16. <Static text="조회기간 :" position="absolute 5 9 105 26" id="cap_fromdd" class="search_name"/>
  17. <Calendar position="absolute 89 9 177 28" id="ipt_fromdd" class="input_s_essential" autoselect="true" autoskip="true"/>
  18. <Shape position="absolute 1103 7 1109 29" linetype="vertical" id="line13" class="line_4"/>
  19. <Calendar position="absolute 196 10 284 29" id="ipt_todd" class="input_s_essential" autoselect="true"/>
  20. <Static text="~" position="absolute 182 10 202 30" id="caption3"/>
  21. <Combo position="absolute 512 8 627 27" id="cmb_actdept" class="combo_search" innerdataset="ds_A0503" datacolumn="cdnm" codecolumn="cdid"/>
  22. <Combo position="absolute 420 8 510 27" id="cmb_actdivscd" class="combo_search" innerdataset="ds_A0654" datacolumn="cdnm" codecolumn="cdid"/>
  23. <Static text="소속분야/센터 :" position="absolute 294 9 417 26" id="cap_posteam1" class="search_name"/>
  24. <Static text="봉사구분:" position="absolute 919 10 1002 27" id="caption1" class="search_name" visible="false"/>
  25. <Static text="활동요일/시간대:" position="absolute 640 10 772 27" id="caption2" class="search_name"/>
  26. <Combo position="absolute 1002 9 1092 28" id="cmb_servkind" class="combo_search" visible="false" codecolumn="codecolumn" datacolumn="datacolumn">
  27. <Dataset id="innerdataset">
  28. <ColumnInfo>
  29. <Column id="codecolumn"/>
  30. <Column id="datacolumn"/>
  31. </ColumnInfo>
  32. <Rows>
  33. <Row>
  34. <Col id="codecolumn">%</Col>
  35. <Col id="datacolumn">- 전 체 -</Col>
  36. </Row>
  37. <Row>
  38. <Col id="codecolumn">1</Col>
  39. <Col id="datacolumn">원소속</Col>
  40. </Row>
  41. <Row>
  42. <Col id="codecolumn">2</Col>
  43. <Col id="datacolumn">추가소속</Col>
  44. </Row>
  45. <Row>
  46. <Col id="codecolumn">4</Col>
  47. <Col id="datacolumn">수시봉사</Col>
  48. </Row>
  49. </Rows>
  50. </Dataset>
  51. </Combo>
  52. <Combo position="absolute 771 9 840 28" id="cmb_posteam1" class="combo_search" enable="true" innerdataset="@ds_A0359" datacolumn="cdnm" codecolumn="cdid"/>
  53. <Combo position="absolute 842 9 907 28" id="cmb_posteam2" class="combo_search" innerdataset="@ds_A0360" datacolumn="cdnm" codecolumn="cdid"/>
  54. </Layout>
  55. </Layouts>
  56. </Div>
  57. <Shape position="absolute 0 75 1194 81" linetype="horizontal" id="line2" class="line_10"/>
  58. <Button position="absolute 1041 55 1094 74" id="button11" class="btn2" text="행추가" onclick="grp_biz_button11_onclick"/>
  59. <Button position="absolute 1096 55 1149 74" id="button3" class="btn2" text="행삭제" onclick="grp_biz_button3_onclick"/>
  60. <Button position="absolute 975 55 1039 74" id="button1" class="btn2" text="엑셀저장" onclick="grp_biz_button1_onclick"/>
  61. <Grid position="absolute 0 80 1194 739" id="grd_svcspec" binddataset="ds_main_svcspec_svcspeclist" onexpanddown="grp_biz_grd_svcspec_onexpanddown" onkeydown="grp_biz_grd_svcspec_onkeydown">
  62. <Formats>
  63. <Format id="default">
  64. <Columns>
  65. <Column size="100"/>
  66. <Column size="17"/>
  67. <Column size="100"/>
  68. <Column size="100"/>
  69. <Column size="120"/>
  70. <Column size="80"/>
  71. <Column size="58"/>
  72. <Column size="111"/>
  73. <Column size="92"/>
  74. <Column size="98"/>
  75. <Column size="240"/>
  76. <Column size="0"/>
  77. <Column size="0"/>
  78. </Columns>
  79. <Rows>
  80. <Row size="24" band="head"/>
  81. <Row size="24"/>
  82. </Rows>
  83. <Band id="head">
  84. <Cell colspan="2" text="봉사자사번" taborder="undefined"/>
  85. <Cell col="2" text="성명"/>
  86. <Cell col="3" text="소속분야"/>
  87. <Cell col="4" text="소속센터"/>
  88. <Cell col="5" text="소속센터"/>
  89. <Cell col="6" text="활동요일"/>
  90. <Cell col="7" text="활동시간대"/>
  91. <Cell col="8" text="봉사일자"/>
  92. <Cell col="9" text="활동시간"/>
  93. <Cell col="10" text="내용"/>
  94. <Cell col="11" text="caption1"/>
  95. <Cell col="12" text="caption2"/>
  96. </Band>
  97. <Band id="body">
  98. <Cell displaytype="text" edittype="text" style="linetype:onlyhorz;" text="bind:voluntrid" mask="99999999" maskchar=" " enable="false"/>
  99. <Cell col="1" displaytype="normal" edittype="expand" style="align:center middle;" expandshow="show"/>
  100. <Cell col="2" text="bind:voluntrnm"/>
  101. <Cell col="3" displaytype="combo" edittype="combo" text="bind:actdivscd" combodataset="ds_A0654" combocodecol="cdid" combodatacol="cdnm"/>
  102. <Cell col="4" displaytype="combo" edittype="combo" text="bind:actdeptcd" combodataset="ds_A0503" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  103. <Cell col="5" text="bind:actdeptdetlnm"/>
  104. <Cell col="6" displaytype="combo" edittype="combo" text="bind:voluntractdwcd" combodataset="ds_A0359" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  105. <Cell col="7" displaytype="combo" edittype="combo" text="bind:voluntractteamcd" combodataset="ds_A0360" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  106. <Cell col="8" displaytype="date" edittype="date" text="bind:servdd" maskchar=" " calendardisplaynulltype="none"/>
  107. <Cell col="9" displaytype="text" edittype="text" text="bind:servtm" mask="#.0" maskchar=" "/>
  108. <Cell col="10" displaytype="text" edittype="text" text="bind:attdrem"/>
  109. <Cell col="11" text="bind:servseqno"/>
  110. <Cell col="12" text="bind:actrgstseqno"/>
  111. </Band>
  112. </Format>
  113. </Formats>
  114. </Grid>
  115. <Button position="absolute 1151 55 1193 74" id="btn_save" class="btn5" text="저장" onclick="grp_biz_btn_save_onclick"/>
  116. <Button position="absolute 920 55 973 74" id="button10" class="btn2" text="초기화" onclick="grp_biz_button10_onclick"/>
  117. </Layout>
  118. </Layouts>
  119. </Div>
  120. <Div position="absolute 0 754 1194 757" id="grp_btn">
  121. <Layouts>
  122. <Layout>
  123. <Shape position="absolute 0 0 1194 6" linetype="horizontal" id="line16" class="line_6" anchor="default"/>
  124. <Shape id="line37" linetype="horizontal" class="line_6" position="absolute 0 0 1194 6" anchor="default"/>
  125. </Layout>
  126. </Layouts>
  127. </Div>
  128. <Static id="caption6" text="수시봉사활동관리" class="tit_1" position="absolute 0 0 194 25"/>
  129. </Layout>
  130. </Layouts>
  131. <Objects>
  132. <Dataset id="ds_main_svcspec_svcspeclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="voluntrid" type="STRING" size="256" sumtext="자원봉사자ID"/>
  135. <Column id="voluntrnm" type="STRING" size="256" sumtext="성명"/>
  136. <Column id="actdeptcd" type="STRING" size="256" sumtext="활동부서코드"/>
  137. <Column id="actdeptdetlnm" type="STRING" size="256" sumtext="활동세부부서명"/>
  138. <Column id="voluntractdwcd" type="STRING" size="256" sumtext="봉사활동요일구분"/>
  139. <Column id="voluntractteamcd" type="STRING" size="256" sumtext="봉사활동팀"/>
  140. <Column id="servdd" type="STRING" size="256" sumtext="봉사일자"/>
  141. <Column id="servtm" type="STRING" size="256" sumtext="봉사시간"/>
  142. <Column id="attdrem" type="STRING" size="256" sumtext="비고"/>
  143. <Column id="servseqno" type="STRING" size="256" sumtext="봉사일련번호"/>
  144. <Column id="actrgstseqno" type="STRING" size="256" sumtext="봉사활동등록일련번호"/>
  145. <Column id="actdivscd" type="STRING" size="256" sumtext="봉사활동등록일련번호"/>
  146. </ColumnInfo>
  147. </Dataset>
  148. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  149. <ColumnInfo>
  150. <Column id="actfromdd" type="STRING" size="256"/>
  151. <Column id="acttodd" type="STRING" size="256"/>
  152. <Column id="actdeptcd" type="STRING" size="256"/>
  153. <Column id="voluntractdwcd" type="STRING" size="256"/>
  154. <Column id="voluntractteamcd" type="STRING" size="256"/>
  155. <Column id="servkind" type="STRING" size="256"/>
  156. <Column id="actdivscd" type="STRING" size="256"/>
  157. </ColumnInfo>
  158. <Rows>
  159. <Row>
  160. <Col id="actfromdd"/>
  161. <Col id="acttodd"/>
  162. <Col id="actdeptcd"/>
  163. <Col id="voluntractdwcd"/>
  164. <Col id="voluntractteamcd"/>
  165. <Col id="servkind"/>
  166. <Col id="actdivscd"/>
  167. </Row>
  168. </Rows>
  169. </Dataset>
  170. <Dataset id="ds_A0654" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  171. <Dataset id="ds_A0503" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  172. <Dataset id="ds_A0359" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  173. <Dataset id="ds_A0360" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  174. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  175. <Dataset id="ds_source" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  176. <Dataset id="ds_main_reqpopup_reqpopuplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  177. <ColumnInfo>
  178. <Column id="voluntrid" type="STRING" size="256"/>
  179. </ColumnInfo>
  180. <Rows>
  181. <Row>
  182. <Col id="voluntrid"/>
  183. </Row>
  184. </Rows>
  185. </Dataset>
  186. <Dataset id="ds_tmp_svcspec_joinnobaseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  187. <ColumnInfo>
  188. <Column id="voluntrid" type="STRING" size="256"/>
  189. <Column id="voluntrnm" type="STRING" size="256"/>
  190. <Column id="actdeptcd" type="STRING" size="256"/>
  191. <Column id="actdeptdetlnm" type="STRING" size="256"/>
  192. <Column id="voluntractdwcd" type="STRING" size="256"/>
  193. <Column id="voluntractteamcd" type="STRING" size="256"/>
  194. <Column id="actrgstseqno" type="STRING" size="256"/>
  195. <Column id="servdd" type="STRING" size="256"/>
  196. <Column id="servtm" type="STRING" size="256"/>
  197. <Column id="attdrem" type="STRING" size="256"/>
  198. </ColumnInfo>
  199. </Dataset>
  200. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  201. </Objects>
  202. <Bind>
  203. <BindItem id="item0" compid="grp_biz.group1.ipt_fromdd" propid="value" datasetid="ds_main_cond" columnid="actfromdd"/>
  204. <BindItem id="item1" compid="grp_biz.group1.ipt_todd" propid="value" datasetid="ds_main_cond" columnid="acttodd"/>
  205. <BindItem id="item2" compid="grp_biz.group1.cmb_actdivscd" propid="value" datasetid="ds_main_cond" columnid="actdivscd"/>
  206. <BindItem id="item3" compid="grp_biz.group1.cmb_actdept" propid="value" datasetid="ds_main_cond" columnid="actdeptcd"/>
  207. <BindItem id="item4" compid="grp_biz.group1.cmb_posteam1" propid="value" datasetid="ds_main_cond" columnid="voluntractdwcd"/>
  208. <BindItem id="item5" compid="grp_biz.group1.cmb_posteam2" propid="value" datasetid="ds_main_cond" columnid="voluntractteamcd"/>
  209. <BindItem id="item6" compid="grp_biz.group1.cmb_servkind" propid="value" datasetid="ds_main_cond" columnid="servkind"/>
  210. </Bind>
  211. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  212. * System Name :
  213. * Job Name :
  214. * Creator :
  215. * Make Date : 2015-11-13
  216. * Description :
  217. *---------------------------------------------------------------------------------------
  218. * Modify Date Modifier Modify Description
  219. *---------------------------------------------------------------------------------------
  220. * 2015-11-13 Live Converter TF->XP
  221. *
  222. *---------------------------------------------------------------------------------------
  223. ****************************************************************************************/
  224. include "com_commonxp::comm_main.xjs";
  225. include "emr_carecomxp::CareCom.xjs";
  226. //=======================================================================================
  227. // Global Form Variable
  228. //---------------------------------------------------------------------------------------
  229. var arErrorCode = new HashArray();
  230. function SMAAA01300_oninit(obj:Form, e:InitEventInfo)
  231. {
  232. frmf_initForm(obj); // 폼 초기화
  233. }
  234. function SMAAA01300_onload(obj:Form, e:LoadEventInfo)
  235. {
  236. fInit();
  237. }
  238. //화면 오픈시 초기화
  239. function fInit() {
  240. ds_main_svcspec_svcspeclist.clearData();
  241. ds_main_cond.clearData();
  242. ds_main_cond.addRow();
  243. var Ndate = utlf_getNewDate();
  244. var Idate = Ndate.getDateFormat("YYYYMM")+ "01";
  245. ds_main_cond.setColumn(0, "actfromdd", Idate);
  246. var sDate = utlf_getNewDate(); //달의 마지막날 가져오기
  247. var lastDate = sDate.getFullYear();
  248. lastDate = lastDate.toString() + (( sDate.getMonth() + 1 > 9 ) ? sDate.getMonth() + 1 : "0" + (sDate.getMonth() + 1));
  249. lastDate = lastDate.toString() + sDate.getMonthDay();
  250. ds_main_cond.setColumn(0, "acttodd", lastDate);
  251. var arrParam1 = [
  252. {dsNm: "ds_A0503", cdGrpId: "A0503"},
  253. {dsNm: "ds_A0359", cdGrpId: "A0359"},
  254. {dsNm: "ds_A0360", cdGrpId: "A0360"},
  255. {dsNm: "ds_A0654", cdGrpId: "A0654"}
  256. ];
  257. appf_getCodeList(arrParam1);
  258. // 공통코드를 조회한다.
  259. frmf_addComboItem("grp_biz.group1.cmb_actdept", "- 전 체 -", "", "above");
  260. frmf_addComboItem("grp_biz.group1.cmb_posteam1", "- 전 체 -", "", "above");
  261. frmf_addComboItem("grp_biz.group1.cmb_posteam2", "- 전 체 -", "", "above");
  262. frmf_addComboItem("grp_biz.group1.cmb_actdivscd", "- 전 체 -", "", "above");
  263. grp_biz.group1.cmb_actdept.value = "";
  264. grp_biz.group1.cmb_posteam1.value = "";
  265. grp_biz.group1.cmb_posteam2.value = "";
  266. grp_biz.group1.cmb_actdivscd.value = "";
  267. grp_biz.group1.cmb_servkind.index = 0;
  268. //메뉴파라미터값에 따른 활동부서 비활성처리
  269. //SMAAA01300_param : 호스피스 : 04 원목실 : 05
  270. var SMAAA01300_param = frmf_getMenuParam(); //2
  271. if(SMAAA01300_param == '2') {
  272. ds_main_cond.setColumn(0, "actdeptcd", "04");
  273. grp_biz.group1.cmb_actdept.enable = false;
  274. }
  275. if(SMAAA01300_param == '3') {
  276. ds_main_cond.setColumn(0, "actdeptcd", "05");
  277. ds_main_cond.setColumn(0, "voluntractteamcd", "3");
  278. grp_biz.group1.cmb_actdept.enable = false;
  279. }
  280. }
  281. function grp_biz_group1_button6_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. fRefSvrSpecList();
  284. }
  285. //조회버튼 클릭시
  286. function fRefSvrSpecList() {
  287. var SMAAA01300_param = frmf_getMenuParam();
  288. if (ds_main_cond.getColumn(0, "actfromdd") > ds_main_cond.getColumn(0, "acttodd")) {
  289. sysf_messageBox("올바른 조회기간을","C001");
  290. grp_biz.group1.ipt_fromdd.setFocus();
  291. return false;
  292. }
  293. if (utlf_isNull(ds_main_cond.getColumn(0, "actfromdd"))) {
  294. sysf_messageBox("시작일자는 ","I003");
  295. grp_biz.group1.ipt_fromdd.setFocus();
  296. return false;
  297. }
  298. if (utlf_transNullToEmpty(ds_main_cond.getColumn(0, "actfromdd")).length != 8 ) {
  299. sysf_messageBox("올바른 시작일자 항목을","C001");
  300. grp_biz.group1.ipt_fromdd.setFocus();
  301. return false;
  302. }
  303. if (utlf_isNull(ds_main_cond.getColumn(0, "acttodd"))) {
  304. sysf_messageBox("종료일자는 ","I003");
  305. grp_biz.group1.ipt_todd.setFocus();
  306. return false;
  307. }
  308. if (utlf_transNullToEmpty(ds_main_cond.getColumn(0, "acttodd")).length != 8 ) {
  309. sysf_messageBox("올바른 종료일자 항목을","C001");
  310. grp_biz.group1.ipt_todd.setFocus();
  311. return false;
  312. }
  313. ds_send_reqdata.clearData();
  314. ds_send_reqdata.copyData(ds_main_cond);
  315. var oParam = {};
  316. oParam.id = "TRAAA01301";
  317. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  318. oParam.method = "reqGetSvcSpecList";
  319. oParam.inds = "req=ds_send_reqdata";
  320. oParam.outds = "ds_main_svcspec_svcspeclist=svcspeclist";
  321. oParam.async = false;
  322. tranf_submit(oParam);
  323. }
  324. function grp_biz_button11_onclick(obj:Button, e:ClickEventInfo)
  325. {
  326. fInsRow();
  327. }
  328. function fInsRow(){
  329. //행추가버튼 클릭시 한줄만 추가 servdd
  330. var row = ds_main_svcspec_svcspeclist.addRow();
  331. ds_main_svcspec_svcspeclist.setColumn(row, "servdd", utlf_getCurrentDate());
  332. //grd_svcspec.colDisabled(grd_svcspec.colRef("voluntrnm")) = true;
  333. //grd_svcspec.colDisabled(grd_svcspec.colRef("actdeptcd")) = true;
  334. //grd_svcspec.colDisabled(grd_svcspec.colRef("actdeptdetlnm")) = true;
  335. //grd_svcspec.colDisabled(grd_svcspec.colRef("voluntractdwcd")) = true;
  336. //grd_svcspec.colDisabled(grd_svcspec.colRef("voluntractteamcd")) = true;
  337. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptcd", "-");
  338. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractdwcd", "-");
  339. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractteamcd", "-");
  340. }//fInsRow END
  341. function grp_biz_button3_onclick(obj:Button, e:ClickEventInfo)
  342. {
  343. fDelRow();
  344. }
  345. function fDelRow() {
  346. var idx = ds_main_svcspec_svcspeclist.rowposition;
  347. if( idx >= 0 ){
  348. //디비에 저장되지 않은 데이타는 그냥 삭제한다. 1: insert , 3 : insert and update
  349. if (ds_main_svcspec_svcspeclist.getRowType(idx, 2)){
  350. ds_main_svcspec_svcspeclist.deleteRow(idx);
  351. return;
  352. }
  353. if(!utlf_isNull(idx)){
  354. for (var i = 0; i < ds_main_svcspec_svcspeclist.rowcount; i++) {
  355. var voluntrid = ds_main_svcspec_svcspeclist.getColumn(i, "voluntrid");
  356. var voluntrnm = ds_main_svcspec_svcspeclist.getColumn(i, "voluntrnm");
  357. var actdeptcd = ds_main_svcspec_svcspeclist.getColumn(i, "actdeptcd");
  358. var actdeptdetlnm = ds_main_svcspec_svcspeclist.getColumn(i, "actdeptdetlnm");
  359. }//for END
  360. if ( !utlf_isNull(voluntrid) || !utlf_isNull(voluntrnm) || !utlf_isNull(actdeptcd) || !utlf_isNull(actdeptdetlnm)) {
  361. ds_main_svcspec_svcspeclist.enableevent = false;
  362. ds_main_svcspec_svcspeclist.updatecontrol = false;
  363. ds_main_svcspec_svcspeclist.setRowType(i, 8);
  364. ds_main_svcspec_svcspeclist.updatecontrol = true;
  365. ds_main_svcspec_svcspeclist.enableevent = true;
  366. }
  367. }//null check if END
  368. }else{
  369. sysf_messageBox("삭제할 일정을 ", "C002");
  370. //grd_svcspec.removeStatus(idx, "delete");
  371. }
  372. }//fDelRow END
  373. function grp_biz_button1_onclick(obj:Button, e:ClickEventInfo)
  374. {
  375. fExcel();
  376. }
  377. function fExcel() {
  378. if (ds_main_svcspec_svcspeclist.rowcount == 0) {
  379. sysf_messageBox("엑셀파일로 저장할 리스트 내역이", "I004");
  380. return;
  381. }
  382. grdf_exportExcel(grp_biz.grd_svcspec, "수시봉사내역관리" + utlf_getCurrentDate(), "sheetname1" , true, "" , "" , true);
  383. }//fExcel END
  384. function grp_biz_grd_svcspec_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  385. {
  386. var idx = ds_main_svcspec_svcspeclist.rowposition;
  387. if(grp_biz.grd_svcspec.getBindCellIndex("body", "voluntrid") == e.col){
  388. if (ds_main_svcspec_svcspeclist.getRowType(idx, 2)){
  389. fPopupInfo();
  390. }
  391. }
  392. }
  393. //입단번호 버튼클릭시 팝업
  394. function fPopupInfo() {
  395. var row = ds_main_svcspec_svcspeclist.rowposition;
  396. dsf_makeValue(ds_source, "flag", "string", 'Y'); // 수시봉사내역에서 호출함은 알려주는 플래그 값 Y
  397. dsf_makeValue(ds_source, "popupflag", "string", 'Y'); // 팝업창 호출 플래그 값 Y
  398. dsf_makeValue(ds_source, "voluntrnm", "string", "");
  399. dsf_makeValue(ds_source, "rrgstno1", "string", "");
  400. dsf_makeValue(ds_source, "rrgstno2", "string", "");
  401. //modal("SPAAA02400", "1", "150", "150", "SPAAA02400", "/root/source", "/root/send/reqdata");
  402. var objArg = new Object();
  403. objArg.arg_ds_source = ds_source;
  404. frmf_modal("SPAAA02400","SPAAA02400", objArg, "", 1, 150, 150, "", "", "", "", "", "M");///root/source 의 인스턴스를 자원봉사자조회 팝업 화면의 /root/send/reqdata 밑의 인스턴스로 복사 하며 팝업 창 호출
  405. if (!utlf_isNull(ds_main_reqpopup_reqpopuplist.getColumn(0, "voluntrid"))) {
  406. dsf_makeValue(ds_send_reqdata, "voluntrid", "string", ds_main_reqpopup_reqpopuplist.getColumn(0, "voluntrid"));
  407. var oParam = {};
  408. oParam.id = "TRAAA01302";
  409. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  410. oParam.method = "reqGetJoinNoBaseInfo";
  411. oParam.inds = "req=ds_send_reqdata";
  412. oParam.outds = "ds_tmp_svcspec_joinnobaseinfo=joinnobaseinfo";
  413. oParam.async = false;
  414. tranf_submit(oParam);
  415. if (utlf_isNull(ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actrgstseqno"))){
  416. ds_main_svcspec_svcspeclist.setColumn(row, "actrgstseqno", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actrgstseqno"));
  417. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrid", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntrid"));
  418. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrnm", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntrnm"));
  419. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actdeptcd"));
  420. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptdetlnm", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actdeptdetlnm"));
  421. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractdwcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntractdwcd"));
  422. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractteamcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntractteamcd"));
  423. ds_main_svcspec_svcspeclist.setColumn(row, "actdivscd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actdivscd"));
  424. }else{
  425. sysf_messageBox("원소속활동부서 정보가", "I004");
  426. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptcd", "-");
  427. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractdwcd", "-");
  428. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractteamcd", "-");
  429. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrnm", "");
  430. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrid", "");
  431. }
  432. }
  433. } //fPopupInfo END
  434. function grp_biz_grd_svcspec_onkeydown(obj:Grid, e:KeyEventInfo)
  435. {
  436. if(e.keycode == 13){
  437. var row = ds_main_svcspec_svcspeclist.rowposition;
  438. if( grp_biz.grd_svcspec.getBindCellIndex("body", "voluntrid") == obj.currentcol){
  439. if (ds_main_svcspec_svcspeclist.getRowType(idx, 2)){
  440. dsf_makeValue(ds_send_reqdata, "voluntrid", "string", ds_main_svcspec_svcspeclist.getColumn(row, "voluntrid"));
  441. var oParam = {};
  442. oParam.id = "TRAAA01302";
  443. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  444. oParam.method = "reqGetJoinNoBaseInfo";
  445. oParam.inds = "req=ds_send_reqdata";
  446. oParam.outds = "ds_tmp_svcspec_joinnobaseinfo=joinnobaseinfo";
  447. oParam.async = false;
  448. tranf_submit(oParam);
  449. if( !utlf_isNull(ds_main_svcspec_svcspeclist.getColumn(row, "voluntrid")) ){
  450. ds_main_svcspec_svcspeclist.setColumn(row, "actrgstseqno", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actrgstseqno"));
  451. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrid", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntrid"));
  452. ds_main_svcspec_svcspeclist.setColumn(row, "voluntrnm", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntrnm"));
  453. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actdeptcd"));
  454. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptdetlnm", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "actdeptdetlnm"));
  455. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractdwcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntractdwcd"));
  456. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractteamcd", ds_tmp_svcspec_joinnobaseinfo.getColumn(0, "voluntractteamcd"));
  457. }
  458. if( utlf_isNull(ds_main_svcspec_svcspeclist.getColumn(row, "actrgstseqno")) ){
  459. sysf_messageBox("원소속활동부서 정보가","I004");
  460. ds_main_svcspec_svcspeclist.setColumn(row, "actdeptcd", "-");
  461. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractdwcd", "-");
  462. ds_main_svcspec_svcspeclist.setColumn(row, "voluntractteamcd", "-");
  463. return;
  464. }
  465. }
  466. }
  467. }
  468. }
  469. function grp_biz_button10_onclick(obj:Button, e:ClickEventInfo)
  470. {
  471. fReset();
  472. }
  473. function fReset(){
  474. var btn = sysf_messageBox("초기화를 ", "Q004");
  475. if (btn == '6') {
  476. ds_main_svcspec_svcspeclist.clearData();
  477. ds_main_cond.clearData();
  478. ds_main_cond.addRow();
  479. var Ndate = utlf_getNewDate();
  480. var Idate = Ndate.getDateFormat("YYYYMM")+ "01";
  481. ds_main_cond.setColumn(0, "actfromdd", Idate);
  482. grp_biz.group1.cmb_actdept.value = "";
  483. grp_biz.group1.cmb_posteam1.value = "";
  484. grp_biz.group1.cmb_posteam2.value = "";
  485. grp_biz.group1.cmb_actdivscd.value = "";
  486. grp_biz.group1.cmb_servkind.index = 0;
  487. //model.setValue("/root/main/cond/acttodd", getCurrentDate());
  488. //ds_main_cond.setColumn(0, "acttodd", model.getValue("/root/main/date/date/lastdate/lastdate"));
  489. var sDate = utlf_getNewDate(); //달의 마지막날 가져오기
  490. var lastDate = sDate.getFullYear();
  491. lastDate = lastDate.toString() + (( sDate.getMonth() + 1 > 9 ) ? sDate.getMonth() + 1 : "0" + (sDate.getMonth() + 1));
  492. lastDate = lastDate.toString() + sDate.getMonthDay();
  493. ds_main_cond.setColumn(0, "acttodd", lastDate);
  494. var SMAAA01300_param = frmf_getMenuParam(); //2
  495. if(SMAAA01300_param == '2') {
  496. ds_main_cond.setColumn(0, "actdeptcd", "04");
  497. grp_biz.group1.cmb_actdept.enable = false;
  498. }
  499. if(SMAAA01300_param == '3') {
  500. ds_main_cond.setColumn(0, "actdeptcd", "05");
  501. ds_main_cond.setColumn(0, "voluntractteamcd", "3");
  502. grp_biz.group1.cmb_actdept.enable = false;
  503. }
  504. } else if (btn == '7') {
  505. return;
  506. }
  507. }//fReset END
  508. function grp_biz_btn_save_onclick(obj:Button, e:ClickEventInfo)
  509. {
  510. if ( !fCheckMandatoryInput() ) return;
  511. fSaveSvrSpecList();
  512. if( ds_main_svcspec_svcspeclist.rowcount > 0)
  513. fRefSvrSpecList();
  514. }
  515. function fCheckMandatoryInput() {
  516. for (var i = 0; i < ds_main_svcspec_svcspeclist.rowcount; i++) {
  517. if (utlf_isNull(ds_main_svcspec_svcspeclist.getColumn(i, "voluntrid"))) {
  518. sysf_messageBox("미입력된 입단번호 항목을","C001");
  519. return false;
  520. }
  521. }
  522. for (var i = 0; i < ds_main_svcspec_svcspeclist.rowcount; i++) {
  523. if (utlf_isNull(ds_main_svcspec_svcspeclist.getColumn(i, "servdd"))) {
  524. sysf_messageBox("미입력된 봉사일자 항목을","C001");
  525. return false;
  526. }
  527. }
  528. for (var i = 0; i < ds_main_svcspec_svcspeclist.rowcount; i++) {
  529. if (utlf_transNullToEmpty(ds_main_svcspec_svcspeclist.getColumn(i, "servdd")).length != 8 ) {
  530. sysf_messageBox("올바른 봉사일자 항목을","C001");
  531. return false;
  532. }
  533. }
  534. for (var i = 0; i < ds_main_svcspec_svcspeclist.rowcount; i++) {
  535. if ( utlf_isNull(ds_main_svcspec_svcspeclist.getColumn(i, "servtm"))
  536. || ds_main_svcspec_svcspeclist.getColumn(i, "servtm") <= 0 ) {
  537. sysf_messageBox("미입력된 활동시간 항목을","C001");
  538. return false;
  539. }
  540. }
  541. return true;
  542. }//fCheckMandatoryInput END
  543. //저장버튼 클릭시
  544. function fSaveSvrSpecList() {
  545. var idx = ds_main_svcspec_svcspeclist.rowposition;
  546. var SMAAA01300_param2;
  547. if (ds_main_svcspec_svcspeclist.getRowType(idx, 1)){
  548. sysf_messageBox("저장할 자료가 ","I004");
  549. return;
  550. }
  551. if( idx >= 0 ){
  552. if(ds_main_svcspec_svcspeclist.getRowType(idx, 4) || ds_main_svcspec_svcspeclist.getRowType(idx, 2) || ds_main_svcspec_svcspeclist.getRowType(idx, 8)){
  553. ds_send_savedata.clearData();
  554. var dsUpdate = grdf_getGridUpdateData(grp_biz.grd_svcspec, "all");
  555. grdf_setStatusColumn(dsUpdate, "status");
  556. ds_send_savedata.copyData(dsUpdate,true);
  557. var oParam = {};
  558. oParam.id = "TXAAA01301";
  559. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  560. oParam.method = "reqExeSvcSpec";
  561. oParam.inds = "req_list=ds_send_savedata";
  562. oParam.outds = "";
  563. oParam.async = false;
  564. oParam.callback = "cf_TXAAA01301";
  565. tranf_submit(oParam);
  566. if(arErrorCode.pop("TXAAA01301") > -1) {
  567. sysf_messageBox("자료 저장이 ","I002");
  568. }
  569. }
  570. }//if END
  571. }//fSaveSvrSpecList END
  572. function cf_TXAAA01301(sSvcId, nErrorCode, sErrorMsg) {
  573. arErrorCode.push(sSvcId, nErrorCode);
  574. }
  575. function fRefSvrSpecList() {
  576. var SMAAA01300_param = frmf_getMenuParam();
  577. if (ds_main_cond.getColumn(0, "actfromdd") > ds_main_cond.getColumn(0, "acttodd")) {
  578. sysf_messageBox("올바른 조회기간을","C001");
  579. grp_biz.group1.ipt_fromdd.setFocus();
  580. return false;
  581. }
  582. if (utlf_isNull(ds_main_cond.getColumn(0, "actfromdd"))) {
  583. sysf_messageBox("시작일자는 ","I003");
  584. grp_biz.group1.ipt_fromdd.setFocus();
  585. return false;
  586. }
  587. if (utlf_transNullToEmpty(ds_main_cond.getColumn(0, "actfromdd")).length != 8 ) {
  588. sysf_messageBox("올바른 시작일자 항목을","C001");
  589. grp_biz.group1.ipt_fromdd.setFocus();
  590. return false;
  591. }
  592. if (utlf_isNull(ds_main_cond.getColumn(0, "acttodd"))) {
  593. sysf_messageBox("종료일자는 ","I003");
  594. grp_biz.group1.ipt_todd.setFocus();
  595. return false;
  596. }
  597. if (utlf_transNullToEmpty(ds_main_cond.getColumn(0, "acttodd")).length != 8 ) {
  598. sysf_messageBox("올바른 종료일자 항목을","C001");
  599. grp_biz.group1.ipt_todd.setFocus();
  600. return false;
  601. }
  602. ds_send_reqdata.clearData();
  603. ds_send_reqdata.copyData(ds_main_cond);
  604. var oParam = {};
  605. oParam.id = "TRAAA01301";
  606. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  607. oParam.method = "reqGetSvcSpecList";
  608. oParam.inds = "req=ds_send_reqdata";
  609. oParam.outds = "ds_main_svcspec_svcspeclist=svcspeclist";
  610. oParam.async = false;
  611. tranf_submit(oParam);
  612. }
  613. ]]></Script>
  614. </Form>
  615. </FDL>