SMRPD12500_월별휴일확정관리.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD12500" position="absolute 0 0 1197 792" titletext="월별휴일확정관리" oninit="SMRPD12500_oninit" onload="SMRPD12500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="월별휴일확정관리" class="tit_1" position="absolute 0 0 248 25"/>
  8. <Shape id="line9" class="line_6" position="absolute 0 44 1195 50" anchor="left top right"/>
  9. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1134 23 1190 45" anchor="top right" onclick="btn_save_onclick"/>
  10. <Div id="grp_sea" taborder="2" position="absolute 0 48 1195 88" class="div_SA2" anchor="left top right">
  11. <Layouts>
  12. <Layout>
  13. <Static id="cap_instcd" text="기관:" class="search_name" position="absolute 13 10 74 27"/>
  14. <Combo id="cmb_instcd" taborder="1" class="combo_s_essential" enable="false" position="absolute 72 9 197 28"/>
  15. <Static id="caption2" text="근무년월 :" class="search_name" position="absolute 221 10 312 27"/>
  16. <Calendar id="ipt_dutym" taborder="2" class="input_search" position="absolute 308 9 418 28" mask="yyyy-mm" dateformat="yyyy-MM" value="null" editformat="yyyy-MM" style="align:center middle;" autoselect="true" autoskip="true" onchanged="grp_sea_ipt_dutym_onchanged"/>
  17. <Static id="caption5" text="관리부서 :" class="search_name" position="absolute 443 10 529 27"/>
  18. <Edit id="ipt_dutdeptcd" taborder="3" class="input_s_essential" position="absolute 530 9 615 28" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_dutdeptcd_onkeyup"/>
  19. <Button id="btn_dutdept" taborder="4" class="icon_search" position="absolute 621 11 637 27" onclick="grp_sea_btn_dutdept_onclick"/>
  20. <Edit id="ipt_dutdeptnm" taborder="5" class="input_search" position="absolute 639 9 773 28" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_dutdeptnm_onkeyup"/>
  21. <Static id="caption7" text="사번 :" class="search_name" position="absolute 793 9 856 26"/>
  22. <Edit id="ipt_emplnos" taborder="6" class="input_essential" position="absolute 854 9 916 28" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_emplnos_onkeyup"/>
  23. <Button id="btn_emplno" taborder="7" class="icon_search" position="absolute 918 9 934 25" onclick="grp_sea_btn_emplno_onclick"/>
  24. <Edit id="ipt_emplnms" taborder="8" class="input_default" position="absolute 935 9 1041 28" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_emplnms_onkeyup"/>
  25. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1085 8 1091 30" anchor="top right"/>
  26. <Button id="btn_search" taborder="9" text="조회" class="btn1" position="absolute 1108 8 1164 30" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  27. </Layout>
  28. </Layouts>
  29. </Div>
  30. <Static id="caption278" text="사원목록" class="tit_2" position="absolute 0 102 157 124"/>
  31. <Shape id="line207" class="line_10" position="absolute 0 118 1195 124" anchor="left top right"/>
  32. <Grid id="grd_deduitemlist" taborder="3" binddataset="ds_main_deduitem_deduitemlist" useinputpanel="false" position="absolute 0 123 1195 788" autoenter="select" autofittype="col" cellsizingtype="col" anchor="all">
  33. <Formats>
  34. <Format id="default">
  35. <Columns>
  36. <Column size="22"/>
  37. <Column size="96"/>
  38. <Column size="93"/>
  39. <Column size="83"/>
  40. <Column size="91"/>
  41. <Column size="494"/>
  42. <Column size="95"/>
  43. <Column size="89"/>
  44. <Column size="112"/>
  45. <Column size="0"/>
  46. <Column size="0"/>
  47. <Column size="0"/>
  48. </Columns>
  49. <Rows>
  50. <Row size="24" band="head"/>
  51. <Row size="24"/>
  52. </Rows>
  53. <Band id="head">
  54. <Cell/>
  55. <Cell col="1" text="사원번호"/>
  56. <Cell col="2" text="성명"/>
  57. <Cell col="3" text="휴일갯수"/>
  58. <Cell col="4" text="잔여휴일수"/>
  59. <Cell col="5" text="부서"/>
  60. <Cell col="6" text="입사일"/>
  61. <Cell col="7" text="퇴사일"/>
  62. <Cell col="8" text="확정여부"/>
  63. <Cell col="9" text="caption1"/>
  64. <Cell col="10" text="caption2"/>
  65. <Cell col="11" text="caption3"/>
  66. </Band>
  67. <Band id="body">
  68. <Cell celltype="head"/>
  69. <Cell col="1" text="bind:emplno" enable="false"/>
  70. <Cell col="2" style="align:left middle;" text="bind:emplnm"/>
  71. <Cell col="3" displaytype="text" edittype="text" style="align:center middle;" text="bind:holicnt"/>
  72. <Cell col="4" displaytype="text" edittype="text" style="align:center middle;" text="bind:jancnt"/>
  73. <Cell col="5" text="bind:dutplcedeptnm"/>
  74. <Cell col="6" text="bind:entcodd" mask="####-##-##" maskchar=" " calendardisplaynulltype="nulltext"/>
  75. <Cell col="7" text="bind:retiredd" mask="####-##-##" maskchar=" " calendardisplaynulltype="nulltext"/>
  76. <Cell col="8" displaytype="checkbox" edittype="checkbox" text="bind:deprtmangrdutcnfmyn" expr="expr:deprtmangrdutcnfmyn == 'Y' ? 1 : 0"/>
  77. <Cell col="9" text="bind:dutym"/>
  78. <Cell col="10" text="bind:instcd"/>
  79. <Cell col="11" text="bind:oldholicnt"/>
  80. </Band>
  81. </Format>
  82. </Formats>
  83. </Grid>
  84. <Combo id="cmb_dutplce" taborder="4" class="combo_search" visible="false" position="absolute 345 98 588 117" onitemchanged="cmb_dutplce_onitemchanged"/>
  85. <Radio id="radio1" taborder="5" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 675 99 835 119" onitemchanged="radio1_onitemchanged">
  86. <Dataset id="innerdataset">
  87. <ColumnInfo>
  88. <Column id="codecolumn"/>
  89. <Column id="datacolumn"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row>
  93. <Col id="codecolumn"/>
  94. <Col id="datacolumn">전체</Col>
  95. </Row>
  96. <Row>
  97. <Col id="codecolumn">Y</Col>
  98. <Col id="datacolumn">확정</Col>
  99. </Row>
  100. <Row>
  101. <Col id="codecolumn">N</Col>
  102. <Col id="datacolumn">미확정</Col>
  103. </Row>
  104. </Rows>
  105. </Dataset>
  106. </Radio>
  107. <CheckBox id="bool1" taborder="6" position="absolute 946 98 968 118" truevalue="Y" falsevalue="N"/>
  108. <Button id="button1" taborder="7" text="전체적용" class="btn4" position="absolute 968 96 1048 118" onclick="button1_onclick"/>
  109. <Button id="btn_saveexcel" taborder="8" text="엑셀저장" onclick="btn_saveexcel_onclick" class="btn7" position="absolute 1114 99 1194 118" anchor="top right"/>
  110. </Layout>
  111. </Layouts>
  112. <Objects>
  113. <Dataset id="ds_send_deduitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_deduitem_oncolumnchanged">
  114. <ColumnInfo>
  115. <Column id="instcd" type="STRING" size="256"/>
  116. <Column id="emplno" type="STRING" size="256"/>
  117. <Column id="emplnm" type="STRING" size="256"/>
  118. <Column id="dutym" type="STRING" size="256"/>
  119. <Column id="dutunitcd" type="STRING" size="256"/>
  120. <Column id="dutunitnm" type="STRING" size="256"/>
  121. <Column id="conformyn" type="STRING" size="256"/>
  122. <Column id="chkyn" type="STRING" size="256"/>
  123. </ColumnInfo>
  124. <Rows>
  125. <Row>
  126. <Col id="instcd"/>
  127. <Col id="emplno"/>
  128. <Col id="emplnm"/>
  129. <Col id="dutym"/>
  130. <Col id="dutunitcd"/>
  131. <Col id="dutunitnm"/>
  132. <Col id="conformyn"/>
  133. <Col id="chkyn"/>
  134. </Row>
  135. </Rows>
  136. </Dataset>
  137. <Dataset id="ds_main_deduitem_deduitemlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_deduitem_deduitemlist_oncolumnchanged">
  138. <ColumnInfo>
  139. <Column id="emplno" type="STRING" size="256" sumtext="사원번호"/>
  140. <Column id="emplnm" type="STRING" size="256" sumtext="사원명"/>
  141. <Column id="holicnt" type="STRING" size="256" sumtext="휴일갯수"/>
  142. <Column id="jancnt" type="STRING" size="256" sumtext="잔여갯수"/>
  143. <Column id="entcodd" type="STRING" size="256" sumtext="입사일자"/>
  144. <Column id="retiredd" type="STRING" size="256" sumtext="퇴사일자"/>
  145. <Column id="dutym" type="STRING" size="256" sumtext="근무년월"/>
  146. <Column id="dutplcedeptnm" type="STRING" size="256" sumtext="부서명"/>
  147. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  148. <Column id="oldholicnt" type="STRING" size="256" sumtext="휴일갯수"/>
  149. <Column id="deprtmangrdutcnfmyn" type="STRING" size="256" sumtext="승인여부"/>
  150. </ColumnInfo>
  151. </Dataset>
  152. </Objects>
  153. <Bind>
  154. <BindItem id="item0" compid="grp_sea.cmb_instcd" propid="value" datasetid="ds_send_deduitem" columnid="instcd"/>
  155. <BindItem id="item1" compid="grp_sea.ipt_dutym" propid="value" datasetid="ds_send_deduitem" columnid="dutym"/>
  156. <BindItem id="item2" compid="grp_sea.ipt_dutdeptcd" propid="value" datasetid="ds_send_deduitem" columnid="dutunitcd"/>
  157. <BindItem id="item3" compid="grp_sea.ipt_dutdeptnm" propid="value" datasetid="ds_send_deduitem" columnid="dutunitnm"/>
  158. <BindItem id="item4" compid="grp_sea.ipt_emplnos" propid="value" datasetid="ds_send_deduitem" columnid="emplno"/>
  159. <BindItem id="item5" compid="grp_sea.ipt_emplnms" propid="value" datasetid="ds_send_deduitem" columnid="emplnm"/>
  160. <BindItem id="item6" compid="bool1" propid="value" datasetid="ds_send_deduitem" columnid=""/>
  161. <BindItem id="item7" compid="radio1" propid="value" datasetid="ds_send_deduitem" columnid="conformyn"/>
  162. <BindItem id="item8" compid="cmb_dutplce" propid="value" datasetid="ds_send_deduitem" columnid="dutunitcd"/>
  163. </Bind>
  164. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  165. * System Name :
  166. * Job Name :
  167. * Creator :
  168. * Make Date : 2017-06-19
  169. * Description :
  170. *---------------------------------------------------------------------------------------
  171. * Modify Date Modifier Modify Description
  172. *---------------------------------------------------------------------------------------
  173. * 2017-06-19 Live Converter TF->XP
  174. *
  175. *---------------------------------------------------------------------------------------
  176. ****************************************************************************************/
  177. include "com_commonxp::comm_main.xjs";
  178. include "mis_miscommonxp::MIS.xjs";
  179. include "mis_dligclaznsmngtxp::RPD001.xjs";
  180. include "mis_humtrafactmngtxp::RPB001.xjs";
  181. function SMRPD12500_oninit(obj:Form, e:InitEventInfo)
  182. {
  183. frmf_initForm(obj);
  184. }
  185. function SMRPD12500_onload(obj:Form, e:LoadEventInfo)
  186. {
  187. grdf_initGrid(grd_deduitemlist);
  188. grdf_setRowTypeIcon(grd_deduitemlist, 0);
  189. misfGridInit(grd_deduitemlist);
  190. //misfMsterDetailSet(grd_deduitemlist,null, "TRRPD12501" ,"Y");
  191. var curdate = utlf_getCurrentDate();
  192. ds_send_deduitem.setColumn(0, "dutym", String(curdate).substr(0,6));
  193. grp_sea.cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  194. misfGetUserAuth();
  195. rpdfSetControlAuth();
  196. rpdfComboCdList(cmb_dutplce);
  197. rpdfSetDutUnitCombo();
  198. ds_send_deduitem.enableevent = false;
  199. ds_send_deduitem.setColumn(0, "dutunitcd", DUT_UNIT_CD);
  200. ds_send_deduitem.setColumn(0, "dutunitnm", DUT_UNIT_NM);
  201. ds_send_deduitem.enableevent = true;
  202. ds_send_deduitem.setColumn(0, "chkyn", "N");
  203. misfComboInstCdListMulti("grp_sea.cmb_instcd",utlf_getCurrentDate(),"","N");
  204. cmb_dutplce.visible = false;
  205. }
  206. function grp_sea_ipt_dutym_onchanged(obj:Calendar, e:ChangeEventInfo)
  207. {
  208. ds_send_deduitem.setColumn(0, "dutym", String(obj.value).substr(0,6));
  209. }
  210. function ds_send_deduitem_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  211. {
  212. if(e.columnid == "dutunitcd")
  213. {
  214. grp_sea.ipt_dutdeptcd.enable = true;
  215. grp_sea.ipt_dutdeptcd.value = e.newvalue;
  216. grp_sea.ipt_dutdeptcd.setFocus();
  217. misfValidationCheck("02", "", "dutunitcd,dutunitnm", grp_sea.cmb_instcd.value, "instcd" );
  218. grp_sea.ipt_dutdeptcd.enable = false;
  219. grp_sea.btn_search.click();
  220. }
  221. if(e.columnid == "dutunitnm")
  222. {
  223. grp_sea.ipt_dutdeptnm.enable = true;
  224. grp_sea.ipt_dutdeptnm.value = e.newvalue;
  225. grp_sea.ipt_dutdeptnm.setFocus();
  226. misfValidationCheck("02", "", "dutunitcd,dutunitnm", grp_sea.cmb_instcd.value, "instcd" );
  227. grp_sea.ipt_dutdeptnm.enable = false;
  228. grp_sea.btn_search.click();
  229. }
  230. if(e.columnid == "emplno")
  231. {
  232. grp_sea.ipt_emplnos.value = e.newvalue;
  233. grp_sea.ipt_emplnos.setFocus();
  234. var recv_list = "emplno,emplnm" ;
  235. rpbfValidationCheck("EMPLNO", recv_list);
  236. if (String(e.newvalue).length > 0)
  237. {
  238. grp_sea.btn_search.click();
  239. }
  240. }
  241. if(e.columnid == "emplnm")
  242. {
  243. grp_sea.ipt_emplnms.value = e.newvalue;
  244. grp_sea.ipt_emplnms.setFocus();
  245. var recv_list = "emplno,emplnm" ;
  246. rpbfValidationCheck("EMPLNM", recv_list);
  247. if (String(e.newvalue).length > 0)
  248. {
  249. grp_sea.btn_search.click();
  250. }
  251. }
  252. }
  253. function grp_sea_btn_dutdept_onclick(obj:Button, e:ClickEventInfo)
  254. {
  255. misfOpenPopUpList("02", grp_sea.ipt_dutdeptcd,"","dutunitcd,dutunitnm", grp_sea.cmb_instcd.value + "," + String(ds_send_deduitem.getColumn(0, "dutym")).substr(0,6)+"31", "instcd,basedd");
  256. grp_sea.btn_search.click();
  257. }
  258. function grp_sea_ipt_dutdeptcd_onkeyup(obj:Edit, e:KeyEventInfo)
  259. {
  260. if(e.keycode == 13)
  261. {
  262. obj.updateToDataset();
  263. misfValidationCheck("02", "", "dutunitcd,dutunitnm", grp_sea.cmb_instcd.value, "instcd" );
  264. ds_send_deduitem.setColumn(0, "dutunitcd", cmb_dutplce.value);
  265. }
  266. }
  267. function grp_sea_ipt_dutdeptnm_onkeyup(obj:Edit, e:KeyEventInfo)
  268. {
  269. if(e.keycode == 13)
  270. {
  271. obj.updateToDataset();
  272. misfValidationCheck("02", "", "dutunitcd,dutunitnm", grp_sea.cmb_instcd.value, "instcd" );
  273. ds_send_deduitem.setColumn(0, "dutunitcd", cmb_dutplce.value);
  274. }
  275. }
  276. function grp_sea_ipt_emplnos_onkeyup(obj:Edit, e:KeyEventInfo)
  277. {
  278. if(e.keycode == 13)
  279. {
  280. obj.updateToDataset();
  281. }
  282. }
  283. function grp_sea_btn_emplno_onclick(obj:Button, e:ClickEventInfo)
  284. {
  285. var recv_list = "emplno,emplnm" ;
  286. rpbfOpenPopUpList("SPRPB00101", grp_sea.ipt_emplnos, recv_list,"1","N");
  287. if (String(grp_sea.ipt_emplnos.value).length > 0)
  288. {
  289. grp_sea.btn_search.click();
  290. }
  291. }
  292. function grp_sea_ipt_emplnms_onkeyup(obj:Edit, e:KeyEventInfo)
  293. {
  294. if(e.keycode == 13)
  295. {
  296. obj.updateToDataset();
  297. }
  298. }
  299. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  300. {
  301. var oParam = {};
  302. oParam.id = "TRRPD12501";
  303. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  304. oParam.method = "reqGetHoliCount2List";
  305. oParam.inds = "req=ds_send_deduitem";
  306. oParam.outds = "ds_main_deduitem_deduitemlist=deduitemlist";
  307. oParam.async = false;
  308. //oParam.callback = "cf_TRRPD12501";
  309. tranf_submit(oParam);
  310. }
  311. function radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  312. {
  313. grp_sea.btn_search.click();
  314. }
  315. function cmb_dutplce_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  316. {
  317. grp_sea.btn_search.click();
  318. }
  319. function button1_onclick(obj:Button, e:ClickEventInfo)
  320. {
  321. var chkyn = ds_send_deduitem.getColumn(0, "chkyn");
  322. for (var i = 0; i < ds_main_deduitem_deduitemlist.rowcount; i++)
  323. {
  324. ds_main_deduitem_deduitemlist.setColumn(i, "deprtmangrdutcnfmyn", chkyn);
  325. ds_main_deduitem_deduitemlist.updatecontrol = false;
  326. ds_main_deduitem_deduitemlist.setRowType(i, "u");
  327. ds_main_deduitem_deduitemlist.updatecontrol = true;
  328. }
  329. }
  330. function btn_saveexcel_onclick(obj:Button, e:ClickEventInfo)
  331. {
  332. grdf_exportExcel(grd_deduitemlist, "excel", "see", "true", "", "");
  333. }
  334. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  335. {
  336. var oParam = {};
  337. oParam.id = "TXRPD12501";
  338. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  339. oParam.method = "reqExeHoliConformList";
  340. oParam.inds = "deduitemlist=ds_main_deduitem_deduitemlist:u";
  341. oParam.outds = "";
  342. oParam.async = false;
  343. oParam.callback = "cf_TXRPD12501";
  344. tranf_submit(oParam);
  345. }
  346. function cf_TXRPD12501(sSvcId, nErrorCode, sErrorMsg)
  347. {
  348. if(nErrorCode < 0)
  349. {
  350. return;
  351. }
  352. else
  353. {
  354. grp_sea.btn_search.click();
  355. }
  356. }
  357. function ds_main_deduitem_deduitemlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  358. {
  359. if(e.columnid == "deprtmangrdutcnfmyn")
  360. {
  361. obj.setColumn(e.row, "deprtmangrdutcnfmyn", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  362. }
  363. }
  364. ]]></Script>
  365. </Form>
  366. </FDL>