SMRPD10000_개인근무변경신청.xfdl 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD10000" position="absolute 0 0 1204 810" titletext="개인 근무 변경 신청" oninit="SMRPD10000_oninit" onload="SMRPD10000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1195 25" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="개인근무변경신청" position="absolute 0 0 149 25" id="caption6" class="tit_1"/>
  11. <Static id="caption4" class="patient_text_black"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Div position="absolute 0 62 1195 806" id="group3" scrollbars="autoboth">
  16. <Layouts>
  17. <Layout>
  18. <Grid position="absolute 0 74 1005 710" id="grd_chngapplist" binddataset="ds_main_list_chngapplist" selecttype="multirow" autoenter="select">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="25"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="80"/>
  26. <Column size="100"/>
  27. <Column size="100"/>
  28. <Column size="112"/>
  29. <Column size="111"/>
  30. <Column size="100"/>
  31. <Column size="363"/>
  32. <Column size="0"/>
  33. </Columns>
  34. <Rows>
  35. <Row size="24" band="head"/>
  36. <Row size="24"/>
  37. </Rows>
  38. <Band id="head">
  39. <Cell/>
  40. <Cell col="1" text="기관코드"/>
  41. <Cell col="2" text="근무무서"/>
  42. <Cell col="3" text="사원번호"/>
  43. <Cell col="4" text="성명"/>
  44. <Cell col="5" text="근무일자"/>
  45. <Cell col="6" text="변경전 근무코드"/>
  46. <Cell col="7" text="변경후 근무코드"/>
  47. <Cell col="8" text="신청일"/>
  48. <Cell col="9" text="신청사유"/>
  49. <Cell col="10" text="확인"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell celltype="head"/>
  53. <Cell col="1" text="bind:instcd"/>
  54. <Cell col="2" text="bind:dutunitcd"/>
  55. <Cell col="3" style="align:center middle;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:emplno"/>
  56. <Cell col="4" style="align:center middle;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:emplnm"/>
  57. <Cell col="5" displaytype="date" edittype="expr:ds_main_list_chngapplist.getRowType(currow) == 2 ? 'date': 'none'" style="align:center middle;padding:0 0 0 0;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:dutdd" calendardisplay="display" calendardisplaynulltype="none"/>
  58. <Cell col="6" style="align:center middle;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:beforedutcd"/>
  59. <Cell col="7" displaytype="text" edittype="text" style="align:center middle;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:afterdutcd"/>
  60. <Cell col="8" displaytype="date" edittype="expr:ds_main_list_chngapplist.getRowType(currow) == 2 ? 'date': 'none'" style="align:center middle;padding:0 0 0 0;background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:appdd" calendardisplay="display" calendardisplaynulltype="none"/>
  61. <Cell col="9" displaytype="text" edittype="expr:ds_main_list_chngapplist.getRowType(currow) == 2 ? 'text': 'none'" style="background:EXPR(cnfm =='Y' ? '#DDDDDD' : '');background2:EXPR(cnfm =='Y' ? '#DDDDDD' : '');" text="bind:appresn"/>
  62. <Cell col="10" text="bind:cnfm"/>
  63. </Band>
  64. </Format>
  65. </Formats>
  66. </Grid>
  67. <Shape position="absolute 0 70 1005 76" linetype="horizontal" id="line2" class="line_10"/>
  68. <Div position="absolute 0 10 1195 45" align="align:center top;" id="group4">
  69. <Layouts>
  70. <Layout>
  71. <Shape position="absolute 0 0 1195 35" id="roundrect2" type="roundrectangle"/>
  72. <Static text="근무년월 :" position="absolute 275 9 361 26" id="caption5" class="search_name"/>
  73. <Shape position="absolute 1107 7 1113 29" linetype="vertical" id="line3" class="line_4"/>
  74. <Static text="사원번호 :" position="absolute 514 9 600 26" id="caption1" class="search_name"/>
  75. <Button position="absolute 1125 7 1181 29" align="align:left middle;" id="btn_search" class="btn1" taborder="4" text="조회" onclick="group3_group4_btn_search_onclick"/>
  76. <Button position="absolute 692 10 708 26" id="btn_emplhelp" class="icon_search" text="" onclick="group3_group4_btn_emplhelp_onclick"/>
  77. <Edit position="absolute 602 8 687 27" align="align:center middle;" id="ipt_emplno" class="input_essential" taborder="2" style="align:center middle;" onkeydown="group3_group4_ipt_emplno_onkeydown"/>
  78. <Edit position="absolute 713 8 847 27" id="ipt_emplnm" class="input_essential" taborder="3" onkeydown="group3_group4_ipt_emplnm_onkeydown"/>
  79. <Calendar position="absolute 364 8 495 27" align="align:center middle;" id="ipt_dutym" class="input_essential" taborder="1" mask="yyyy-mm" style="align:center middle;" dateformat="yyyy-MM" value="null" editformat="yyyy-MM" autoselect="true" autoskip="true" onchanged="group3_group4_ipt_dutym_onchanged"/>
  80. <Edit position="absolute 1075 10 1100 29" id="opt_dutdeptnm" enable="false" taborder="2" visible="false" class="output"/>
  81. <Edit position="absolute 1050 10 1075 29" id="opt_dutdeptcd" enable="false" taborder="2" visible="false" class="output"/>
  82. <Combo position="absolute 102 8 255 27" id="cmb_instcd" class="combo_search" taborder="1" onitemchanged="group3_group4_cmb_instcd_onitemchanged"/>
  83. <Static text="소속기관 :" position="absolute 14 9 100 26" id="caption10" class="search_name"/>
  84. </Layout>
  85. </Layouts>
  86. </Div>
  87. <Static text="변경신청내역" position="absolute 0 53 108 69" id="caption8" class="tit_2"/>
  88. <Button position="absolute 891 49 944 68" id="btn_addrow" class="btn2" text="행추가" onclick="group3_btn_addrow_onclick"/>
  89. <Button position="absolute 946 49 999 68" id="btn_delrow" class="btn2" text="행삭제" onclick="group3_btn_delrow_onclick"/>
  90. <Grid position="absolute 1010 74 1195 740" id="grd_dutcdlist" binddataset="ds_main_dutcd_dutcdlist" oncelldblclick="group3_grd_dutcdlist_oncelldblclick" cellsizingtype="col">
  91. <Formats>
  92. <Format id="default">
  93. <Columns>
  94. <Column size="41"/>
  95. <Column size="126"/>
  96. <Column size="0"/>
  97. <Column size="0"/>
  98. <Column size="0"/>
  99. <Column size="0"/>
  100. </Columns>
  101. <Rows>
  102. <Row size="24" band="head"/>
  103. <Row size="24" band="head"/>
  104. <Row size="24"/>
  105. </Rows>
  106. <Band id="head">
  107. <Cell rowspan="2" text="근무&#10;코드"/>
  108. <Cell col="1" rowspan="2" text="근무명"/>
  109. <Cell col="2" rowspan="2" text="근무시간"/>
  110. <Cell col="3" rowspan="2" text="Day인원"/>
  111. <Cell col="4" rowspan="2" text="Evening인원"/>
  112. <Cell col="5" rowspan="2" text="Night인원"/>
  113. </Band>
  114. <Band id="body">
  115. <Cell style="align:left middle;font:arial,8;" text="bind:dutcd"/>
  116. <Cell col="1" style="align:left middle;font:arial,8;" text="bind:dutnm"/>
  117. <Cell col="2" text="bind:duttm"/>
  118. <Cell col="3" text="bind:daycnt"/>
  119. <Cell col="4" text="bind:eveningpsnno"/>
  120. <Cell col="5" text="bind:nigtpsnno"/>
  121. </Band>
  122. </Format>
  123. </Formats>
  124. </Grid>
  125. <Static text="근무코드" position="absolute 1010 53 1175 69" id="caption2" class="tit_2"/>
  126. <Shape position="absolute 1012 70 1194 76" linetype="horizontal" id="line1" class="line_10"/>
  127. <Static text="확인" position="absolute 155 51 185 66" id="caption3"/>
  128. <Static text="미확인" position="absolute 220 51 270 66" id="caption7"/>
  129. <Edit readonly="true" position="absolute 130 49 150 68" id="output1" style="background:#ddddddff stretch 5,5;border:1 solid #808080ff ;"/>
  130. <Edit readonly="true" position="absolute 195 49 215 68" id="output2" style="border:1 solid #808080ff ;"/>
  131. <Static text="개인 근무 변경 신청된 내역은 관리자의 승인 후 근무표에 반영되므로 반드시 협의가 필요합니다." position="absolute 0 716 1005 736" align="align:center middle;" id="caption9" style="color:#ff0000ff;align:center middle;font:Dotum,12,bold;"/>
  132. <Grid position="absolute 715 200 1065 350" id="datagrid1" visible="false" binddataset="ds_main_daylist">
  133. <Formats>
  134. <Format id="default">
  135. <Columns>
  136. <Column size="100"/>
  137. <Column size="100"/>
  138. <Column size="100"/>
  139. </Columns>
  140. <Rows>
  141. <Row size="24" band="head"/>
  142. <Row size="24"/>
  143. </Rows>
  144. <Band id="head">
  145. <Cell text="caption1"/>
  146. <Cell col="1" text="caption2"/>
  147. <Cell col="2" text="caption3"/>
  148. </Band>
  149. <Band id="body">
  150. <Cell text="bind:basedd"/>
  151. <Cell col="1" text="bind:holiflag"/>
  152. <Cell col="2" text="bind:daynm"/>
  153. </Band>
  154. </Format>
  155. </Formats>
  156. </Grid>
  157. </Layout>
  158. </Layouts>
  159. </Div>
  160. <Div position="absolute 0 26 1195 57" id="group5" scrollbars="none">
  161. <Layouts>
  162. <Layout>
  163. <Shape position="absolute 0 46 1195 52" linetype="vertical" id="line4" class="line_6" anchor="default"/>
  164. <Button position="absolute 1135 3 1191 25" id="btn_save" class="btn4" text="저장" anchor="default" onclick="group5_btn_save_onclick"/>
  165. </Layout>
  166. </Layouts>
  167. </Div>
  168. </Layout>
  169. </Layouts>
  170. <Objects>
  171. <Dataset id="ds_main_list_chngapplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_list_chngapplist_oncolumnchanged"/>
  172. <Dataset id="ds_main_dutcd_dutcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  173. <Dataset id="ds_main_daylist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  174. <ColumnInfo>
  175. <Column id="basedd" type="STRING" size="256"/>
  176. <Column id="holiflag" type="STRING" size="256"/>
  177. <Column id="daynm" type="STRING" size="256"/>
  178. </ColumnInfo>
  179. <Rows>
  180. <Row/>
  181. </Rows>
  182. </Dataset>
  183. <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">
  184. <ColumnInfo>
  185. <Column id="instcd" type="STRING" size="256"/>
  186. <Column id="dutym" type="STRING" size="256"/>
  187. <Column id="emplno" type="STRING" size="256"/>
  188. <Column id="emplnm" type="STRING" size="256"/>
  189. <Column id="dutunitcd" type="STRING" size="256"/>
  190. <Column id="dutunitnm" type="STRING" size="256"/>
  191. </ColumnInfo>
  192. <Rows>
  193. <Row>
  194. <Col id="instcd"/>
  195. <Col id="dutym"/>
  196. <Col id="emplno"/>
  197. <Col id="emplnm"/>
  198. <Col id="dutunitcd"/>
  199. <Col id="dutunitnm"/>
  200. </Row>
  201. </Rows>
  202. </Dataset>
  203. <Dataset id="ds_send_retrparams2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  204. <ColumnInfo>
  205. <Column id="instcd" type="STRING" size="256"/>
  206. <Column id="dutymd" type="STRING" size="256"/>
  207. <Column id="emplno" type="STRING" size="256"/>
  208. <Column id="dutym" type="STRING" size="256"/>
  209. <Column id="daycnt" type="STRING" size="256"/>
  210. </ColumnInfo>
  211. <Rows>
  212. <Row>
  213. <Col id="instcd"/>
  214. <Col id="dutymd"/>
  215. <Col id="emplno"/>
  216. <Col id="dutym"/>
  217. <Col id="daycnt"/>
  218. </Row>
  219. </Rows>
  220. </Dataset>
  221. <Dataset id="ds_send_dutcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  222. <ColumnInfo>
  223. <Column id="instcd" type="STRING" size="256"/>
  224. <Column id="dutunitcd" type="STRING" size="256"/>
  225. <Column id="dutunitnm" type="STRING" size="256"/>
  226. </ColumnInfo>
  227. <Rows>
  228. <Row/>
  229. </Rows>
  230. </Dataset>
  231. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  232. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  233. </Objects>
  234. <Bind>
  235. <BindItem id="item0" compid="group3.group4.ipt_emplno" propid="value" datasetid="ds_send_retrparams" columnid="emplno"/>
  236. <BindItem id="item1" compid="group3.group4.ipt_emplnm" propid="value" datasetid="ds_send_retrparams" columnid="emplnm"/>
  237. <BindItem id="item2" compid="group3.group4.ipt_dutym" propid="value" datasetid="ds_send_retrparams" columnid="dutym"/>
  238. <BindItem id="item3" compid="group3.group4.opt_dutdeptnm" propid="value" datasetid="ds_send_dutcd" columnid="dutunitnm"/>
  239. <BindItem id="item4" compid="group3.group4.opt_dutdeptcd" propid="value" datasetid="ds_send_dutcd" columnid="dutunitcd"/>
  240. <BindItem id="item5" compid="group3.group4.cmb_instcd" propid="value" datasetid="ds_send_retrparams" columnid="instcd"/>
  241. </Bind>
  242. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  243. * System Name :
  244. * Job Name :
  245. * Creator :
  246. * Make Date : 2017-06-19
  247. * Description :
  248. *---------------------------------------------------------------------------------------
  249. * Modify Date Modifier Modify Description
  250. *---------------------------------------------------------------------------------------
  251. * 2017-06-19 Live Converter TF->XP
  252. *
  253. *---------------------------------------------------------------------------------------
  254. ****************************************************************************************/
  255. include "com_commonxp::comm_main.xjs";
  256. include "mis_miscommonxp::MIS.xjs";
  257. include "mis_dligclaznsmngtxp::RPD001.xjs";
  258. include "mis_humtrafactmngtxp::RPB001.xjs";
  259. function SMRPD10000_oninit(obj:Form, e:InitEventInfo)
  260. {
  261. frmf_initForm(obj); //폼 초기화
  262. }
  263. function SMRPD10000_onload(obj:Form, e:LoadEventInfo)
  264. {
  265. grdf_setRowTypeIcon(group3.grd_chngapplist,0);
  266. fInit();
  267. }
  268. function fInit()
  269. {
  270. ds_main_list_chngapplist.clearData();
  271. ds_send_retrparams.updatecontrol = false;
  272. ds_send_retrparams.enableevent = false;
  273. ds_send_retrparams.setColumn(0, "dutym", utlf_getCurrentDate().substr(0, 6));
  274. ds_send_retrparams.setColumn(0, "emplno", sysf_getUserInfo("userid"));
  275. ds_send_retrparams.setColumn(0, "emplnm", sysf_getUserInfo("usernm"));
  276. ds_send_retrparams.enableevent = true;
  277. ds_send_retrparams.updatecontrol = true;
  278. misfMsterDetailSet(group3.grd_chngapplist, null, "TRRPD10001", "Y");
  279. //화면 권한 설정
  280. group3.group4.btn_search.enable = (frmf_checkAuth("R"));
  281. group5.btn_save.enable = (frmf_checkAuth("X"));
  282. misfComboInstCdListMulti("group3.group4.cmb_instcd",utlf_getCurrentDate(),"","N");
  283. misfGetAndSetUserInfo();
  284. misfGetUserAuth();
  285. ds_send_dutcd.setColumn(0, "dutunitcd", DUT_UNIT_CD);
  286. ds_send_dutcd.setColumn(0, "dutunitnm", DUT_UNIT_NM);
  287. ds_send_retrparams.setColumn(0, "emplno", sysf_getUserInfo("userid"));
  288. ds_send_retrparams.setColumn(0, "emplnm", sysf_getUserInfo("usernm"));
  289. ds_send_retrparams2.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  290. ds_send_retrparams.updatecontrol = false;
  291. ds_send_retrparams.enableevent = false;
  292. ds_send_retrparams.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  293. ds_send_retrparams.enableevent = true;
  294. ds_send_retrparams.updatecontrol = true;
  295. ds_send_dutcd.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  296. if(sysf_getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  297. {
  298. group3.group4.cmb_instcd.enable = true;
  299. }
  300. else
  301. {
  302. group3.group4.cmb_instcd.enable = false;
  303. }
  304. group3.group4.btn_search.enable = (frmf_checkAuth("R"));
  305. group5.btn_save.enable = (frmf_checkAuth("X"));
  306. ds_send_dutcd.addColumn("deptcd", "string");
  307. ds_send_dutcd.setColumn(0, "deptcd", ds_send_dutcd.getColumn(0, "dutunitcd"));
  308. var oParam = {};
  309. oParam.id = "TRRPD03702";
  310. oParam.service = "dligclaznsmngtapp.DeptDutyCodeMngt";
  311. oParam.method = "reqGetDeptDutyCodeList";
  312. oParam.inds = "req=ds_send_dutcd";
  313. oParam.outds = "ds_main_dutcd_dutcdlist=deptdutcdlist";
  314. oParam.async = false;
  315. tranf_submit(oParam);
  316. ds_main_dutcd_dutcdlist.rowposition = -1;
  317. ds_main_daylist.clearData();
  318. ds_send_retrparams.addColumn("basedd", "string");
  319. ds_send_retrparams.setColumn(0, "basedd", ds_send_retrparams.getColumn(0, "dutym"));
  320. var oParam = {};
  321. oParam.id = "TRRPD02005";
  322. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  323. oParam.method = "reqGetDayList";
  324. oParam.inds = "req=ds_send_retrparams";
  325. oParam.outds = "ds_main_daylist=daylist";
  326. oParam.async = false;
  327. tranf_submit(oParam);
  328. frmf_inputEnterKey("group3.group4.btn_search", "onclick", new ClickEventInfo );
  329. rpdfSetControlByJobRespCd("group3.group4.ipt_emplno,group3.group4.btn_emplhelp,group3.group4.ipt_emplnm");
  330. }
  331. function ds_main_list_chngapplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  332. {
  333. if(e.columnid == "dutdd" && !utlf_isNull(ds_main_list_chngapplist.getColumn(ds_main_list_chngapplist.rowposition, "dutdd")))
  334. {
  335. var sdutdd = utlf_transNullToEmpty(group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","dutdd")));
  336. ds_main_daylist.filter("basedd=='"+ sdutdd +"'");
  337. var sdutgb = ds_main_daylist.rowcount;
  338. ds_main_daylist.filter("");
  339. if (eval(sdutgb )== 0){
  340. sysf_messageBox(sdutdd + "의 근무일자는 해당 근무년월에 없는 일자입니다.", "E999", "");
  341. ds_main_list_chngapplist.updatecontrol = false;
  342. ds_main_list_chngapplist.enableevent = false;
  343. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "dutdd", "");
  344. ds_main_list_chngapplist.enableevent = true;
  345. ds_main_list_chngapplist.updatecontrol = true;
  346. return;
  347. }
  348. var k = ds_main_daylist.findRow("basedd", sdutdd);
  349. if (k < 10){
  350. daycnt = "0" + k;
  351. }else{
  352. daycnt = k;
  353. }
  354. ds_send_retrparams2.setColumn(0, "instcd" , group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","instcd")));
  355. ds_send_retrparams2.setColumn(0, "dutymd" , group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","dutdd")));
  356. ds_send_retrparams2.setColumn(0, "emplno" , group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","emplno")));
  357. ds_send_retrparams2.setColumn(0, "dutym" , ds_send_retrparams.getColumn(0, "dutym"));
  358. ds_send_retrparams2.setColumn(0, "daycnt" , daycnt);
  359. var oParam = {};
  360. oParam.id = "TRRPD10002";
  361. oParam.service = "dligclaznsmngtapp.DutAppMngt";
  362. oParam.method = "reqGetPriDutList";
  363. oParam.inds = "req=ds_send_retrparams2";
  364. oParam.outds = "ds_temp=pridutcd";
  365. oParam.async = false;
  366. tranf_submit(oParam);
  367. ds_main_list_chngapplist.addColumn("beforedutcd", "string");
  368. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "beforedutcd", ds_temp.getColumn(0, "dutcd"));
  369. }
  370. else if(e.columnid == "afterdutcd")
  371. {
  372. var sDutCd = group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","afterdutcd"));
  373. var node = ds_main_dutcd_dutcdlist.lookup("dutcd", sDutCd.toUpperCase(), "dutcd");
  374. if( utlf_isNull(node))
  375. {
  376. sysf_messageBox("등록되지 않은 근무코드를 사용", "E001");
  377. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "afterdutcd", "");
  378. return;
  379. }
  380. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "afterdutcd", sDutCd.toUpperCase());
  381. }
  382. }
  383. function group3_group4_btn_search_onclick(obj:Button, e:ClickEventInfo)
  384. {
  385. fRetrieve();
  386. }
  387. function fRetrieve()
  388. {
  389. if( utlf_isNull(group3.group4.ipt_emplno.value) || utlf_isNull(group3.group4.ipt_emplnm.value) )
  390. {
  391. sysf_messageBox("사원번호를", "C001");
  392. return;
  393. }
  394. ds_main_list_chngapplist.clearData();
  395. misfMsterDetailRetrieve();
  396. //misfSetReadOnlyCol(group3.grd_chngapplist, "dutdd,appdd,appresn", true)
  397. for(var i=0; i<ds_main_list_chngapplist.rowcount; i++)
  398. {
  399. var sCnfm = group3.grd_chngapplist.getCellValue(i, group3.grd_chngapplist.getBindCellIndex("body","cnfm"));
  400. if(sCnfm == "Y")
  401. {
  402. //grd_chngapplist.rowStyle(i, "all", "background-color") = "#DDDDDD";
  403. }
  404. }
  405. }
  406. function group3_group4_btn_emplhelp_onclick(obj:Button, e:ClickEventInfo)
  407. {
  408. rpbfOpenPopUpList("SPRPB00101", group3.group4.ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
  409. fDutCdRetreive();
  410. }
  411. function fDutCdRetreive()
  412. {
  413. ds_send_dutcd.setColumn(0, "dutunitcd", ds_send_retrparams.getColumn(0, "dutunitcd"));
  414. ds_send_dutcd.setColumn(0, "dutunitnm", ds_send_retrparams.getColumn(0, "dutunitnm"));
  415. ds_send_dutcd.addColumn("deptcd", "string");
  416. ds_send_dutcd.setColumn(0, "deptcd", ds_send_dutcd.getColumn(0, "dutunitcd"));
  417. var oParam = {};
  418. oParam.id = "TRRPD03702";
  419. oParam.service = "dligclaznsmngtapp.DeptDutyCodeMngt";
  420. oParam.method = "reqGetDeptDutyCodeList";
  421. oParam.inds = "req=ds_send_dutcd";
  422. oParam.outds = "ds_main_dutcd_dutcdlist=deptdutcdlist";
  423. oParam.async = false;
  424. tranf_submit(oParam);
  425. frmf_inputEnterKey("group3.group4.btn_search", "onclick", new ClickEventInfo );
  426. }
  427. function group3_group4_ipt_emplno_onkeydown(obj:Edit, e:KeyEventInfo)
  428. {
  429. if( e.keycode == 13 ){
  430. if(group3.group4.ipt_emplno.value == group3.group4.ipt_emplno.text) return;
  431. group3.group4.ipt_emplno.value = group3.group4.ipt_emplno.text;
  432. group3.group4.ipt_emplno.setFocus();
  433. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  434. fDutCdRetreive();
  435. }
  436. }
  437. function ds_send_retrparams_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  438. {
  439. if(e.columnid == "emplno"){
  440. group3.group4.ipt_emplno.setFocus();
  441. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  442. fDutCdRetreive();
  443. }
  444. if(e.columnid == "emplnm"){
  445. group3.group4.ipt_emplnm.setFocus();
  446. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  447. fDutCdRetreive();
  448. }
  449. }
  450. function group3_group4_ipt_emplnm_onkeydown(obj:Edit, e:KeyEventInfo)
  451. {
  452. if( e.keycode == 13 ){
  453. if(group3.group4.ipt_emplnm.value == group3.group4.ipt_emplnm.text) return;
  454. group3.group4.ipt_emplnm.value = group3.group4.ipt_emplnm.text;
  455. group3.group4.ipt_emplnm.setFocus();
  456. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  457. fDutCdRetreive();
  458. }
  459. }
  460. function group3_btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  461. {
  462. fAddRow();
  463. }
  464. function fAddRow()
  465. {
  466. if( utlf_isNull(group3.group4.ipt_emplno.value) && utlf_isNull(group3.group4.ipt_emplnm.value))
  467. {
  468. sysf_messageBox("사원번호를", "C001");
  469. return;
  470. }
  471. misfGridIUD(group3.grd_chngapplist, "A");
  472. ds_main_list_chngapplist.addColumn("emplno", "string");
  473. ds_main_list_chngapplist.addColumn("emplnm", "string");
  474. ds_main_list_chngapplist.addColumn("appdd", "string");
  475. ds_main_list_chngapplist.addColumn("cnfm", "string");
  476. ds_main_list_chngapplist.addColumn("dutdd", "string");
  477. ds_main_list_chngapplist.addColumn("afterdutcd", "string");
  478. ds_main_list_chngapplist.addColumn("appresn", "string");
  479. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "emplno", group3.group4.ipt_emplno.value);
  480. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "emplnm", group3.group4.ipt_emplnm.value);
  481. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "appdd", utlf_getCurrentDate());
  482. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "cnfm", "N");
  483. //group3.grd_chngapplist.setCellPos(group3.grd_chngapplist.getBindCellIndex("body","dutdd"));
  484. //group3.grd_chngapplist.showEditor();
  485. }
  486. function group3_btn_delrow_onclick(obj:Button, e:ClickEventInfo)
  487. {
  488. fDelRow();
  489. }
  490. function fDelRow()
  491. {
  492. var oDs = this.objects[group3.grd_chngapplist.binddataset];
  493. var arrRows = grdf_getSelectedRows(group3.grd_chngapplist);
  494. for(var i=arrRows.length-1; i>=0; i--){
  495. var iRowIdx = arrRows[i];
  496. var sCnfmYn = group3.grd_chngapplist.getCellValue(iRowIdx, group3.grd_chngapplist.getBindCellIndex("body","cnfm"));
  497. if(sCnfmYn == "Y")
  498. {
  499. sysf_messageBox("승인이 난 내역은 삭제 할 수 없습니다.", "I999");
  500. continue;
  501. }
  502. else
  503. {
  504. if(ds_main_list_chngapplist.getRowType(iRowIdx) == 2)
  505. {
  506. oDs.deleteRow(iRowIdx)
  507. }
  508. else
  509. {
  510. grdf_setStatus(group3.grd_chngapplist, "D", arrRows);
  511. }
  512. }
  513. }
  514. }
  515. function group3_grd_dutcdlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  516. {
  517. if (ds_main_list_chngapplist.rowposition > -1)
  518. {
  519. if(group3.grd_chngapplist.getCellValue(ds_main_list_chngapplist.rowposition, group3.grd_chngapplist.getBindCellIndex("body","cnfm")) == "Y")
  520. {
  521. sysf_messageBox("선택하신 행은 이미 확인이 되었으므로 수정 할 수 없습니다.\n\n근무 확인후 근무변경 재 신청을 하십시오", "I999");
  522. return;
  523. }
  524. ds_main_list_chngapplist.setColumn(ds_main_list_chngapplist.rowposition, "afterdutcd", group3.grd_dutcdlist.getCellValue(ds_main_dutcd_dutcdlist.rowposition, group3.grd_dutcdlist.getBindCellIndex("body","dutcd")) );
  525. if(ds_main_list_chngapplist.getRowType(ds_main_list_chngapplist.rowposition) == 1)
  526. {
  527. ds_main_list_chngapplist.updatecontrol =false;
  528. ds_main_list_chngapplist.setRowType(ds_main_list_chngapplist.rowposition, "U");
  529. ds_main_list_chngapplist.updatecontrol =true;
  530. }
  531. }
  532. }
  533. function group5_btn_save_onclick(obj:Button, e:ClickEventInfo)
  534. {
  535. fSave();
  536. }
  537. function fSave()
  538. {
  539. for(var i=0; i<ds_main_list_chngapplist.rowcount; i++)
  540. {
  541. if(ds_main_list_chngapplist.getRowType(i) != 1 && ds_main_list_chngapplist.getRowType(i) != 8)
  542. {
  543. var sDutDD = group3.grd_chngapplist.getCellValue(i, group3.grd_chngapplist.getBindCellIndex("body","dutdd"));
  544. var sBeforeDutCd = group3.grd_chngapplist.getCellValue(i, group3.grd_chngapplist.getBindCellIndex("body","beforedutcd"));
  545. var sAfterDutCd = group3.grd_chngapplist.getCellValue(i, group3.grd_chngapplist.getBindCellIndex("body","afterdutcd"));
  546. var sAppResn = group3.grd_chngapplist.getCellValue(i, group3.grd_chngapplist.getBindCellIndex("body","appresn"));
  547. if( utlf_isNull(sDutDD) || utlf_isNull(sBeforeDutCd) || utlf_isNull(sAfterDutCd) || utlf_isNull(sAppResn) )
  548. {
  549. sysf_messageBox("[ 근무일자 | 변경전 근무코드 | 변경후 근무코드 | 신청사유 ]는 입력 해야 합니다.", "I999");
  550. return;
  551. }
  552. }
  553. }
  554. sysf_messageBox("UM의 승인없이는 번표에 반영되지 않습니다.", "I999");
  555. misfSave("TXRPD10001");
  556. }
  557. function group3_group4_ipt_dutym_onchanged(obj:Calendar, e:ChangeEventInfo)
  558. {
  559. var instcd = group3.group4.cmb_instcd.value;
  560. if( utlf_getStringLength( utlf_transNullToEmpty(String(group3.group4.ipt_dutym.value)) ) == "6" ) {
  561. ds_send_retrparams.setColumn(0, "instcd", "");
  562. misfComboInstCdListMulti("group3.group4.cmb_instcd",group3.group4.ipt_dutym.value+"31","","N");
  563. group3.group4.cmb_instcd.value = instcd;
  564. ds_main_daylist.clearData();
  565. ds_send_retrparams.addColumn("basedd", "string");
  566. ds_send_retrparams.setColumn(0, "basedd", ds_send_retrparams.getColumn(0, "dutym"));
  567. var oParam = {};
  568. oParam.id = "TRRPD02005";
  569. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  570. oParam.method = "reqGetDayList";
  571. oParam.inds = "req=ds_send_retrparams";
  572. oParam.outds = "ds_main_daylist=daylist";
  573. oParam.async = false;
  574. tranf_submit(oParam);
  575. }
  576. }
  577. function group3_group4_cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  578. {
  579. ds_send_retrparams2.setColumn(0, "instcd", ds_send_retrparams.getColumn(0, "instcd"));
  580. ds_send_dutcd.setColumn(0, "instcd", ds_send_retrparams.getColumn(0, "instcd"));
  581. }
  582. ]]></Script>
  583. </Form>
  584. </FDL>