SPAAA02700_휴가처리.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPAAA02700" position="absolute 0 0 451 132" titletext="휴가처리" onload="SPAAA02700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 105 449 132" id="grp_btn" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 0 448 6" id="line32" class="line_6"/>
  11. <Button position="absolute 332 5 388 27" id="btn_confirm" class="btn4" text="삭제" onclick="grp_btn_btn_confirm_onclick"/>
  12. <Button position="absolute 391 5 447 27" id="btn_cancel" class="btn4" text="취소" onclick="grp_btn_btn_cancel_onclick"/>
  13. <Button position="absolute 273 5 329 27" id="button1" class="btn4" text="저장" onclick="grp_btn_button1_onclick"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Div position="absolute 0 0 449 105" id="group1" scrollbars="autoboth">
  18. <Layouts>
  19. <Layout>
  20. <Shape position="absolute 0 20 448 26" linetype="horizontal" id="line8" class="line_2"/>
  21. <Shape position="absolute 0 44 448 50" linetype="horizontal" id="line1" class="line_2"/>
  22. <Static text="휴가시작일" position="absolute 0 0 85 23" align="align:center middle;" id="caption5" class="cell_1"/>
  23. <Static text="구분" position="absolute 0 24 85 47" align="align:center middle;" id="caption6" class="cell_1"/>
  24. <Static text="휴가사유" position="absolute 0 48 85 101" align="align:center middle;" id="caption7" class="cell_1"/>
  25. <Static text="휴가종료일" position="absolute 210 0 295 23" align="align:center middle;" id="caption8" class="cell_1"/>
  26. <Calendar position="absolute 88 2 208 21" id="ipt_benfdd" class="input_default" enable="true"/>
  27. <Combo position="absolute 88 25 208 44" id="cmb_benfcd" class="combo_default" innerdataset="@ds_init_A0020A0506" datacolumn="cdnm" codecolumn="cdid"/>
  28. <TextArea position="absolute 88 48 448 101" id="tar_rem" wordwrap="char"/>
  29. <Calendar position="absolute 300 2 420 21" id="input1" class="input_default" enable="true"/>
  30. </Layout>
  31. </Layouts>
  32. </Div>
  33. </Layout>
  34. </Layouts>
  35. <Objects>
  36. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  37. <ColumnInfo/>
  38. </Dataset>
  39. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  40. <ColumnInfo>
  41. <Column id="savedata" type="STRING" size="256"/>
  42. </ColumnInfo>
  43. <Rows>
  44. <Row>
  45. <Col id="savedata"/>
  46. </Row>
  47. </Rows>
  48. </Dataset>
  49. <Dataset id="ds_main_returnsts_statusinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  50. <ColumnInfo>
  51. <Column id="restatus" type="STRING" size="256"/>
  52. <Column id="voluntrid" type="STRING" size="256"/>
  53. <Column id="actstatflag" type="STRING" size="256"/>
  54. <Column id="restatusdd" type="STRING" size="256"/>
  55. </ColumnInfo>
  56. <Rows>
  57. <Row>
  58. <Col id="restatus"/>
  59. <Col id="voluntrid"/>
  60. <Col id="actstatflag"/>
  61. <Col id="restatusdd"/>
  62. </Row>
  63. </Rows>
  64. </Dataset>
  65. <Dataset id="ds_main_holisource" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  66. <ColumnInfo>
  67. <Column id="voluntrid" type="STRING" size="256"/>
  68. <Column id="holijobrespflag" type="STRING" size="256"/>
  69. <Column id="fromdd" type="STRING" size="256"/>
  70. <Column id="todd" type="STRING" size="256"/>
  71. <Column id="holicd" type="STRING" size="256"/>
  72. <Column id="jobrespcd" type="STRING" size="256"/>
  73. <Column id="holijobrem" type="STRING" size="256"/>
  74. <Column id="status" type="STRING" size="256"/>
  75. <Column id="reflag" type="STRING" size="256"/>
  76. </ColumnInfo>
  77. <Rows>
  78. <Row>
  79. <Col id="voluntrid"/>
  80. <Col id="holijobrespflag"/>
  81. <Col id="fromdd"/>
  82. <Col id="todd"/>
  83. <Col id="holicd"/>
  84. <Col id="jobrespcd"/>
  85. <Col id="holijobrem"/>
  86. <Col id="status"/>
  87. <Col id="reflag"/>
  88. </Row>
  89. </Rows>
  90. </Dataset>
  91. <Dataset id="ds_init_A0020A0506" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  92. <ColumnInfo>
  93. <Column id="cdid" type="STRING" size="256"/>
  94. <Column id="cdnm" type="STRING" size="256"/>
  95. </ColumnInfo>
  96. </Dataset>
  97. </Objects>
  98. <Bind>
  99. <BindItem id="item0" compid="group1.ipt_benfdd" propid="value" datasetid="ds_main_holisource" columnid="fromdd"/>
  100. <BindItem id="item1" compid="group1.cmb_benfcd" propid="value" datasetid="ds_main_holisource" columnid="holicd"/>
  101. <BindItem id="item2" compid="group1.tar_rem" propid="value" datasetid="ds_main_holisource" columnid="holijobrem"/>
  102. <BindItem id="item3" compid="group1.input1" propid="value" datasetid="ds_main_holisource" columnid="todd"/>
  103. </Bind>
  104. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  105. * System Name :
  106. * Job Name :
  107. * Creator :
  108. * Make Date : 2016-09-30
  109. * Description :
  110. *---------------------------------------------------------------------------------------
  111. * Modify Date Modifier Modify Description
  112. *---------------------------------------------------------------------------------------
  113. * 2016-09-30 Live Converter TF->XP
  114. *
  115. *---------------------------------------------------------------------------------------
  116. ****************************************************************************************/
  117. //=======================================================================================
  118. // Lib Include
  119. //---------------------------------------------------------------------------------------
  120. include "com_commonxp::comm_main.xjs";
  121. //=======================================================================================
  122. // Global Form Variable
  123. //---------------------------------------------------------------------------------------
  124. var arErrorCode = new HashArray();
  125. //=======================================================================================
  126. // Function
  127. //---------------------------------------------------------------------------------------
  128. /****************************************************************************************
  129. * Argument : N/A
  130. * Description : 초기값
  131. ****************************************************************************************/
  132. function fInit()
  133. {
  134. var arrParam2 = [{bizId:"A0020", cdGrpId:"A0506", dsNm:"ds_init_A0020A0506", sortField:"cdnm", sortMehotd:"desc"}
  135. ];
  136. appf_getKindCodeList(arrParam2);
  137. }
  138. /****************************************************************************************
  139. * Argument : N/A
  140. * Description : 확인
  141. ****************************************************************************************/
  142. function fSendParam()
  143. {
  144. var fromdd = ds_main_holisource.getColumn(0, "fromdd"); //휴가시작일
  145. var todd = ds_main_holisource.getColumn(0, "todd"); //휴가종료일
  146. var holicd = ds_main_holisource.getColumn(0, "holicd"); //휴가 구분
  147. if(fromdd=="")
  148. {
  149. sysf_messageBox("휴가시작일은","I003");
  150. return;
  151. }
  152. if(todd=="")
  153. {
  154. sysf_messageBox("휴가종료일은","I003");
  155. return;
  156. }
  157. if(todd<fromdd)
  158. { // 휴가 종료일이 휴가 시작일 보다 빠른 날짜로 선택시
  159. sysf_messageBox("휴가종료일이 시작일보다 작을 수","I004");
  160. return;
  161. }
  162. if(holicd=="") //휴가 구분이 공백 일 때
  163. {
  164. sysf_messageBox("휴가구분은","I003");
  165. return;
  166. }
  167. ds_send_savedata.clear();
  168. ds_send_savedata.copyData(ds_main_holisource);
  169. call_TXAAA02701();
  170. if(arErrorCode.pop("TXAAA02701") > -1) {
  171. if(ds_main_returnsts_statusinfo.getColumn(0, "restatus")=="P")
  172. {
  173. sysf_messageBox("휴가 구간이","E006");
  174. return;
  175. }
  176. if(ds_main_returnsts_statusinfo.getColumn(0, "restatus")=="B") // 출결 정보가 있는 기간을 벗어나 수정을 했을 때
  177. {
  178. var btn=sysf_messageBox("이전 휴가 기간내에 출결 내역이 존재합니다. 수정 ","S001");
  179. if(btn=='6')
  180. {
  181. dsf_makeValue( ds_main_holisource, "reflag", "string", "B"); // 기간내에 휴가 출결 처리한 정보가 있어도 휴가 내역 수정 하겠다는 플래그 B저장
  182. ds_send_savedata.copyData(ds_main_holisource);
  183. call_TXAAA02701();
  184. if(arErrorCode.pop("TXAAA02701") > -1) {
  185. sysf_messageBox("휴가 처리가","I002");
  186. dsf_makeValue(opener.ds_holisource, "reflag", "string", "c");
  187. this.close();
  188. return;
  189. }
  190. }
  191. else
  192. {
  193. dsf_makeValue( ds_main_holisource, "status", "string", "u"); //?
  194. return;
  195. }
  196. }
  197. if(ds_main_returnsts_statusinfo.getColumn(0, "restatus")=="D") // 활동기간 정보가 존재 하지 않을 때
  198. {
  199. sysf_messageBox("활동기간 정보가","I004");
  200. return;
  201. }
  202. else
  203. {
  204. sysf_messageBox("휴가 처리가","I002");
  205. dsf_makeValue(opener.ds_holisource, "reflag", "string", "c");
  206. this.close();
  207. }
  208. }
  209. }
  210. function call_TXAAA02701() {
  211. var oParam = {};
  212. oParam.id = "TXAAA02701";
  213. oParam.service = "voluntractapp.VoluntrBasicMngt";
  214. oParam.method = "reqExeVoluntrHoliJob";
  215. oParam.inds = "req=ds_send_savedata";
  216. oParam.outds = "ds_main_returnsts_statusinfo=statusinfo";
  217. oParam.async = false;
  218. oParam.callback = "cf_TXAAA02701";
  219. tranf_submit(oParam);
  220. }
  221. function cf_TXAAA02701(sSvcId, nErrorCode, sErrorMsg) {
  222. arErrorCode.push(sSvcId, nErrorCode);
  223. }
  224. /****************************************************************************************
  225. * Argument : N/A
  226. * Description : 삭제
  227. ****************************************************************************************/
  228. function fDelHoli()
  229. {
  230. var btn=sysf_messageBox("휴가내역을","Q001");
  231. if(btn=='6')
  232. {
  233. if(ds_main_holisource.getColumn(0, "status")=="i") // 등록을 위해 팝업창을 열었을 경우에는 삭제할 수 없다.
  234. {
  235. sysf_messageBox("삭제할 휴가 처리 내역이","I004");
  236. return;
  237. }
  238. dsf_makeValue( ds_main_holisource, "status", "string", "d"); //상태값에 d저장
  239. ds_send_savedata.clear();
  240. ds_send_savedata.copyData(ds_main_holisource);
  241. call_TXAAA02701();
  242. if(arErrorCode.pop("TXAAA02701") > -1) {
  243. if(ds_main_returnsts_statusinfo.getColumn(0, "restatus")=="F") // 휴가 구간이 겹칠 때
  244. {
  245. var btn=sysf_messageBox("해당기간에 출석처리한 정보가 있습니다.","Q001");
  246. if(btn=='6')
  247. {
  248. dsf_makeValue( ds_main_holisource, "reflag", "string", "A"); // 휴가 출결 처리한 정보가 있어도 휴가 내역 삭제하겠다는 플래그 A저장
  249. ds_send_savedata.copyData(ds_main_holisource);
  250. call_TXAAA02701();
  251. if(arErrorCode.pop("TXAAA02701") > -1) {
  252. sysf_messageBox("휴가 삭제가","I002");
  253. dsf_makeValue( opener.ds_holisource, "reflag", "string", "c");
  254. }
  255. }
  256. else
  257. {
  258. dsf_makeValue( ds_main_holisource, "status", "string", "u");
  259. return;
  260. }
  261. }
  262. else
  263. {
  264. sysf_messageBox("휴가 삭제가","I002");
  265. dsf_makeValue( opener.ds_holisource, "reflag", "string", "c");
  266. }
  267. }
  268. this.close();
  269. }
  270. else if(btn=='7')
  271. {
  272. return;
  273. }
  274. }
  275. //=======================================================================================
  276. // Event
  277. //---------------------------------------------------------------------------------------
  278. /****************************************************************************************
  279. * Components : Form
  280. * Description : 화면 처음 초기화시 폼초기화
  281. ****************************************************************************************/
  282. function SPAAA02700_onload(obj:Form, e:LoadEventInfo)
  283. {
  284. frmf_initForm(obj); // 폼 초기화
  285. try{
  286. ds_main_holisource.copyData(arg_ds_main_holisource);
  287. dsf_setDefaultVal(ds_main_holisource,"all");
  288. }catch(e){}
  289. fInit();
  290. }
  291. /****************************************************************************************
  292. * Components : Button
  293. * Description : 저장
  294. ****************************************************************************************/
  295. function grp_btn_button1_onclick(obj:Button, e:ClickEventInfo)
  296. {
  297. fSendParam();
  298. }
  299. /****************************************************************************************
  300. * Components : Button
  301. * Description : 삭제
  302. ****************************************************************************************/
  303. function grp_btn_btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  304. {
  305. fDelHoli();
  306. }
  307. /****************************************************************************************
  308. * Components : Button
  309. * Description : 취소
  310. ****************************************************************************************/
  311. function grp_btn_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  312. {
  313. this.close();
  314. }
  315. ]]></Script>
  316. </Form>
  317. </FDL>