SMRPD10300_사용자별스케쥴관리부서등록.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD10300" position="absolute 0 0 1199 814" titletext="사용자별 스케쥴 관리부서 등록" oninit="SMRPD10300_oninit" onload="SMRPD10300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="사용자별 스케쥴 관리부서 등록" class="tit_1" position="absolute 0 0 296 25"/>
  8. <Shape id="line4" 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 1070 23 1126 45" anchor="top right" onclick="btn_save_onclick"/>
  10. <Button id="btn_clear" taborder="2" text="초기화" class="btn4" position="absolute 1127 23 1195 45" anchor="top right" onclick="btn_clear_onclick"/>
  11. <Shape id="line1" class="line_10" position="absolute 0 121 1195 127" anchor="left top right"/>
  12. <Div id="group4" taborder="3" class="div_SA2" position="absolute 0 48 1195 88" anchor="left top right">
  13. <Layouts>
  14. <Layout>
  15. <Static id="caption5" text="관리부서 :" class="search_name" position="absolute 285 11 371 28"/>
  16. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1106 9 1112 31" anchor="top right"/>
  17. <Edit id="ipt_deptcd" taborder="5" autoselect="true" autoskip="true" class="input_search" position="absolute 370 9 451 28"/>
  18. <Edit id="ipt_deptnm" taborder="6" autoselect="true" autoskip="true" class="input_search" position="absolute 475 9 605 28"/>
  19. <Button id="btn_search" taborder="7" text="조회" class="btn1" position="absolute 1124 9 1180 31" anchor="top right" onclick="group4_btn_search_onclick"/>
  20. <Static id="caption1" text="사원번호 :" class="search_name" position="absolute 639 11 725 28"/>
  21. <Edit id="ipt_emplno" taborder="8" autoselect="true" autoskip="true" class="input_search" position="absolute 724 10 805 29"/>
  22. <Edit id="ipt_emplnm" taborder="9" autoselect="true" autoskip="true" class="input_search" position="absolute 830 10 970 29"/>
  23. <Button id="btn_userhelp" taborder="10" class="icon_search" position="absolute 810 12 826 28" onclick="group4_btn_userhelp_onclick"/>
  24. <Button id="btn_depthelp" taborder="11" class="icon_search" position="absolute 455 11 471 27" onclick="group4_btn_depthelp_onclick"/>
  25. <Combo id="cmb_instcd" taborder="12" class="combo_search" position="absolute 102 10 255 29"/>
  26. <Static id="caption8" text="소속기관 :" class="search_name" position="absolute 14 11 100 28"/>
  27. </Layout>
  28. </Layouts>
  29. </Div>
  30. <Static id="caption9" text="사용자별 관리부서" class="tit_2" position="absolute 0 105 170 126"/>
  31. <Button id="button4" taborder="4" text="행추가" class="btn2" position="absolute 1087 102 1140 121" anchor="top right" onclick="button4_onclick"/>
  32. <Button id="button5" taborder="5" text="행삭제" class="btn2" position="absolute 1142 102 1195 121" anchor="top right" onclick="button5_onclick"/>
  33. <Grid id="grd_userschemngtdeptlist" taborder="6" binddataset="ds_main_userschemngtdeptlist" useinputpanel="false" position="absolute 0 126 1195 786" autoenter="select" autofittype="col" cellsizingtype="col" anchor="all" onexpanddown="grd_userschemngtdeptlist_onexpanddown">
  34. <Formats>
  35. <Format id="default">
  36. <Columns>
  37. <Column size="20"/>
  38. <Column size="0"/>
  39. <Column size="120"/>
  40. <Column size="140"/>
  41. <Column size="120"/>
  42. <Column size="155"/>
  43. <Column size="100"/>
  44. <Column size="525"/>
  45. <Column size="0"/>
  46. </Columns>
  47. <Rows>
  48. <Row size="24" band="head"/>
  49. <Row size="24"/>
  50. </Rows>
  51. <Band id="head">
  52. <Cell/>
  53. <Cell col="1" text="기관코드"/>
  54. <Cell col="2" text="사원번호"/>
  55. <Cell col="3" text="성명"/>
  56. <Cell col="4" text="관리부서코드"/>
  57. <Cell col="5" text="관리부서명"/>
  58. <Cell col="6" text="정렬순서"/>
  59. <Cell col="7" text="비고"/>
  60. <Cell col="8" text="더미"/>
  61. </Band>
  62. <Band id="body">
  63. <Cell celltype="head"/>
  64. <Cell col="1" text="bind:instcd"/>
  65. <Cell col="2" displaytype="text" edittype="text" text="bind:emplno" expandshow="show"/>
  66. <Cell col="3" displaytype="text" edittype="text" text="bind:emplnm"/>
  67. <Cell col="4" displaytype="text" edittype="text" text="bind:dutplcedeptcd" expandshow="show"/>
  68. <Cell col="5" displaytype="text" edittype="text" text="bind:dutplcedeptnm"/>
  69. <Cell col="6" displaytype="text" edittype="text" text="bind:prntseq"/>
  70. <Cell col="7" displaytype="text" edittype="text" text="bind:cmt"/>
  71. <Cell col="8" text="bind:dummy"/>
  72. </Band>
  73. </Format>
  74. </Formats>
  75. </Grid>
  76. <Edit id="opt_msg" taborder="7" readonly="true" position="absolute 0 786 1195 810" anchor="left right bottom"/>
  77. </Layout>
  78. </Layouts>
  79. <Objects>
  80. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_send_oncolumnchanged">
  81. <ColumnInfo>
  82. <Column id="instcd" type="STRING" size="256"/>
  83. <Column id="deptcd" type="STRING" size="256"/>
  84. <Column id="deptnm" type="STRING" size="256"/>
  85. <Column id="emplno" type="STRING" size="256"/>
  86. <Column id="emplnm" type="STRING" size="256"/>
  87. <Column id="userschemngtdeptlist" type="STRING" size="256"/>
  88. </ColumnInfo>
  89. <Rows>
  90. <Row>
  91. <Col id="instcd"/>
  92. <Col id="deptcd"/>
  93. <Col id="deptnm"/>
  94. <Col id="emplno"/>
  95. <Col id="emplnm"/>
  96. <Col id="userschemngtdeptlist"/>
  97. </Row>
  98. </Rows>
  99. </Dataset>
  100. <Dataset id="ds_main_userschemngtdeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_userschemngtdeptlist_oncolumnchanged">
  101. <ColumnInfo>
  102. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  103. <Column id="dutplcedeptcd" type="STRING" size="256" sumtext="근무지부서코드"/>
  104. <Column id="dutplcedeptnm" type="STRING" size="256" sumtext="근무지부서명"/>
  105. <Column id="emplno" type="STRING" size="256" sumtext="사원번호"/>
  106. <Column id="emplnm" type="STRING" size="256" sumtext="사원명"/>
  107. <Column id="prntseq" type="STRING" size="256" sumtext="출력순서"/>
  108. <Column id="cmt" type="STRING" size="256" sumtext="비고"/>
  109. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자id"/>
  110. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  111. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자id"/>
  112. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  113. </ColumnInfo>
  114. </Dataset>
  115. </Objects>
  116. <Bind>
  117. <BindItem id="item0" compid="group4.cmb_instcd" propid="value" datasetid="ds_send" columnid="instcd"/>
  118. <BindItem id="item1" compid="group4.ipt_deptcd" propid="value" datasetid="ds_send" columnid="deptcd"/>
  119. <BindItem id="item2" compid="group4.ipt_deptnm" propid="value" datasetid="ds_send" columnid="deptnm"/>
  120. <BindItem id="item3" compid="group4.ipt_emplno" propid="value" datasetid="ds_send" columnid="emplno"/>
  121. <BindItem id="item4" compid="group4.ipt_emplnm" propid="value" datasetid="ds_send" columnid="emplnm"/>
  122. </Bind>
  123. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  124. * System Name :
  125. * Job Name :
  126. * Creator :
  127. * Make Date : 2017-06-19
  128. * Description :
  129. *---------------------------------------------------------------------------------------
  130. * Modify Date Modifier Modify Description
  131. *---------------------------------------------------------------------------------------
  132. * 2017-06-19 Live Converter TF->XP
  133. *
  134. *---------------------------------------------------------------------------------------
  135. ****************************************************************************************/
  136. include "com_commonxp::comm_main.xjs";
  137. include "mis_miscommonxp::MIS.xjs";
  138. include "mis_humtrafactmngtxp::RPB001.xjs";
  139. function SMRPD10300_oninit(obj:Form, e:InitEventInfo)
  140. {
  141. frmf_initForm(obj);
  142. }
  143. function SMRPD10300_onload(obj:Form, e:LoadEventInfo)
  144. {
  145. grdf_initGrid(grd_userschemngtdeptlist);
  146. grdf_setRowTypeIcon(grd_userschemngtdeptlist, 0);
  147. fInitialize();
  148. }
  149. function fInitialize()
  150. {
  151. ds_main_userschemngtdeptlist.clearData();
  152. ds_send.clearData();
  153. ds_send.addRow();
  154. misfGridInit(grd_userschemngtdeptlist);
  155. //misfMsterDetailSet(grd_userschemngtdeptlist, null, "TRRPD10301", "Y");
  156. misfComboInstCdListMulti("group4.cmb_instcd",utlf_getCurrentDate(),"","N");
  157. misfGetAndSetUserInfo();
  158. misfGetUserAuth();
  159. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  160. ds_send.setColumn(0, "deptcd", DUT_UNIT_CD);
  161. ds_send.setColumn(0, "deptnm", DUT_UNIT_NM);
  162. if(sysf_getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  163. {
  164. group4.cmb_instcd.enable = true;
  165. }
  166. else
  167. {
  168. group4.cmb_instcd.enable = false;
  169. }
  170. group4.btn_search.click();
  171. group4.btn_search.enable = frmf_checkAuth("R");
  172. btn_save.enable = frmf_checkAuth("X");
  173. }
  174. function ds_send_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  175. {
  176. if(e.columnid == "deptcd")
  177. {
  178. group4.ipt_deptcd.value = e.newvalue;
  179. group4.ipt_deptcd.setFocus();
  180. misfValidationCheck("02", "", "deptcd,deptnm", group4.cmb_instcd.value, "instcd" );
  181. if(!utlf_isNull(e.newvalue))
  182. {
  183. group4.btn_search.click();
  184. }
  185. }
  186. if(e.columnid == "deptnm")
  187. {
  188. group4.ipt_deptnm.value = e.newvalue;
  189. group4.ipt_deptnm.setFocus();
  190. misfValidationCheck("02", "", "deptcd,deptnm", group4.cmb_instcd.value, "instcd" );
  191. if(!utlf_isNull(e.newvalue))
  192. {
  193. group4.btn_search.click();
  194. }
  195. }
  196. if(e.columnid == "emplno")
  197. {
  198. group4.ipt_emplno.value = e.newvalue;
  199. group4.ipt_emplno.setFocus();
  200. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  201. if(!utlf_isNull(e.newvalue))
  202. {
  203. group4.btn_search.click();
  204. }
  205. }
  206. if(e.columnid == "emplnm")
  207. {
  208. group4.ipt_emplnm.value = e.newvalue;
  209. group4.ipt_emplnm.setFocus();
  210. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  211. if(!utlf_isNull(e.newvalue))
  212. {
  213. group4.btn_search.click();
  214. }
  215. }
  216. }
  217. function group4_btn_depthelp_onclick(obj:Button, e:ClickEventInfo)
  218. {
  219. misfOpenPopUpList("02", group4.ipt_emplno, "", "deptcd,deptnm", group4.cmb_instcd.value, "instcd");
  220. if(!utlf_isNull(group4.ipt_emplno.value))
  221. {
  222. group4.btn_search.click();
  223. }
  224. }
  225. function group4_btn_userhelp_onclick(obj:Button, e:ClickEventInfo)
  226. {
  227. rpbfOpenPopUpList("SPRPB00101", group4.ipt_emplno, "emplno,emplnm", "", "N");
  228. if(!utlf_isNull(group4.ipt_emplno.value))
  229. {
  230. group4.btn_search.click();
  231. }
  232. }
  233. function group4_btn_search_onclick(obj:Button, e:ClickEventInfo)
  234. {
  235. var oParam = {};
  236. oParam.id = "TRRPD10301";
  237. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  238. oParam.method = "reqGetUserScheMngtDeptList";
  239. oParam.inds = "req=ds_send";
  240. oParam.outds = "ds_main_userschemngtdeptlist=userschemngtdeptlist";
  241. oParam.async = false;
  242. //oParam.callback = "cf_TRRPD10301";
  243. tranf_submit(oParam);
  244. }
  245. function grd_userschemngtdeptlist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  246. {
  247. if(e.cell == obj.getBindCellIndex("Body", "emplno"))
  248. {
  249. rpbfOpenPopUpList("SPRPB00101", grd_userschemngtdeptlist, "emplno,emplnm", "", "N");
  250. }
  251. else if (e.cell == obj.getBindCellIndex("Body", "dutplcedeptcd"))
  252. {
  253. misfOpenPopUpList("08", grd_userschemngtdeptlist, "", "dummy,dutplcedeptcd,dutplcedeptnm", group4.cmb_instcd.value, "instcd");
  254. if(!utlf_isNull(group4.ipt_emplno.value) && !utlf_isNull(group4.ipt_emplno.value))
  255. {
  256. for(var i = 0; i < ds_main_userschemngtdeptlist.rowcount; i++)
  257. {
  258. if(ds_main_userschemngtdeptlist.getRowType(i) == 2)
  259. {
  260. ds_main_userschemngtdeptlist.setColumn(i, "emplno", group4.ipt_emplno.value);
  261. ds_main_userschemngtdeptlist.setColumn(i, "emplnm", group4.ipt_emplnm.value);
  262. }
  263. }
  264. }
  265. }
  266. }
  267. function ds_main_userschemngtdeptlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  268. {
  269. if(e.columnid == "emplno")
  270. {
  271. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  272. }
  273. else if(e.columnid == "emplnm")
  274. {
  275. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  276. }
  277. else if (e.columnid == "dutplcedeptcd" || e.columnid == "dutplcedeptnm")
  278. {
  279. misfValidationCheck("02", "", "dutplcedeptcd,dutplcedeptnm" );
  280. }
  281. }
  282. function button4_onclick(obj:Button, e:ClickEventInfo)
  283. {
  284. misfGridIUD(grd_userschemngtdeptlist, "A");
  285. }
  286. function button5_onclick(obj:Button, e:ClickEventInfo)
  287. {
  288. misfGridIUD(grd_userschemngtdeptlist,"D");
  289. }
  290. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  291. {
  292. fSave();
  293. }
  294. function btn_clear_onclick(obj:Button, e:ClickEventInfo)
  295. {
  296. fReset();
  297. }
  298. function fReset()
  299. {
  300. var updtdata = grdf_getGridUpdateData(grd_userschemngtdeptlist).rowcount;
  301. if (updtdata != 0)
  302. {
  303. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  304. if(ret != 6)
  305. {
  306. return;
  307. }
  308. }
  309. fInitialize();
  310. }
  311. function fSave()
  312. {
  313. var updtdata = grdf_getGridUpdateData(grd_userschemngtdeptlist).rowcount;
  314. if (updtdata == 0)
  315. {
  316. sysf_messageBox("변경된 데이터가","I004");
  317. return;
  318. }
  319. var null_check1 = "";
  320. var null_chech2 = "";
  321. for(var i = 0; i < ds_main_userschemngtdeptlist.rowcount; i++)
  322. {
  323. null_check1 = ds_main_userschemngtdeptlist.getColumn(i, "emplno");
  324. null_check2 = ds_main_userschemngtdeptlist.getColumn(i, "dutplcedeptcd");
  325. if(utlf_isNull(null_check1))
  326. {
  327. sysf_messageBox("사원번호를","I003");
  328. return;
  329. }
  330. else if(utlf_isNull(null_check2))
  331. {
  332. sysf_messageBox("관리부서를","I003");
  333. return;
  334. }
  335. }
  336. var oParam = {};
  337. oParam.id = "TXRPD10301";
  338. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  339. oParam.method = "reqExeSaveUserScheMngtDeptList";
  340. oParam.inds = "req=ds_main_userschemngtdeptlist:u";
  341. oParam.outds = "";
  342. oParam.async = false;
  343. //oParam.callback = "cf_TXRPD10301";
  344. tranf_submit(oParam);
  345. }
  346. ]]></Script>
  347. </Form>
  348. </FDL>