SMRPD04600_외국시찰및연수등록.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD04600" position="absolute 0 0 1202 807" titletext="외국시찰및연수등록" oninit="SMRPD04600_oninit" onload="SMRPD04600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="외국시찰및연수등록" class="tit_1" position="absolute 0 0 280 25"/>
  8. <Shape id="line4" class="line_6" position="absolute 0 44 1195 50" anchor="left top right"/>
  9. <Button id="button36" taborder="1" text="저장" class="btn4" position="absolute 1139 23 1195 45" onclick="button36_onclick" anchor="top right"/>
  10. <Div id="group4" anchor="left top right" taborder="2" class="div_SA2" position="absolute 0 48 1195 88">
  11. <Layouts>
  12. <Layout>
  13. <Static id="caption2" text="근무부서 :" class="search_name" position="absolute 17 11 105 28"/>
  14. <Combo id="combo1" taborder="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 105 10 195 29">
  15. <Dataset id="innerdataset">
  16. <ColumnInfo>
  17. <Column id="codecolumn"/>
  18. <Column id="datacolumn"/>
  19. </ColumnInfo>
  20. <Rows>
  21. <Row>
  22. <Col id="codecolumn">1</Col>
  23. <Col id="datacolumn">근무지</Col>
  24. </Row>
  25. <Row>
  26. <Col id="codecolumn">2</Col>
  27. <Col id="datacolumn">근무부서</Col>
  28. </Row>
  29. <Row>
  30. <Col id="codecolumn">3</Col>
  31. <Col id="datacolumn">근무과(팀)</Col>
  32. </Row>
  33. <Row>
  34. <Col id="codecolumn">4</Col>
  35. <Col id="datacolumn">근무부(실)</Col>
  36. </Row>
  37. </Rows>
  38. </Dataset>
  39. </Combo>
  40. <Edit id="ipt_dutdeptcd" taborder="2" class="input_search" position="absolute 200 10 270 29" autoskip="true" autoselect="true" onkeydown="group4_ipt_dutdeptcd_onkeydown"/>
  41. <Edit id="ipt_dutdeptnm" taborder="3" class="input_search" position="absolute 291 10 405 29" autoskip="true" autoselect="true" onkeydown="group4_ipt_dutdeptnm_onkeydown"/>
  42. <Button id="btn_dutdept" taborder="4" class="icon_search" position="absolute 273 12 289 28" onclick="group4_btn_dutdept_onclick"/>
  43. <Static id="caption1" text="기간 :" class="search_name" position="absolute 440 11 506 28"/>
  44. <Calendar id="ipt_dutym" taborder="5" class="input_search" position="absolute 505 10 610 29" mask="yyyy-mm-dd" autoskip="true" autoselect="true" onchanged="group4_ipt_dutym_onchanged"/>
  45. <Static id="caption4" text="~" position="absolute 617 10 632 30"/>
  46. <Calendar id="input1" taborder="6" class="input_search" position="absolute 635 10 740 29" mask="yyyy-mm-dd" autoskip="true" autoselect="true" onchanged="group4_input1_onchanged"/>
  47. <Static id="caption3" text="사번 :" class="search_name" position="absolute 775 11 838 28"/>
  48. <Edit id="ipt_emplnos" taborder="7" class="input_default" position="absolute 836 10 903 29" autoskip="true" autoselect="true" onkeyup="group4_ipt_emplnos_onkeyup"/>
  49. <Button id="btn_emplno" taborder="8" class="icon_search" position="absolute 908 10 924 26" onclick="group4_btn_emplno_onclick"/>
  50. <Edit id="ipt_emplnms" taborder="9" class="input_default" position="absolute 927 10 1023 29" autoskip="true" autoselect="true" onkeydown="group4_ipt_emplnms_onkeydown"/>
  51. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1107 8 1113 30" anchor="top right"/>
  52. <Button id="btn_search" taborder="10" text="조회" class="btn1" position="absolute 1125 9 1181 31" onclick="group4_btn_search_onclick" anchor="top right"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. <Button id="btn_excsave" taborder="3" text="엑셀저장" class="btn7" position="absolute 1115 107 1195 126" onclick="btn_excsave_onclick" anchor="top right"/>
  57. <Button id="btn_grddelpaydedulist" taborder="4" text="행삭제" class="btn2" position="absolute 1059 107 1112 126" onclick="btn_grddelpaydedulist_onclick" anchor="top right"/>
  58. <Button id="btn_grdaddpaydedulist" taborder="5" text="행추가" class="btn2" position="absolute 1003 107 1056 126" onclick="btn_grdaddpaydedulist_onclick" anchor="top right"/>
  59. <Shape id="line207" class="line_10" position="absolute 0 126 1195 132" anchor="left top right"/>
  60. <Grid id="grd_dutsumlist" taborder="6" binddataset="ds_main_list_dutsumlist" useinputpanel="false" position="absolute 0 131 1195 801" autoenter="select" autofittype="col" cellsizingtype="col" anchor="all" onexpanddown="grd_dutsumlist_onexpanddown">
  61. <Formats>
  62. <Format id="default">
  63. <Columns>
  64. <Column size="23"/>
  65. <Column size="101"/>
  66. <Column size="73"/>
  67. <Column size="107"/>
  68. <Column size="112"/>
  69. <Column size="114"/>
  70. <Column size="202"/>
  71. <Column size="169"/>
  72. <Column size="165"/>
  73. <Column size="113"/>
  74. <Column size="0"/>
  75. </Columns>
  76. <Rows>
  77. <Row size="24" band="head"/>
  78. <Row size="24"/>
  79. </Rows>
  80. <Band id="head">
  81. <Cell/>
  82. <Cell col="1" text="사원번호"/>
  83. <Cell col="2" text="성명"/>
  84. <Cell col="3" text="기간(FROM)"/>
  85. <Cell col="4" text="기간(TO)"/>
  86. <Cell col="5" text="국가"/>
  87. <Cell col="6" text="교육목적"/>
  88. <Cell col="7" text="교육종류"/>
  89. <Cell col="8" text="교육기관"/>
  90. <Cell col="9" text="지급액"/>
  91. <Cell col="10" text="caption7"/>
  92. </Band>
  93. <Band id="body">
  94. <Cell celltype="head"/>
  95. <Cell col="1" displaytype="text" edittype="expr:getRowType(currow) == 2 ? 'text' : 'none'" style="align:center middle;" text="bind:emplno" expandshow="show" enable="false"/>
  96. <Cell col="2" style="align:left middle;padding:0 0 0 3;" text="bind:emplnm"/>
  97. <Cell col="3" displaytype="date" edittype="date" text="bind:giganfrom" calendardisplaynulltype="nulltext"/>
  98. <Cell col="4" displaytype="date" edittype="date" text="bind:giganto" calendardisplaynulltype="nulltext"/>
  99. <Cell col="5" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:nationcd" combodisplayrowcount="40" id="nationcd"/>
  100. <Cell col="6" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:stdobject" combodisplayrowcount="40" id="stdobject"/>
  101. <Cell col="7" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:stdkind" combodisplayrowcount="40" id="stdkind"/>
  102. <Cell col="8" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:gigwancd" combodisplayrowcount="40" id="gigwancd"/>
  103. <Cell col="9" displaytype="number" edittype="normal" text="bind:jigeubamt"/>
  104. <Cell col="10" text="bind:oldgiganfrom"/>
  105. </Band>
  106. </Format>
  107. </Formats>
  108. </Grid>
  109. <Combo id="cmb_instcd" taborder="7" class="combo_search" visible="false" position="absolute 510 91 650 110"/>
  110. <Static id="caption5" text="소속기관 :" class="search_name" visible="false" position="absolute 420 92 506 109"/>
  111. <Static id="caption278" text="내역" class="tit_2" position="absolute 0 110 162 132"/>
  112. </Layout>
  113. </Layouts>
  114. <Objects>
  115. <Dataset id="ds_send_retrparams" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_retrparams_oncolumnchanged">
  116. <ColumnInfo>
  117. <Column id="instcd" type="STRING" size="256"/>
  118. <Column id="frdutym" type="STRING" size="256"/>
  119. <Column id="todutym" type="STRING" size="256"/>
  120. <Column id="dutunitcd" type="STRING" size="256"/>
  121. <Column id="dutunitnm" type="STRING" size="256"/>
  122. <Column id="retrflag" type="STRING" size="256"/>
  123. <Column id="emplno" type="STRING" size="256"/>
  124. <Column id="emplnm" type="STRING" size="256"/>
  125. <Column id="deptgb" type="STRING" size="256"/>
  126. <Column id="gb" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="instcd"/>
  131. <Col id="frdutym"/>
  132. <Col id="todutym"/>
  133. <Col id="dutunitcd"/>
  134. <Col id="dutunitnm"/>
  135. <Col id="retrflag">0510</Col>
  136. <Col id="emplno"/>
  137. <Col id="emplnm"/>
  138. <Col id="deptgb"/>
  139. <Col id="gb"/>
  140. </Row>
  141. </Rows>
  142. </Dataset>
  143. <Dataset id="ds_main_list_dutsumlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_list_dutsumlist_oncolumnchanged">
  144. <ColumnInfo>
  145. <Column id="dutplcedeptnm" type="STRING" size="256" sumtext="부서명"/>
  146. <Column id="emplno" type="STRING" size="256" sumtext="사원번호"/>
  147. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  148. <Column id="rregno" type="STRING" size="256" sumtext="주민번호"/>
  149. <Column id="giganfrom" type="STRING" size="256" sumtext="기간from"/>
  150. <Column id="giganto" type="STRING" size="256" sumtext="기간to"/>
  151. <Column id="nationcd" type="STRING" size="256" sumtext="국가코드"/>
  152. <Column id="stdobject" type="STRING" size="256" sumtext="교육목적"/>
  153. <Column id="stdkind" type="STRING" size="256" sumtext="교육종류"/>
  154. <Column id="gigwancd" type="STRING" size="256" sumtext="교육기관"/>
  155. <Column id="jigeubamt" type="STRING" size="256" sumtext="교육기관"/>
  156. <Column id="oldgiganfrom" type="STRING" size="256" sumtext="기간from"/>
  157. </ColumnInfo>
  158. </Dataset>
  159. </Objects>
  160. <Bind>
  161. <BindItem id="item0" compid="group4.combo1" propid="value" datasetid="ds_send_retrparams" columnid="deptgb"/>
  162. <BindItem id="item1" compid="group4.ipt_dutdeptcd" propid="value" datasetid="ds_send_retrparams" columnid="dutunitcd"/>
  163. <BindItem id="item2" compid="group4.ipt_dutdeptnm" propid="value" datasetid="ds_send_retrparams" columnid="dutunitnm"/>
  164. <BindItem id="item3" compid="group4.ipt_dutym" propid="value" datasetid="ds_send_retrparams" columnid="frdutym"/>
  165. <BindItem id="item4" compid="group4.input1" propid="value" datasetid="ds_send_retrparams" columnid="todutym"/>
  166. <BindItem id="item5" compid="group4.ipt_emplnos" propid="value" datasetid="ds_send_retrparams" columnid="emplno"/>
  167. <BindItem id="item6" compid="group4.ipt_emplnms" propid="value" datasetid="ds_send_retrparams" columnid="emplnm"/>
  168. <BindItem id="item7" compid="cmb_instcd" propid="value" datasetid="ds_send_retrparams" columnid="instcd"/>
  169. </Bind>
  170. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  171. * System Name :
  172. * Job Name :
  173. * Creator :
  174. * Make Date : 2017-06-19
  175. * Description :
  176. *---------------------------------------------------------------------------------------
  177. * Modify Date Modifier Modify Description
  178. *---------------------------------------------------------------------------------------
  179. * 2017-06-19 Live Converter TF->XP
  180. *
  181. *---------------------------------------------------------------------------------------
  182. ****************************************************************************************/
  183. include "com_commonxp::comm_main.xjs";
  184. include "mis_miscommonxp::MIS.xjs";
  185. include "mis_humtrafactmngtxp::RPB001.xjs";
  186. function SMRPD04600_oninit(obj:Form, e:InitEventInfo)
  187. {
  188. frmf_initForm(obj);
  189. }
  190. function SMRPD04600_onload(obj:Form, e:LoadEventInfo)
  191. {
  192. grdf_initGrid(grd_dutsumlist);
  193. grdf_setRowTypeIcon(grd_dutsumlist, 0);
  194. fInitialize();
  195. }
  196. function fInitialize()
  197. {
  198. ds_main_list_dutsumlist.clearData();
  199. misfComboComCdListMulti("R0416,R0400,R0417,R0393,R0416","grd_dutsumlist.nationcd,grd_dutsumlist.stdobject,grd_dutsumlist.stdkind,grd_dutsumlist.gigwancd,grd_dutsumlist.nationcd");
  200. ds_send_retrparams.setColumn(0, "frdutym", String(utlf_getCurrentDate()).substr(0, 6) + "01");
  201. ds_send_retrparams.setColumn(0, "todutym", utlf_getCurrentDate());
  202. misfComboInstCdListMulti("cmb_instcd", group4.ipt_dutym.value+String(utlf_getCurrentDate()).substr(6, 2),"","N");
  203. misfGetAndSetUserInfo();
  204. ds_send_retrparams.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  205. cmb_instcd.enable = false;
  206. ds_send_retrparams.setColumn(0, "deptgb", "1");
  207. group4.btn_search.click();
  208. }
  209. function group4_ipt_dutdeptcd_onkeydown(obj:Edit, e:KeyEventInfo)
  210. {
  211. if(e.keycode == 13)
  212. {
  213. obj.updateToDataset();
  214. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  215. }
  216. }
  217. function ds_send_retrparams_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  218. {
  219. if(e.columnid == "dutunitcd")
  220. {
  221. group4.ipt_dutdeptcd.value = e.newvalue;
  222. group4.ipt_dutdeptcd.setFocus();
  223. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  224. }
  225. if(e.columnid == "dutunitnm")
  226. {
  227. group4.ipt_dutdeptnm.value = e.newvalue;
  228. group4.ipt_dutdeptnm.setFocus();
  229. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  230. }
  231. if(e.columnid == "emplno")
  232. {
  233. group4.ipt_emplnos.value = e.newvalue;
  234. group4.ipt_emplnos.setFocus();
  235. var recv_list = "emplno,emplnm" ;
  236. rpbfValidationCheck("EMPLNO", recv_list);
  237. if (String(e.newvalue).length > 0)
  238. {
  239. group4.btn_search.click();
  240. }
  241. }
  242. if(e.columnid == "emplnm")
  243. {
  244. group4.ipt_emplnms.value = e.newvalue;
  245. group4.ipt_emplnms.setFocus();
  246. var recv_list = "emplno,emplnm" ;
  247. rpbfValidationCheck("EMPLNM", recv_list);
  248. if (String(group4.ipt_emplnos.value).length > 0)
  249. {
  250. group4.btn_search.click();
  251. }
  252. }
  253. }
  254. function group4_btn_dutdept_onclick(obj:Button, e:ClickEventInfo)
  255. {
  256. misfOpenPopUpList("02", group4.ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
  257. }
  258. function group4_ipt_dutdeptnm_onkeydown(obj:Edit, e:KeyEventInfo)
  259. {
  260. if(e.keycode == 13)
  261. {
  262. obj.updateToDataset();
  263. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  264. }
  265. }
  266. function group4_ipt_dutym_onchanged(obj:Calendar, e:ChangeEventInfo)
  267. {
  268. group4.btn_search.click();
  269. }
  270. function group4_input1_onchanged(obj:Calendar, e:ChangeEventInfo)
  271. {
  272. group4.btn_search.click();
  273. }
  274. function group4_ipt_emplnos_onkeyup(obj:Edit, e:KeyEventInfo)
  275. {
  276. if(e.keycode == 13)
  277. {
  278. obj.updateToDataset();
  279. }
  280. }
  281. function group4_btn_emplno_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. var recv_list = "emplno,emplnm" ;
  284. rpbfOpenPopUpList("SPRPB00101", group4.ipt_emplnos, recv_list,"","N");
  285. }
  286. function group4_ipt_emplnms_onkeydown(obj:Edit, e:KeyEventInfo)
  287. {
  288. if(e.keycode == 13)
  289. {
  290. obj.updateToDataset();
  291. }
  292. }
  293. function group4_btn_search_onclick(obj:Button, e:ClickEventInfo)
  294. {
  295. var oParam = {};
  296. oParam.id = "TRRPD04601";
  297. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  298. oParam.method = "reqGetForeignerList";
  299. oParam.inds = "req=ds_send_retrparams";
  300. oParam.outds = "ds_main_list_dutsumlist=dutsumlist";
  301. oParam.async = false;
  302. //oParam.callback = "cf_TRRPD04601";
  303. tranf_submit(oParam);
  304. }
  305. function btn_grdaddpaydedulist_onclick(obj:Button, e:ClickEventInfo)
  306. {
  307. ds_main_list_dutsumlist.addRow();
  308. }
  309. function btn_grddelpaydedulist_onclick(obj:Button, e:ClickEventInfo)
  310. {
  311. misfGridIUD(grd_dutsumlist, "D");
  312. }
  313. function btn_excsave_onclick(obj:Button, e:ClickEventInfo)
  314. {
  315. misfSaveExcel(grd_dutsumlist);
  316. }
  317. function button36_onclick(obj:Button, e:ClickEventInfo)
  318. {
  319. for (var i = 0; i < ds_main_list_dutsumlist.rowcount; i ++)
  320. {
  321. var emplno1 = ds_main_list_dutsumlist.getColumn(i, "emplno");
  322. var ymd1 = ds_main_list_dutsumlist.getColumn(i, "giganfrom");
  323. if(utlf_isNull(ds_main_list_dutsumlist.getColumn(i, "emplno")))
  324. {
  325. sysf_messageBox(parseInt(i+1) + "번째의 사원번호는 필수 입력항목입니다.", "E999", "");
  326. return;
  327. }
  328. if(utlf_isNull(ds_main_list_dutsumlist.getColumn(i, "giganfrom")))
  329. {
  330. sysf_messageBox(parseInt(i+1) + "번째의 기간(FROM)은 필수 입력항목입니다.", "E999", "");
  331. return;
  332. }
  333. for (var j = 0; j < ds_main_list_dutsumlist.rowcount; j ++)
  334. {
  335. var emplno2 = ds_main_list_dutsumlist.getColumn(j, "emplno");
  336. var ymd2 = ds_main_list_dutsumlist.getColumn(j, "giganfrom");
  337. if (i != j)
  338. {
  339. if (emplno1 == emplno2 && ymd1 == ymd2)
  340. {
  341. sysf_messageBox(parseInt(j+1) + "번째에서 중복된 자료가 존재합니다", "E999", "");
  342. return;
  343. }
  344. }
  345. }
  346. }
  347. var update = grdf_getGridUpdateData(grd_dutsumlist).rowcount;
  348. if(update == 0)
  349. {
  350. sysf_messageBox("업데이트 정보가 없습니다.", "E999", "");
  351. return 0;
  352. }
  353. else
  354. {
  355. var oParam = {};
  356. oParam.id = "TXRPD04601";
  357. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  358. oParam.method = "reqExeForeignerList";
  359. oParam.inds = "req=ds_main_list_dutsumlist:u";
  360. oParam.outds = "ds_=item";
  361. oParam.typeStr = "m";
  362. oParam.async = false;
  363. oParam.callback = "cf_TXRPD04601";
  364. tranf_submit(oParam);
  365. }
  366. }
  367. function cf_TXRPD04601(sSvcId, nErrorCode, sErrorMsg)
  368. {
  369. if(nErrorCode < 0)
  370. {
  371. return;
  372. }
  373. else
  374. {
  375. sysf_messageBox("정상적으로 처리되었습니다.", "E999", "");
  376. group4.btn_search.click();
  377. }
  378. }
  379. function grd_dutsumlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  380. {
  381. var recv_list = "emplno,emplnm";
  382. rpbfOpenPopUpList("SPRPB00101", grd_dutsumlist, recv_list,"","N");
  383. }
  384. function ds_main_list_dutsumlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  385. {
  386. if (e.columnid == "giganfrom" )
  387. {
  388. var ymd = obj.getColumn(e.row, "giganfrom");
  389. if (utlf_isValidDateTime(ymd) == false)
  390. {
  391. sysf_messageBox("일자가 잘못 입력되었습니다.", "E999", "");
  392. return;
  393. }
  394. }
  395. if (e.columnid == "giganto" )
  396. {
  397. var ymd = obj.getColumn(e.row, "giganto");
  398. if (utlf_isValidDateTime(ymd) == false)
  399. {
  400. sysf_messageBox("일자가 잘못 입력되었습니다.", "E999", "");
  401. return;
  402. }
  403. }
  404. }
  405. ]]></Script>
  406. </Form>
  407. </FDL>