SMRPD04301_개인시간외신청.xfdl 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD04301" position="absolute 0 0 1204 801" titletext="개인시간외확인" oninit="SMRPD04301_oninit" onload="SMRPD04301_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_dutscheapplist" taborder="0" binddataset="ds_main_dutscheapp_dutscheapplist" useinputpanel="false" position="absolute 0 126 1194 788" autoenter="select" autofittype="col" cellsizingtype="col" anchor="all" oncelldblclick="grd_dutscheapplist_oncelldblclick">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="21"/>
  12. <Column size="132"/>
  13. <Column size="127"/>
  14. <Column size="129"/>
  15. <Column size="754"/>
  16. <Column size="0"/>
  17. <Column size="0"/>
  18. <Column size="0"/>
  19. <Column size="0"/>
  20. <Column size="0"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. </Columns>
  24. <Rows>
  25. <Row size="24" band="head"/>
  26. <Row size="24"/>
  27. </Rows>
  28. <Band id="head">
  29. <Cell/>
  30. <Cell col="1" text="근무코드"/>
  31. <Cell col="2" text="근무시작시간"/>
  32. <Cell col="3" text="근무종료시간"/>
  33. <Cell col="4" text="신청사유"/>
  34. <Cell col="5" text="근무시간"/>
  35. <Cell col="6" text="부서장승인"/>
  36. <Cell col="7" text="인사팀승인"/>
  37. <Cell col="8" text="caption1"/>
  38. <Cell col="9" text="caption2"/>
  39. <Cell col="10" text="caption3"/>
  40. <Cell col="11" text="caption4"/>
  41. </Band>
  42. <Band id="body">
  43. <Cell celltype="head"/>
  44. <Cell col="1" displaytype="combo" style="padding:2 2 2 2;background:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');background2:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');" text="bind:dutcd" combodataset="ds_cmb_dutcd" combocodecol="value" combodatacol="label" enable="false"/>
  45. <Cell col="2" displaytype="normal" style="background:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');background2:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');" text="bind:appfrom" mask="####-##-## ##:##" maskchar=" " calendardisplaynulltype="nulltext" enable="false"/>
  46. <Cell col="3" displaytype="normal" style="background:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');background2:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');" text="bind:appto" mask="####-##-## ##:##" maskchar=" " calendardisplaynulltype="nulltext"/>
  47. <Cell col="4" displaytype="text" style="background:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');background2:EXPR(deprtmangraprvyn == 'Y' ? '#DDDDDD' : '#FFFFFF');" text="bind:appresn"/>
  48. <Cell col="5" text="bind:apptm"/>
  49. <Cell col="6" text="bind:deprtmangraprvyn"/>
  50. <Cell col="7" text="bind:psnworkapryn"/>
  51. <Cell col="8" text="bind:emplno"/>
  52. <Cell col="9" text="bind:iudgb"/>
  53. <Cell col="10" text="bind:appdd"/>
  54. <Cell col="11" text="bind:dutymd"/>
  55. </Band>
  56. </Format>
  57. </Formats>
  58. </Grid>
  59. <Shape id="line2" class="line_10" position="absolute 0 121 1195 127" anchor="left top right"/>
  60. <Div id="group4" taborder="1" class="div_SA2" position="absolute 0 56 1195 96" anchor="left top right">
  61. <Layouts>
  62. <Layout>
  63. <Button id="btn_search" taborder="4" text="조회" class="btn1" position="absolute 1125 9 1181 31" anchor="top right" onclick="group4_btn_search_onclick"/>
  64. <Static id="caption1" text="사원번호 :" class="search_name" position="absolute 687 10 773 27"/>
  65. <Button id="btn_emplno" taborder="5" class="icon_search" position="absolute 860 11 876 27" onclick="group4_btn_emplno_onclick"/>
  66. <Edit id="ipt_emplnm" taborder="6" class="input_search" position="absolute 880 10 1030 29"/>
  67. <Edit id="ipt_emplno" taborder="7" class="input_search" position="absolute 776 10 856 29" autoselect="true" autoskip="true" style="align:center middle;" onkeydown="group4_ipt_emplno_onkeydown"/>
  68. <Combo id="cmb_instcd" taborder="8" class="combo_search" position="absolute 108 10 315 29"/>
  69. <Static id="caption7" text="소속기관 :" class="search_name" position="absolute 20 11 106 28"/>
  70. <Combo id="cmb_ymdflag" taborder="9" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" enable="false" position="absolute 378 10 461 29">
  71. <Dataset id="innerdataset">
  72. <ColumnInfo>
  73. <Column id="codecolumn"/>
  74. <Column id="datacolumn"/>
  75. </ColumnInfo>
  76. <Rows>
  77. <Row>
  78. <Col id="codecolumn">1</Col>
  79. <Col id="datacolumn">적용년월</Col>
  80. </Row>
  81. <Row>
  82. <Col id="codecolumn">2</Col>
  83. <Col id="datacolumn">신청년월</Col>
  84. </Row>
  85. </Rows>
  86. </Dataset>
  87. </Combo>
  88. <Calendar id="ipt_srvarmapfromdd" taborder="10" class="input_s_essential" position="absolute 466 10 557 29" mask="yyyy-mm-dd" autoselect="true" autoskip="true" onchanged="group4_ipt_srvarmapfromdd_onchanged" dateformat="yyyy-MM-dd" value="null"/>
  89. <Calendar id="ipt_srvarmaptodd" taborder="11" class="input_s_essential" position="absolute 570 10 661 29" mask="yyyy-mm-dd" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd"/>
  90. <Static id="caption9" text="~" position="absolute 558 14 569 29"/>
  91. <Static id="caption10" class="search_name" position="absolute 357 12 372 29"/>
  92. </Layout>
  93. </Layouts>
  94. </Div>
  95. <Static id="caption8" text="개인신청내역" class="tit_2" position="absolute 0 105 165 126"/>
  96. <Button id="btn_grdadddutscheapplist" taborder="2" text="행추가" class="btn2" position="absolute 1086 102 1139 121" anchor="top right" onclick="btn_grdadddutscheapplist_onclick"/>
  97. <Button id="btn_grddeldutscheapplist" taborder="3" text="행삭제" class="btn2" position="absolute 1141 102 1194 121" anchor="top right" onclick="btn_grddeldutscheapplist_onclick"/>
  98. <Static id="caption6" text="개인시간외확인" class="tit_1" position="absolute 0 0 230 23"/>
  99. <Shape id="line75" class="line_6" position="absolute 0 52 1195 58" anchor="left top right"/>
  100. <Button id="btn_save" taborder="4" text="저장" class="btn4" position="absolute 1139 31 1195 53" anchor="top right" onclick="btn_save_onclick"/>
  101. <Static id="caption3" text="* 개인시간외확인과 개인시간외확인(신) 어느 것을 사용하여도 됩니다." position="absolute 120 101 1070 121" style="color:#ff0000ff;font:Dotum,9,bold;"/>
  102. </Layout>
  103. </Layouts>
  104. <Objects>
  105. <Dataset id="ds_send_dutscheapp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_dutscheapp_oncolumnchanged">
  106. <ColumnInfo>
  107. <Column id="instcd" type="STRING" size="256"/>
  108. <Column id="srvarmapdd" type="STRING" size="256"/>
  109. <Column id="emplno" type="STRING" size="256"/>
  110. <Column id="emplnm" type="STRING" size="256"/>
  111. <Column id="dutunitcd" type="STRING" size="256"/>
  112. <Column id="dutunitnm" type="STRING" size="256"/>
  113. <Column id="newElement" type="STRING" size="256"/>
  114. <Column id="srvarmapfromdd" type="STRING" size="256"/>
  115. <Column id="srvarmaptodd" type="STRING" size="256"/>
  116. <Column id="ymdflag" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row>
  120. <Col id="instcd"/>
  121. <Col id="srvarmapdd"/>
  122. <Col id="emplno"/>
  123. <Col id="emplnm"/>
  124. <Col id="dutunitcd"/>
  125. <Col id="dutunitnm"/>
  126. <Col id="newElement"/>
  127. <Col id="srvarmapfromdd"/>
  128. <Col id="srvarmaptodd"/>
  129. <Col id="ymdflag">2</Col>
  130. </Row>
  131. </Rows>
  132. </Dataset>
  133. <Dataset id="ds_main_dutscheapp_dutscheapplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  134. <ColumnInfo>
  135. <Column id="dutcd" type="STRING" size="256" sumtext="근무코드"/>
  136. <Column id="dutnm" type="STRING" size="256" sumtext="근무명"/>
  137. <Column id="duttm" type="STRING" size="256" sumtext="근무시간"/>
  138. <Column id="daycnt" type="INT" size="256" sumtext="day인원"/>
  139. <Column id="eveningpsnno" type="INT" size="256" sumtext="evening인원"/>
  140. <Column id="nigtpsnno" type="INT" size="256" sumtext="night인원"/>
  141. </ColumnInfo>
  142. </Dataset>
  143. <Dataset id="ds_cmb_dutcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  144. <ColumnInfo>
  145. <Column id="label" type="STRING" size="256"/>
  146. <Column id="value" type="STRING" size="256"/>
  147. </ColumnInfo>
  148. <Rows>
  149. <Row>
  150. <Col id="label">시간외</Col>
  151. <Col id="value">01</Col>
  152. </Row>
  153. <Row>
  154. <Col id="label">휴일</Col>
  155. <Col id="value">03</Col>
  156. </Row>
  157. <Row>
  158. <Col id="label">CALL</Col>
  159. <Col id="value">04</Col>
  160. </Row>
  161. <Row>
  162. <Col id="label">야간(영양실포함)</Col>
  163. <Col id="value">06</Col>
  164. </Row>
  165. </Rows>
  166. </Dataset>
  167. <Dataset id="ds_tempday_dutinfo_dutlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  168. <Dataset id="ds_send_dutcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  169. <ColumnInfo>
  170. <Column id="instcd" type="STRING" size="256"/>
  171. <Column id="dutunitcd" type="STRING" size="256"/>
  172. <Column id="dutunitnm" type="STRING" size="256"/>
  173. <Column id="deptcd" type="STRING" size="256"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row>
  177. <Col id="instcd"/>
  178. <Col id="dutunitcd"/>
  179. <Col id="dutunitnm"/>
  180. </Row>
  181. </Rows>
  182. </Dataset>
  183. <Dataset id="ds_main_authlist_auth" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  184. <Dataset id="ds_init_combocd_combocdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  185. <Dataset id="ds_init_cmb_dutplce_combocodelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  186. <Dataset id="ds_temp_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  187. </Objects>
  188. <Bind>
  189. <BindItem id="item0" compid="group4.cmb_instcd" propid="value" datasetid="ds_send_dutscheapp" columnid="instcd"/>
  190. <BindItem id="item1" compid="group4.cmb_ymdflag" propid="value" datasetid="ds_send_dutscheapp" columnid="ymdflag"/>
  191. <BindItem id="item2" compid="group4.ipt_srvarmapfromdd" propid="value" datasetid="ds_send_dutscheapp" columnid="srvarmapfromdd"/>
  192. <BindItem id="item3" compid="group4.ipt_srvarmaptodd" propid="value" datasetid="ds_send_dutscheapp" columnid="srvarmaptodd"/>
  193. <BindItem id="item4" compid="group4.ipt_emplno" propid="value" datasetid="ds_send_dutscheapp" columnid="emplno"/>
  194. <BindItem id="item5" compid="group4.ipt_emplnm" propid="value" datasetid="ds_send_dutscheapp" columnid="emplnm"/>
  195. </Bind>
  196. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  197. * System Name :
  198. * Job Name :
  199. * Creator :
  200. * Make Date : 2017-06-19
  201. * Description :
  202. *---------------------------------------------------------------------------------------
  203. * Modify Date Modifier Modify Description
  204. *---------------------------------------------------------------------------------------
  205. * 2017-06-19 Live Converter TF->XP
  206. *
  207. *---------------------------------------------------------------------------------------
  208. ****************************************************************************************/
  209. include "com_commonxp::comm_main.xjs";
  210. include "mis_miscommonxp::MIS.xjs";
  211. include "mis_humtrafactmngtxp::RPB001.xjs";
  212. include "mis_dligclaznsmngtxp::RPD001.xjs";
  213. var DUT_UNIT_CD = "";
  214. var DUT_UNIT_NM = "";
  215. function SMRPD04301_oninit(obj:Form, e:InitEventInfo)
  216. {
  217. frmf_initForm(obj);
  218. }
  219. function SMRPD04301_onload(obj:Form, e:LoadEventInfo)
  220. {
  221. grdf_initGrid(grd_dutscheapplist);
  222. grdf_setRowTypeIcon(grd_dutscheapplist, 0);
  223. fInit();
  224. }
  225. function fInit()
  226. {
  227. misfGridInit(grd_dutscheapplist);
  228. var dt = new Date(String(utlf_getCurrentDate()).substr(0, 4), String(utlf_getCurrentDate()).substr(4, 2), 0);
  229. var oParam = {};
  230. oParam.id = "TRRPD10102";
  231. oParam.service = "dligclaznsmngtapp.DutAppMngt";
  232. oParam.method = "reqGetDutymdInfo";
  233. oParam.inds = "req=ds_send_dutscheapp";
  234. oParam.outds = "ds_tempday_dutinfo_dutlist=dutlist";
  235. oParam.async = false;
  236. //oParam.callback = "cf_TRRPD10102";
  237. tranf_submit(oParam);
  238. group4.ipt_srvarmapfromdd.value = ds_tempday_dutinfo_dutlist.getColumn(0, "fromymd");
  239. group4.ipt_srvarmaptodd.value = ds_tempday_dutinfo_dutlist.getColumn(0, "toymd");
  240. misfComboInstCdListMulti("group4.cmb_instcd",group4.ipt_srvarmapfromdd.value,"","N");
  241. misfGetAndSetUserInfo();
  242. misfGetUserAuth();
  243. rpdfSetDutUnitCombo();
  244. ds_send_dutscheapp.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  245. ds_send_dutscheapp.enableevent = false;
  246. ds_send_dutscheapp.updatecontrol = false;
  247. ds_send_dutscheapp.setColumn(0, "emplno", sysf_getUserInfo("userid"));
  248. ds_send_dutscheapp.setColumn(0, "emplnm", sysf_getUserInfo("usernm"));
  249. ds_send_dutscheapp.updatecontrol = true;
  250. ds_send_dutscheapp.enableevent = true;
  251. ds_send_dutscheapp.setColumn(0, "dutunitcd", DUT_UNIT_CD);
  252. ds_send_dutscheapp.setColumn(0, "dutunitnm", DUT_UNIT_NM);
  253. ds_send_dutcd.setColumn(0, "dutunitcd", DUT_UNIT_CD);
  254. ds_send_dutcd.setColumn(0, "dutunitnm", DUT_UNIT_NM);
  255. group4_btn_search_onclick();
  256. rpdfSetControlByJobRespCd("group4.ipt_emplno,group4.btn_emplno,group4.ipt_emplnm");
  257. group4.btn_search.enable = (frmf_checkAuth("R"));
  258. if(DUTY_PART_YN == "Y")
  259. {
  260. group4.cmb_instcd.enable = true;
  261. group4.ipt_emplno.enable = true;
  262. group4.btn_emplno.enable = true;
  263. group4.ipt_emplnm.enable = true;
  264. //group4.btn_search.enable = true;
  265. }
  266. else
  267. {
  268. group4.cmb_instcd.enable = false;
  269. group4.ipt_emplno.enable = false;
  270. group4.btn_emplno.enable = false;
  271. group4.ipt_emplnm.enable = false;
  272. //group4.btn_search.enable = false;
  273. }
  274. }
  275. function group4_btn_search_onclick(obj:Button, e:ClickEventInfo)
  276. {
  277. fRetrieve();
  278. }
  279. function group4_ipt_srvarmapfromdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  280. {
  281. var instcd = group4.cmb_instcd.value;
  282. if( utlf_getStringLength(obj.value) == "8" )
  283. {
  284. dsf_makeValue(ds_send_dutscheapp, "instcd", "string", "", 0);
  285. misfComboInstCdListMulti("group4.cmb_instcd",obj.value,"","N");
  286. group4.cmb_instcd.value = instcd;
  287. }
  288. }
  289. function group4_btn_emplno_onclick(obj:Button, e:ClickEventInfo)
  290. {
  291. rpbfOpenPopUpList("SPRPB00101", group4.ipt_emplno.value, "group4.emplno,group4.emplnm,group4.dutunitcd,group4.dutunitnm", "", "N");
  292. ds_send_dutcd.setColumn(0, "dutunitcd", ds_send_dutscheapp.getColumn(0, "dutunitcd"));
  293. ds_send_dutcd.setColumn(0, "dutunitnm", ds_send_dutscheapp.getColumn(0, "dutunitnm"));
  294. }
  295. function fRetrieve()
  296. {
  297. if(utlf_isNull(group4.ipt_emplno.value) || utlf_isNull(group4.ipt_emplnm.value))
  298. {
  299. sysf_messageBox("사원번호를", "C001");
  300. return;
  301. }
  302. ds_send_dutcd.setColumn(0, "instcd", ds_send_dutscheapp.getColumn(0, "instcd"));
  303. ds_send_dutcd.setColumn(0, "deptcd", ds_send_dutscheapp.getColumn(0, "dutunitcd"));
  304. var oParam = {};
  305. oParam.id = "TRRPD04302";
  306. oParam.service = "dligclaznsmngtapp.DutAppMngt";
  307. oParam.method = "reqGetDutOverApp2List";
  308. oParam.inds = "req=ds_send_dutscheapp";
  309. oParam.outds = "ds_main_dutscheapp_dutscheapplist=dutscheapplist";
  310. oParam.async = false;
  311. //oParam.callback = "cf_TRRPD04302";
  312. tranf_submit(oParam);
  313. for(var i = 1; i < ds_main_dutscheapp_dutscheapplist.rowcount; i++)
  314. {
  315. var sCnfmYn = ds_main_dutscheapp_dutscheapplist.getColumn(i, "deprtmangraprvyn");
  316. if(sCnfmYn == "Y")
  317. {
  318. misfSetReadOnlyCol(grd_dutscheapplist, "dutcd,srvarmappdd,srvarmfromdd,srvarmtodd,appresn", true, i);
  319. }
  320. else
  321. {
  322. misfSetReadOnlyCol(grd_dutscheapplist, "dutcd,srvarmappdd,srvarmfromdd,srvarmtodd,appresn", false, i);
  323. }
  324. }
  325. }
  326. function btn_grdadddutscheapplist_onclick(obj:Button, e:ClickEventInfo)
  327. {
  328. fAddRow();
  329. }
  330. function fAddRow()
  331. {
  332. if(utlf_isNull(group4.ipt_emplno.value) || utlf_isNull(group4.ipt_emplnm.value))
  333. {
  334. sysf_messageBox("사원번호를", "C001");
  335. return;
  336. }
  337. var ymd = utlf_getCurrentDate() + utlf_getCurrentTime();
  338. var row = ds_main_dutscheapp_dutscheapplist.addRow();
  339. //misfGridIUD(grd_dutscheapplist, "A");
  340. dsf_makeValue(ds_main_dutscheapp_dutscheapplist, "deprtmangraprvyn", "string", "N", row);
  341. dsf_makeValue(ds_main_dutscheapp_dutscheapplist, "psnworkapryn", "string", "N", row);
  342. dsf_makeValue(ds_main_dutscheapp_dutscheapplist, "appdd", "string", utlf_getCurrentDate(), row);
  343. dsf_makeValue(ds_main_dutscheapp_dutscheapplist, "dutymd", "string", String(ymd).substr(0,12), row);
  344. dsf_makeValue(ds_main_dutscheapp_dutscheapplist, "emplno", "string", ds_send_dutscheapp.getColumn(0, "emplno"), row);
  345. grd_dutscheapplist.setCellPos(grd_dutscheapplist.getBindCellIndex("Body", "dutcd"));
  346. grd_dutscheapplist.showEditor(true);
  347. }
  348. function btn_grddeldutscheapplist_onclick(obj:Button, e:ClickEventInfo)
  349. {
  350. fDelRow();
  351. }
  352. function fDelRow()
  353. {
  354. var iRowIdx = ds_main_dutscheapp_dutscheapplist.rowposition;
  355. var sCnfmYn = ds_main_dutscheapp_dutscheapplist.getColumn(iRowIdx, "deprtmangraprvyn");
  356. var sCnfm2Yn = ds_main_dutscheapp_dutscheapplist.getColumn(iRowIdx, "psnworkapryn");
  357. if(sCnfmYn == "Y" || sCnfm2Yn == "Y")
  358. {
  359. sysf_messageBox("부서장이나 인사팀 승인이 난 내역은 삭제 할 수 없습니다.", "I999");
  360. return;
  361. }
  362. else
  363. {
  364. ds_main_dutscheapp_dutscheapplist.updatecontrol = false;
  365. ds_main_dutscheapp_dutscheapplist.setRowType(iRowIdx, "d");
  366. ds_main_dutscheapp_dutscheapplist.updatecontrol = true;
  367. }
  368. }
  369. function grd_dutscheapplist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  370. {
  371. if (ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "iudgb") != "U")
  372. {
  373. var yoil = ds_tempday_dutinfo_dutlist.getColumn(0, "yoil");
  374. if (utlf_isNull(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "dutcd")))
  375. {
  376. sysf_messageBox("근무코드를 선택한 후 진행하시기 바랍니다.", "E999", "");
  377. return;
  378. }
  379. if (yoil == 8 && ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "dutcd") == "03")
  380. {
  381. if (DUT_PLCEDEPT_CD == "4060100000" || DUT_PLCEDEPT_CD == "3250100000")
  382. {
  383. }
  384. else
  385. {
  386. sysf_messageBox("평일은 휴일 근무를 선택할 수 없습니다.", "E999", "");
  387. return;
  388. }
  389. }
  390. if(e.col == grd_dutscheapplist.getBindCellIndex("Body", "appfrom"))
  391. {
  392. if(utlf_isNull(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom")))
  393. {
  394. if (yoil == "8")
  395. {
  396. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom", utlf_getCurrentDate()+String(utlf_getCurrentTime()).substr(0,4));
  397. }
  398. else
  399. {
  400. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom", utlf_getCurrentDate()+String(utlf_getCurrentTime()).substr(0,4));
  401. }
  402. }
  403. }
  404. if(e.col == grd_dutscheapplist.getBindCellIndex("Body", "appto"))
  405. {
  406. if (yoil == "8")
  407. {
  408. if (utlf_isNull(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom")))
  409. {
  410. sysf_messageBox("시작시간을 먼저 설정하시기 바랍니다.", "E999", "");
  411. return;
  412. }
  413. }
  414. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto", utlf_getCurrentDate()+String(utlf_getCurrentTime()).substr(0,4));
  415. var appfrom = ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom");
  416. var appto = String(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto"));
  417. var frDate = appfrom.substr(0, 8);
  418. var frTime = appfrom.substr(8, 4);
  419. var toDate = appto.substr(0, 8);
  420. var toTime = appto.substr(8, 4);
  421. var dutTime = rpdfGetCalcDutyTime(frDate, frTime, toDate, toTime);
  422. var dutTime_v = parseInt(dutTime / 60);
  423. var dutMin_v = dutTime % 60;
  424. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "apptm", dutTime_v);
  425. }
  426. }
  427. else
  428. {
  429. if(e.col == grd_dutscheapplist.getBindCellIndex("Body", "appto"))
  430. {
  431. if (yoil != "8")
  432. {
  433. if (utlf_isNull(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom")))
  434. {
  435. sysf_messageBox("시작시간을 먼저 설정하시기 바랍니다.", "E999", "");
  436. return;
  437. }
  438. }
  439. if (utlf_isNull(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto")))
  440. {
  441. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto", utlf_getCurrentDate()+String(utlf_getCurrentTime()).substr(0,4));
  442. var appfrom = ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom");
  443. var appto = String(ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto"));
  444. var frDate = appfrom.substr(0, 8);
  445. var frTime = appfrom.substr(8, 4);
  446. var toDate = appto.substr(0, 8);
  447. var toTime = appto.substr(8, 4);
  448. var dutTime = rpdfGetCalcDutyTime(frDate, frTime, toDate, toTime);
  449. var dutTime_v = parseInt(dutTime / 60);
  450. var dutMin_v = dutTime % 60;
  451. ds_main_dutscheapp_dutscheapplist.setColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "apptm", dutTime_v);
  452. }
  453. }
  454. }
  455. }
  456. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  457. {
  458. fSave();
  459. }
  460. function fSave()
  461. {
  462. fSetHoliLen();
  463. var yoil = ds_tempday_dutinfo_dutlist.getColumn(0, "yoil");
  464. for(var i = 0; i < ds_main_dutscheapp_dutscheapplist.rowcount; i++)
  465. {
  466. var iudgb = ds_main_dutscheapp_dutscheapplist.getColumn(i, "iudgb");
  467. if (iudgb != "U")
  468. {
  469. var sapptm = ds_main_dutscheapp_dutscheapplist.getColumn(i, "apptm");
  470. var sDutCd = ds_main_dutscheapp_dutscheapplist.getColumn(i, "dutcd");
  471. var sFromDD = ds_main_dutscheapp_dutscheapplist.getColumn(i, "appfrom");
  472. var sToDD = ds_main_dutscheapp_dutscheapplist.getColumn(i, "appto");
  473. var sAppResn = ds_main_dutscheapp_dutscheapplist.getColumn(i, "appresn");
  474. var sCnfmYn = ds_main_dutscheapp_dutscheapplist.getColumn(i, "deprtmangraprvyn");
  475. var sCnfm2Yn = ds_main_dutscheapp_dutscheapplist.getColumn(i, "psnworkapryn");
  476. if (sDutCd == "03")
  477. {
  478. if (yoil == "0" && parseInt(sapptm) < 9)
  479. {
  480. sysf_messageBox("휴일근무는 9시간이 넘어야 가능합니다. 시간외로 신청바랍니다.", "E999", "");
  481. return;
  482. }
  483. }
  484. }
  485. else
  486. {
  487. if (ds_main_dutscheapp_dutscheapplist.getRowType(i) == 8)
  488. {
  489. if(sCnfmYn == "Y" || sCnfm2Yn == "Y")
  490. {
  491. sysf_messageBox("부서장이나 인사팀 승인이 난 내역은 수정 할 수 없습니다.", "I999");
  492. return;
  493. }
  494. }
  495. }
  496. }
  497. var oParam = {};
  498. oParam.id = "TXRPD04302";
  499. oParam.service = "dligclaznsmngtapp.DutAppMngt";
  500. oParam.method = "reqExeSaveDutOverApp2List";
  501. oParam.inds = "req=ds_main_dutscheapp_dutscheapplist:u";
  502. oParam.outds = "";
  503. oParam.async = false;
  504. oParam.callback = "cf_TXRPD04302";
  505. tranf_submit(oParam);
  506. }
  507. function cf_TXRPD04302(sSvcId, nErrorCode, sErrorMsg)
  508. {
  509. if(nErrorCode < 0)
  510. {
  511. return;
  512. }
  513. else
  514. {
  515. fRetrieve();
  516. }
  517. }
  518. function fSetHoliLen()
  519. {
  520. var sFromDD = ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appfrom");
  521. var sToDD = ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "appto");
  522. var sDutCd = ds_main_dutscheapp_dutscheapplist.getColumn(ds_main_dutscheapp_dutscheapplist.rowposition, "dutcd");
  523. if (!utlf_isNull(sFromDD) && !utlf_isNull(sToDD))
  524. {
  525. if (sFromDD > sToDD)
  526. {
  527. sysf_messageBox("기간 설정이 잘못 입력되었습니다.", "E999", "");
  528. return;
  529. }
  530. }
  531. }
  532. function ds_send_dutscheapp_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  533. {
  534. if(e.columnid == "emplno"){
  535. var setFocus = this.getFocus();
  536. group4.ipt_emplno.setFocus();
  537. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  538. ds_send_dutcd.setColumn(0, "dutunitcd", ds_send_dutscheapp.getColumn(0, "dutunitcd"));
  539. ds_send_dutcd.setColumn(0, "dutunitnm", ds_send_dutscheapp.getColumn(0, "dutunitnm"));
  540. setFocus.setFocus();
  541. group4_btn_search_onclick();
  542. }
  543. }
  544. function group4_ipt_emplno_onkeydown(obj:Edit, e:KeyEventInfo)
  545. {
  546. if(e.keycode == 13){
  547. obj.updateToDataset();
  548. }
  549. }
  550. ]]></Script>
  551. </Form>
  552. </FDL>