SMRPD03900_부서별근무형태코드관리.xfdl 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD03900" position="absolute 0 0 1197 801" titletext="부서별 근무형태 코드관리" onload="SMRPD03900_onload" style="background:transparent;">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 46 1195 797" id="group3" scrollbars="autoboth" anchor="all">
  8. <Layouts>
  9. <Layout>
  10. <Button position="absolute 923 50 1003 72" align="align:left middle;" id="btn_excadd" class="btn7" visible="false" text="엑셀입력" anchor="top right" onclick="group3_btn_excadd_onclick"/>
  11. <Button position="absolute 1115 50 1195 72" id="btn_excsave" class="btn7" text="엑셀저장" anchor="top right" onclick="group3_btn_excsave_onclick"/>
  12. <Grid position="absolute 0 76 590 728" id="grd_dutbasecdlist" class="text_center" binddataset="ds_main_dutbasecdlist" anchor="left top bottom" autoenter="select" cellsizingtype="col" oncellclick="group3_grd_dutbasecdlist_oncellclick" cellclickbound="cell">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="25" band="left"/>
  17. <Column size="33"/>
  18. <Column size="0"/>
  19. <Column size="41"/>
  20. <Column size="270"/>
  21. <Column size="55"/>
  22. <Column size="55"/>
  23. <Column size="290"/>
  24. </Columns>
  25. <Rows>
  26. <Row size="35" band="head"/>
  27. <Row size="24"/>
  28. </Rows>
  29. <Band id="head">
  30. <Cell/>
  31. <Cell col="1" text="선택" wordwrap="char"/>
  32. <Cell col="2" text="기관코드" wordwrap="char"/>
  33. <Cell col="3" text="근무코드" wordwrap="char"/>
  34. <Cell col="4" text="근무명칭" wordwrap="char"/>
  35. <Cell col="5" text="근무시작시간" wordwrap="char"/>
  36. <Cell col="6" text="근무종료시간" wordwrap="char"/>
  37. <Cell col="7" text="비 고" wordwrap="char"/>
  38. </Band>
  39. <Band id="body">
  40. <Cell celltype="head" text="expr:currow+1"/>
  41. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:check == 'Y' ? 1 : 0"/>
  42. <Cell col="2" text="bind:instcd"/>
  43. <Cell col="3" text="bind:dutcd" enable="false"/>
  44. <Cell col="4" displaytype="text" style="align:left top;padding:5 2 1 2;" text="bind:dutnm" wordwrap="word" enable="false"/>
  45. <Cell col="5" text="bind:dutfromtm" mask="##:##" maskchar=" " enable="false"/>
  46. <Cell col="6" text="bind:duttotm" mask="##:##" maskchar=" " enable="false"/>
  47. <Cell col="7" displaytype="text" style="align:left top;padding:5 2 1 2;" text="bind:cmt" wordwrap="word" enable="false"/>
  48. </Band>
  49. </Format>
  50. </Formats>
  51. </Grid>
  52. <Div position="absolute 0 5 1195 45" align="align:center top;" id="group2" class="div_SA2" anchor="left top right">
  53. <Layouts>
  54. <Layout>
  55. <Shape position="absolute 1107 10 1113 32" linetype="vertical" id="line13" class="line_4" anchor="top right"/>
  56. <Static text="근무부서 :" position="absolute 275 12 366 29" id="caption1" class="search_name" anchor="default"/>
  57. <Button position="absolute 1125 10 1181 32" id="btn_search" class="btn1" text="조회" anchor="top right" onclick="group3_group2_btn_search_onclick"/>
  58. <Edit position="absolute 366 11 451 30" id="ipt_dutdeptcd" class="input_essential" anchor="default" autoselect="true" onkeydown="Edit_onkeydown"/>
  59. <Edit position="absolute 475 11 615 30" id="ipt_dutdeptnm" class="input_search" anchor="default" autoselect="true" onkeydown="Edit_onkeydown"/>
  60. <Button position="absolute 455 13 471 29" id="btn_dutdept" class="icon_search" text="" anchor="default" onclick="group3_group2_btn_dutdept_onclick"/>
  61. <Combo position="absolute 734 11 915 30" id="cmb_dutplce" class="combo" visible="true" anchor="default" onitemchanged="group3_group2_cmb_dutplce_onitemchanged"/>
  62. <Static text="관리부서 :" position="absolute 645 12 735 29" id="caption2" class="search_name" anchor="default"/>
  63. <Combo position="absolute 102 11 255 30" id="cmb_instcd" class="combo_search" taborder="1" anchor="default" onitemchanged="group3_group2_cmb_instcd_onitemchanged"/>
  64. <Static text="소속기관 :" position="absolute 14 12 100 29" id="caption8" class="search_name" anchor="default"/>
  65. </Layout>
  66. </Layouts>
  67. </Div>
  68. <Static text="부서별 코드등록" position="absolute 635 56 786 77" id="caption20" class="tit_2" anchor="default"/>
  69. <Shape position="absolute 635 72 1195 78" linetype="horizontal" id="line8" class="line_10" anchor="left top right"/>
  70. <Shape position="absolute 0 72 590 77" id="line7" class="line_10" anchor="default"/>
  71. <Static text="근무기초코드" position="absolute 0 55 159 72" id="caption25" class="tit_2" anchor="default"/>
  72. <Button position="absolute 1005 50 1058 72" id="btn_grdadd" class="btn2" text="행추가" anchor="top right" onclick="group3_btn_grdadd_onclick"/>
  73. <Button position="absolute 1060 50 1113 72" id="btn_grddel" class="btn2" text="행삭제" anchor="top right" onclick="group3_btn_grddel_onclick"/>
  74. <Grid position="absolute 635 77 1195 728" id="grd_deptdutcdlist" class="text_center" scrollbars="autoboth" binddataset="ds_main_deptdutcdlist" anchor="all" autoenter="select" cellsizingtype="col" onexpandup="group3_grd_deptdutcdlist_onexpandup" ontextchanged="group3_grd_deptdutcdlist_ontextchanged">
  75. <Formats>
  76. <Format id="default">
  77. <Columns>
  78. <Column size="25" band="left"/>
  79. <Column size="0"/>
  80. <Column size="90"/>
  81. <Column size="110"/>
  82. <Column size="58"/>
  83. <Column size="210"/>
  84. <Column size="35"/>
  85. <Column size="0"/>
  86. <Column size="0"/>
  87. <Column size="0"/>
  88. <Column size="0"/>
  89. </Columns>
  90. <Rows>
  91. <Row size="35" band="head"/>
  92. <Row size="24"/>
  93. </Rows>
  94. <Band id="head">
  95. <Cell/>
  96. <Cell col="1" text="기관코드"/>
  97. <Cell col="2" text="부서코드" wordwrap="char"/>
  98. <Cell col="3" text="부서명" wordwrap="char"/>
  99. <Cell col="4" text="근무코드" wordwrap="char"/>
  100. <Cell col="5" text="근무코드명" wordwrap="char"/>
  101. <Cell col="6" text="정렬순서" wordwrap="char"/>
  102. <Cell col="7" text="최초등록자ID"/>
  103. <Cell col="8" text="최초등록일시"/>
  104. <Cell col="9" text="최종수정자ID"/>
  105. <Cell col="10" text="최종수정일시"/>
  106. </Band>
  107. <Band id="body">
  108. <Cell celltype="head"/>
  109. <Cell col="1" text="bind:instcd"/>
  110. <Cell col="2" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" text="bind:deptcd" wordwrap="word" editautoselect="true" expandshow="show" enable="false"/>
  111. <Cell col="3" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" text="bind:deptnm" wordwrap="word" editautoselect="true" enable="false"/>
  112. <Cell col="4" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" text="bind:dutcd" wordwrap="word" editautoselect="true" expandshow="show" enable="false"/>
  113. <Cell col="5" displaytype="text" edittype="text" style="align:left top;padding:5 2 1 2;" text="bind:dutnm" wordwrap="word" editautoselect="true" enable="false"/>
  114. <Cell col="6" displaytype="text" edittype="text" text="bind:sortseq" editautoselect="true"/>
  115. <Cell col="7" text="bind:fstrgstrid"/>
  116. <Cell col="8" text="bind:fstrgstdt"/>
  117. <Cell col="9" text="bind:lastupdtrid"/>
  118. <Cell col="10" text="bind:lastupdtdt"/>
  119. </Band>
  120. </Format>
  121. </Formats>
  122. </Grid>
  123. <Grid position="absolute 10 608 250 709" id="grd_dutdeptlist" visible="false" binddataset="ds_main_dutdeptlist" anchor="default" cellclickbound="cell">
  124. <Formats>
  125. <Format id="default">
  126. <Columns>
  127. <Column size="25" band="left"/>
  128. <Column size="37"/>
  129. <Column size="81"/>
  130. <Column size="100"/>
  131. </Columns>
  132. <Rows>
  133. <Row size="24" band="head"/>
  134. <Row size="24"/>
  135. </Rows>
  136. <Band id="head">
  137. <Cell/>
  138. <Cell col="1" text="선택"/>
  139. <Cell col="2" text="부서코드"/>
  140. <Cell col="3" text="부서명"/>
  141. </Band>
  142. <Band id="body">
  143. <Cell celltype="head"/>
  144. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check==&quot;Y&quot;||check==1)?1:0"/>
  145. <Cell col="2" displaytype="text" edittype="text" text="bind:deptcd" expandshow="show"/>
  146. <Cell col="3" text="bind:deptnm"/>
  147. </Band>
  148. </Format>
  149. </Formats>
  150. </Grid>
  151. <Grid position="absolute 635 588 1005 728" id="grd_deptlist" visible="false" binddataset="ds_main_deptlist" anchor="left right bottom" onexpandup="group3_grd_deptlist_onexpandup" cellclickbound="cell">
  152. <Formats>
  153. <Format id="default">
  154. <Columns>
  155. <Column size="25" band="left"/>
  156. <Column size="0"/>
  157. <Column size="90"/>
  158. <Column size="207"/>
  159. </Columns>
  160. <Rows>
  161. <Row size="24" band="head"/>
  162. <Row size="24"/>
  163. </Rows>
  164. <Band id="head">
  165. <Cell/>
  166. <Cell col="1" text="선택"/>
  167. <Cell col="2" text="부서코드"/>
  168. <Cell col="3" text="부서명"/>
  169. </Band>
  170. <Band id="body">
  171. <Cell celltype="head"/>
  172. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check==&quot;Y&quot;||check==1)?1:0"/>
  173. <Cell col="2" displaytype="text" edittype="text" text="bind:deptcd" expandshow="show"/>
  174. <Cell col="3" text="bind:deptnm"/>
  175. </Band>
  176. </Format>
  177. </Formats>
  178. </Grid>
  179. <Button id="btn_right" taborder="1" position="absolute 599 283 627 303" class="icon_right" onclick="group3_btn_right_onclick"/>
  180. <Button id="btn_left" taborder="2" class="icon_left" position="absolute 599 309 627 329" onclick="group3_btn_left_onclick" visible="false"/>
  181. <Edit id="opt_msg" taborder="3" readonly="true" position="absolute 0 732 1195 751" style="background:transparent;" visible="true" anchor="left right bottom"/>
  182. </Layout>
  183. </Layouts>
  184. </Div>
  185. <Div position="absolute 0 26 1195 61" id="group4" scrollbars="autoboth" anchor="left top right">
  186. <Layouts>
  187. <Layout>
  188. <Shape position="absolute 0 21 1195 27" id="line1" class="line_6" anchor="left top right"/>
  189. <Button position="absolute 1127 0 1195 22" id="btn_clear" class="btn4" text="초기화" anchor="top right" onclick="group4_btn_clear_onclick"/>
  190. <Button position="absolute 1069 0 1125 22" id="btn_save" class="btn4" text="저장" anchor="top right" onclick="group4_btn_save_onclick"/>
  191. <Button position="absolute 857 0 961 22" id="btn_choideptsave" class="btn4" text="선택부서설정" anchor="top right" onclick="group4_btn_choideptsave_onclick"/>
  192. <Button position="absolute 963 0 1067 22" id="btn_showchoidept" class="btn4" text="선택부서보기" anchor="top right" onclick="group4_btn_showchoidept_onclick"/>
  193. </Layout>
  194. </Layouts>
  195. </Div>
  196. <Static id="caption6" text="부서별근무형태코드관리" class="tit_1" position="absolute 0 0 189 25"/>
  197. </Layout>
  198. </Layouts>
  199. <Objects>
  200. <Dataset id="ds_send_deptdutcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  201. <Dataset id="ds_send_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  202. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_send_oncolumnchanged">
  203. <ColumnInfo>
  204. <Column id="instcd" type="STRING" size="256"/>
  205. <Column id="deptcd" type="STRING" size="256"/>
  206. <Column id="deptnm" type="STRING" size="256"/>
  207. <Column id="schedeptcd" type="STRING" size="256"/>
  208. </ColumnInfo>
  209. <Rows>
  210. <Row>
  211. <Col id="instcd"/>
  212. <Col id="deptcd"/>
  213. <Col id="deptnm"/>
  214. <Col id="schedeptcd"/>
  215. </Row>
  216. </Rows>
  217. </Dataset>
  218. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  219. <ColumnInfo>
  220. <Column id="temp" type="STRING" size="256"/>
  221. </ColumnInfo>
  222. </Dataset>
  223. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  224. <ColumnInfo>
  225. <Column id="hidden" type="STRING" size="256"/>
  226. </ColumnInfo>
  227. <Rows>
  228. <Row>
  229. <Col id="hidden"/>
  230. </Row>
  231. </Rows>
  232. </Dataset>
  233. <Dataset id="ds_main_dutdeptlist" firefirstcount="0" firenextcount="0" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_dutdeptlist_oncolumnchanged"/>
  234. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  235. <ColumnInfo>
  236. <Column id="init" type="STRING" size="256"/>
  237. </ColumnInfo>
  238. <Rows>
  239. <Row>
  240. <Col id="init"/>
  241. </Row>
  242. </Rows>
  243. </Dataset>
  244. <Dataset id="ds_main_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_deptlist_oncolumnchanged"/>
  245. <Dataset id="ds_main_dutbasecdlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_dutbasecdlist_oncolumnchanged">
  246. <ColumnInfo>
  247. <Column id="check" type="STRING" size="256" sumtext="기관코드"/>
  248. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  249. <Column id="dutcd" type="STRING" size="256" sumtext="근무코드"/>
  250. <Column id="dutnm" type="STRING" size="256" sumtext="근무명"/>
  251. <Column id="dutfromtm" type="STRING" size="256" sumtext="시작시간"/>
  252. <Column id="duttotm" type="STRING" size="256" sumtext="종료시간"/>
  253. <Column id="cmt" type="STRING" size="256" sumtext="비고"/>
  254. </ColumnInfo>
  255. </Dataset>
  256. <Dataset id="ds_main_deptdutcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  257. <Dataset id="ds_search_deptdutcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  258. </Objects>
  259. <Bind>
  260. <BindItem id="item0" compid="group3.group2.ipt_dutdeptcd" propid="value" datasetid="ds_send" columnid="deptcd"/>
  261. <BindItem id="item1" compid="group3.group2.ipt_dutdeptnm" propid="value" datasetid="ds_send" columnid="deptnm"/>
  262. <BindItem id="item2" compid="group3.group2.cmb_dutplce" propid="value" datasetid="ds_send" columnid="deptcd"/>
  263. <BindItem id="item3" compid="group3.group2.cmb_instcd" propid="value" datasetid="ds_send" columnid="instcd"/>
  264. </Bind>
  265. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  266. * System Name :
  267. * Job Name :
  268. * Creator :
  269. * Make Date : 2017-06-19
  270. * Description :
  271. *---------------------------------------------------------------------------------------
  272. * Modify Date Modifier Modify Description
  273. *---------------------------------------------------------------------------------------
  274. * 2017-06-19 Live Converter TF->XP
  275. *
  276. *---------------------------------------------------------------------------------------
  277. ****************************************************************************************/
  278. //=======================================================================================
  279. // Lib Include
  280. //---------------------------------------------------------------------------------------
  281. include "com_commonxp::comm_main.xjs";
  282. include "mis_miscommonxp::MIS.xjs";
  283. include "mis_dligclaznsmngtxp::RPD001.xjs";
  284. //=======================================================================================
  285. // Global Form Variable
  286. //---------------------------------------------------------------------------------------
  287. var arErrorCode = new HashArray();
  288. var ALL_CHECKED = false;
  289. var fcount = 1;
  290. var pos = "";
  291. //=======================================================================================
  292. // Function
  293. //---------------------------------------------------------------------------------------
  294. /****************************************************************************************
  295. * Argument : N/A
  296. * Description : 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  297. ****************************************************************************************/
  298. function fInitialize()
  299. {
  300. ds_main_deptlist.clearData();
  301. ds_main_dutbasecdlist.clearData();
  302. ds_main_deptdutcdlist.clearData();
  303. ds_main_dutdeptlist.clearData();
  304. ds_send.clearData(); ds_send.addRow();
  305. misfGridInit(group3.grd_deptlist);
  306. misfGridInit(group3.grd_dutbasecdlist);
  307. misfGridInit(group3.grd_deptdutcdlist);
  308. misfGridInit(group3.grd_dutdeptlist);
  309. misfMsterDetailSet(group3.grd_dutbasecdlist, null, "TRRPD03901", "N");
  310. misfMsterDetailSet(group3.grd_deptdutcdlist, null, "TRRPD03902", "Y");
  311. misfMsterDetailSet(group3.grd_deptlist, null, "TRRPD03902", "Y");
  312. // 디자인에서 이미 행높이 설정
  313. // group3.grd_dutbasecdlist.rowheight(0) = 35;
  314. // group3.grd_deptdutcdlist.rowheight(0) = 35;
  315. misfComboInstCdListMulti("group3.group2.cmb_instcd", utlf_getCurrentDate(),"","N");
  316. misfGetAndSetUserInfo();
  317. misfGetUserAuth();
  318. rpdfComboCdList(group3.group2.cmb_dutplce); // 권한별 근무부서 세팅
  319. rpdfSetDutUnitCombo();
  320. ds_send.enableevent = false;
  321. ds_send.setColumn( 0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  322. ds_send.setColumn( 0, "deptcd", DUT_UNIT_CD);
  323. ds_send.setColumn( 0, "deptnm", DUT_UNIT_NM);
  324. ds_send.enableevent = true;
  325. if( DUTY_PART_YN == "Y" ) {
  326. }
  327. else {
  328. group3.group2.ipt_dutdeptcd.enable = false;
  329. group3.group2.ipt_dutdeptnm.enable = false;
  330. }
  331. if(sysf_getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  332. {
  333. group3.group2.cmb_instcd.enable = true;
  334. }
  335. else
  336. {
  337. group3.group2.cmb_instcd.enable = false;
  338. }
  339. submitFunc("TRRPD03901");
  340. group3.group2.btn_search.click();
  341. //화면 권한 설정
  342. group3.group2.btn_search.enable = frmf_checkAuth("R");
  343. }
  344. /****************************************************************************************
  345. * Argument : N/A
  346. * Description : 조회
  347. ****************************************************************************************/
  348. function fRetrieve()
  349. {
  350. var updtdata = grdf_getGridUpdateData(group3.grd_deptdutcdlist);
  351. ds_search_deptdutcdlist.copyData(updtdata, false);
  352. if ( ds_search_deptdutcdlist.rowcount > 0) {
  353. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
  354. if (ret != 6) { // not OK
  355. return;
  356. }
  357. }
  358. //근무부서 필수체크
  359. var null_check = utlf_transNullToEmpty(group3.group2.ipt_dutdeptcd.value);
  360. if( utlf_isNull(null_check) )
  361. {
  362. sysf_messageBox("근무부서는","I003");
  363. return;
  364. }
  365. submitFunc("TRRPD03902");
  366. var deptdutcdlist_rowcnt = ds_main_deptdutcdlist.rowcount;
  367. }
  368. /****************************************************************************************
  369. * Argument : N/A
  370. * Description : 저장
  371. ****************************************************************************************/
  372. function fSave()
  373. {
  374. var updtdata = grdf_getGridUpdateData(group3.grd_deptdutcdlist, "all");
  375. grdf_setStatusColumn(updtdata, "status");
  376. ds_send_deptdutcdlist.copyData(updtdata, true);
  377. if (ds_send_deptdutcdlist.rowcount == 0 )
  378. {
  379. sysf_messageBox("변경된 데이터가","I004");
  380. return;
  381. }
  382. var null_check1 = "";
  383. var null_chech2 = "";
  384. for(var i = 0; i < ds_send_deptdutcdlist.rowcount; i++)
  385. {
  386. null_check1 = dsf_getColumnNullToEmpty(ds_send_deptdutcdlist, i, "deptcd");
  387. null_check2 = dsf_getColumnNullToEmpty(ds_send_deptdutcdlist, i, "dutcd");
  388. if(null_check1 == "")
  389. {
  390. sysf_messageBox("부서코드는", "I003");
  391. return;
  392. }
  393. else if(null_check2 == "")
  394. {
  395. sysf_messageBox("근무코드는", "I003");
  396. return;
  397. }
  398. }
  399. var nRow = ds_main_deptlist.addRow();
  400. ds_main_deptlist.addColumn("deptcd", "string");
  401. ds_main_deptlist.addColumn("deptnm", "string");
  402. ds_main_deptlist.enableevent = false;
  403. ds_main_deptlist.setColumn(nRow, "deptcd", group3.group2.ipt_dutdeptcd.value);
  404. ds_main_deptlist.setColumn(nRow, "deptnm", group3.group2.ipt_dutdeptnm.value);
  405. ds_main_deptlist.enableevent = true;
  406. ds_send_deptlist.clear();
  407. dsf_copyColInfo(ds_send_deptlist, ds_main_deptlist);
  408. ds_send_deptlist.copyRow(ds_send_deptlist.addRow(), ds_main_deptlist, nRow);
  409. // misfSave("TXRPD03901"); //두개의 데이터셋 을 보내는건 구현안됨
  410. var oParam = {};
  411. oParam.id = "TXRPD03901";
  412. oParam.service = "dligclaznsmngtapp.DeptDutyCodeMngt";
  413. oParam.method = "reqExeSaveDeptDutyCodeList";
  414. oParam.inds = "deptdutcdlist=ds_send_deptdutcdlist deptlist=ds_send_deptlist";
  415. oParam.outds = "";
  416. oParam.async = false;
  417. //oParam.callback = "cf_TXRPD03901";
  418. tranf_submit(oParam);
  419. ds_main_dutbasecdlist.enableevent = false;
  420. ds_main_dutbasecdlist.updatecontrol = false;
  421. for(var i = 0 ; i < ds_main_dutbasecdlist.rowcount ; i++)
  422. {
  423. ds_main_dutbasecdlist.setColumn(i, "check", "N");
  424. }
  425. ds_main_dutbasecdlist.updatecontrol = true;
  426. ds_main_dutbasecdlist.enableevent = true;
  427. group3.group2.btn_search.click();
  428. group3.grd_deptdutcdlist.vscrollbar.pos = "";
  429. misfGridInit(group3.grd_deptlist);
  430. }
  431. /****************************************************************************************
  432. * Argument : N/A
  433. * Description :
  434. ****************************************************************************************/
  435. function fSetDeptPrCodeReg()
  436. {
  437. //근무부서 필수체크
  438. if(utlf_isNull(group3.group2.ipt_dutdeptcd.value))
  439. {
  440. sysf_messageBox("근무부서는","I003");
  441. return;
  442. }
  443. for (var i = 0; i < ds_main_dutbasecdlist.rowcount; i++)
  444. {
  445. if(ds_main_dutbasecdlist.getColumn(i, "check") == "Y")
  446. {
  447. var sDutCd = ds_main_dutbasecdlist.getColumn(i, "dutcd");
  448. var iDupCnt = 0;
  449. for(var k = 0; k < ds_main_deptdutcdlist.rowcount ; k++)
  450. {
  451. if(ds_main_deptdutcdlist.getColumn(k, "dutcd") == sDutCd)
  452. iDupCnt++;
  453. }
  454. if(iDupCnt > 0)
  455. {
  456. continue;
  457. }
  458. var nRow = ds_main_deptdutcdlist.addRow();
  459. trace("1111111")
  460. ds_main_deptdutcdlist.setColumn(nRow, "deptcd", group3.group2.ipt_dutdeptcd.value);
  461. ds_main_deptdutcdlist.setColumn(nRow, "deptnm", group3.group2.ipt_dutdeptnm.value);
  462. ds_main_deptdutcdlist.setColumn(nRow, "instcd", ds_main_dutbasecdlist.getColumn(i, "instcd"));
  463. ds_main_deptdutcdlist.setColumn(nRow, "dutcd", ds_main_dutbasecdlist.getColumn(i, "dutcd"));
  464. ds_main_deptdutcdlist.setColumn(nRow, "dutnm", ds_main_dutbasecdlist.getColumn(i, "dutnm"));
  465. var iPos = 0;
  466. if(ds_main_deptdutcdlist.rowcount > 27)
  467. {
  468. iPos = (ds_main_deptdutcdlist.rowcount - 27) * 30;
  469. }
  470. // group3.grd_deptdutcdlist.vscroll.attribute("pos") = (iPos).toString();
  471. group3.grd_deptdutcdlist.vscrollbar.pos = iPos;
  472. }
  473. }
  474. }
  475. /****************************************************************************************
  476. * Argument : N/A
  477. * Description : 초기화
  478. ****************************************************************************************/
  479. function fSetInitialize()
  480. {
  481. var updtdata = grdf_getGridUpdateData(group3.grd_deptdutcdlist, "all");
  482. if (updtdata.rowcount > 0)
  483. {
  484. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  485. if (ret != 6)
  486. { // not OK
  487. return;
  488. }
  489. }
  490. fInitialize();
  491. }
  492. /****************************************************************************************
  493. * Argument : N/A
  494. * Description : 행추가
  495. ****************************************************************************************/
  496. function fAddRow()
  497. {
  498. if(utlf_isNull(group3.group2.ipt_dutdeptcd.value))
  499. {
  500. sysf_messageBox("근무부서가","I004");
  501. return;
  502. }
  503. misfGridIUD(group3.grd_deptdutcdlist,"A");
  504. group3.grd_deptdutcdlist.setFocus();
  505. group3.grd_deptdutcdlist.setCellPos(1);
  506. group3.grd_deptdutcdlist.showEditor(true);
  507. group3.grd_deptdutcdlist.setEditCaret(-1);
  508. }
  509. //=======================================================================================
  510. // Event
  511. //---------------------------------------------------------------------------------------
  512. /****************************************************************************************
  513. * Components : Form
  514. * Description : 화면 처음 초기화시 폼초기화
  515. ****************************************************************************************/
  516. function SMRPD03900_onload(obj:Form, e:LoadEventInfo) {
  517. frmf_initForm(obj);
  518. //grdf_initGrid(grd_XXX);
  519. //grdf_setGridSort(grd_XXX);
  520. grdf_setRowTypeIcon(group3.grd_deptdutcdlist, 0);
  521. grdf_setRowTypeIcon(group3.grd_dutdeptlist, 0);
  522. grdf_setRowTypeIcon(group3.grd_deptlist, 0);
  523. fInitialize();
  524. }
  525. /****************************************************************************************
  526. * Components : Button
  527. * Description : 엑셀입력
  528. ****************************************************************************************/
  529. function group3_btn_excadd_onclick(obj:Button, e:ClickEventInfo) {
  530. ds_main_deptdutcdlist.clearData();
  531. grdf_ImportExcel("ds_main_deptdutcdlist", 2, group3.grd_deptdutcdlist, 0);
  532. }
  533. /****************************************************************************************
  534. * Components : Button
  535. * Description : 엑셀저장
  536. ****************************************************************************************/
  537. function group3_btn_excsave_onclick(obj:Button, e:ClickEventInfo) {
  538. misfSaveExcel(group3.grd_deptdutcdlist);
  539. }
  540. /****************************************************************************************
  541. * Components : Grid
  542. * Description : 근무기초코드 조회
  543. ****************************************************************************************/
  544. function group3_grd_dutbasecdlist_oncellclick(obj:Grid, e:GridClickEventInfo) {
  545. if(e.row < 0 && e.col == obj.getBindCellIndex("body","check"))
  546. {
  547. var Yn = "N";
  548. if(!ALL_CHECKED) Yn = "Y";
  549. for(var i = 0; i < ds_main_dutbasecdlist.rowcount ; i++)
  550. {
  551. ds_main_dutbasecdlist.enableevent = false;
  552. ds_main_dutbasecdlist.setColumn(i, "check", Yn);
  553. ds_main_dutbasecdlist.enableevent = true;
  554. }
  555. ALL_CHECKED = (!ALL_CHECKED) ? true : false;
  556. }
  557. }
  558. /****************************************************************************************
  559. * Components : Button
  560. * Description : 조회
  561. ****************************************************************************************/
  562. function group3_group2_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  563. fRetrieve();
  564. }
  565. /****************************************************************************************
  566. * Components : Button
  567. * Description : 근무부서 조회 팝업
  568. ****************************************************************************************/
  569. function group3_group2_btn_dutdept_onclick(obj:Button, e:ClickEventInfo) {
  570. misfOpenPopUpList("02", group3.group2.ipt_dutdeptcd, "", "deptcd,deptnm", group3.group2.cmb_instcd.value, "instcd");
  571. group3.group2.btn_search.click();
  572. }
  573. /****************************************************************************************
  574. * Components : Combo
  575. * Description : 관리부서 변경 시 조회
  576. ****************************************************************************************/
  577. function group3_group2_cmb_dutplce_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  578. ds_send.setColumn(0, "deptnm", group3.group2.cmb_dutplce.text);
  579. group3.group2.btn_search.click();
  580. }
  581. /****************************************************************************************
  582. * Components : Combo
  583. * Description : 기관변경시 조회
  584. ****************************************************************************************/
  585. function group3_group2_cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  586. submitFunc("TRRPD03901");
  587. }
  588. /****************************************************************************************
  589. * Components : Button
  590. * Description : 행추가
  591. ****************************************************************************************/
  592. function group3_btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  593. fAddRow();
  594. }
  595. /****************************************************************************************
  596. * Components : Button
  597. * Description : 행삭제
  598. ****************************************************************************************/
  599. function group3_btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  600. misfGridIUD(group3.grd_deptdutcdlist,"D");
  601. }
  602. /****************************************************************************************
  603. * Components : Grid
  604. * Description : 그리드 내용 변경
  605. ****************************************************************************************/
  606. function group3_grd_deptdutcdlist_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo) {
  607. if (e.col == obj.getBindCellIndex("body","deptcd") || e.col == obj.getBindCellIndex("body","deptnm") )
  608. {//부서코드 입력시
  609. misfValidationCheck("02", "", "deptcd,deptnm");
  610. }
  611. else if (e.col == obj.getBindCellIndex("body","dutcd") || e.col == obj.getBindCellIndex("body","dutnm") )
  612. { //근무코드 입력시
  613. misfValidationCheck("09", "", "dutcd,dutnm");
  614. }
  615. }
  616. /****************************************************************************************
  617. * Components : Button
  618. * Description : 초기화
  619. ****************************************************************************************/
  620. function group4_btn_clear_onclick(obj:Button, e:ClickEventInfo) {
  621. fSetInitialize();
  622. }
  623. /****************************************************************************************
  624. * Components : Button
  625. * Description : 저장
  626. ****************************************************************************************/
  627. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  628. fSave();
  629. }
  630. /****************************************************************************************
  631. * Components : Button
  632. * Description : 선택부서설정
  633. ****************************************************************************************/
  634. function group4_btn_choideptsave_onclick(obj:Button, e:ClickEventInfo) {
  635. frmf_inputEnterKey("group3.grd_deptlist", "onexpandup", new GridMouseEventInfo);
  636. group4.btn_showchoidept.click();
  637. }
  638. /****************************************************************************************
  639. * Components : Button
  640. * Description : 선택부서보기
  641. ****************************************************************************************/
  642. function group4_btn_showchoidept_onclick(obj:Button, e:ClickEventInfo) {
  643. if(group3.grd_deptlist.visible == true)
  644. {
  645. group3.grd_deptlist.visible = false;
  646. group4.btn_showchoidept.text = "선택부서보기";
  647. }
  648. else
  649. {
  650. group3.grd_deptlist.visible = true;
  651. group4.btn_showchoidept.text = "선택부서닫기";
  652. }
  653. }
  654. /****************************************************************************************
  655. * Components : Grid
  656. * Description : 그리드 버튼 클릭
  657. ****************************************************************************************/
  658. function group3_grd_deptlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  659. {
  660. misfGridInit(group3.grd_deptlist);
  661. ds_main_deptlist.addRow();
  662. misfOpenPopUpList("08", group3.grd_deptlist, "", "check,deptcd,deptnm");
  663. }
  664. function Edit_onkeydown(obj:Edit, e:KeyEventInfo)
  665. {
  666. if(e.keycode == 13) obj.updateToDataset();
  667. }
  668. function ds_send_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  669. {
  670. if(e.columnid == "deptcd") {
  671. var setFocus = this.getFocus();
  672. group3.group2.ipt_dutdeptcd.setFocus();
  673. misfValidationCheck("02", "", "deptcd,deptnm", group3.group2.cmb_instcd.value, "instcd");
  674. group3.group2.btn_search.click();
  675. setFocus.setFocus();
  676. }else if(e.columnid == "deptnm"){
  677. var setFocus = this.getFocus();
  678. group3.group2.ipt_dutdeptnm.setFocus();
  679. misfValidationCheck("02", "", "deptcd,deptnm", group3.group2.cmb_instcd.value, "instcd");
  680. group3.group2.btn_search.click();
  681. setFocus.setFocus();
  682. }
  683. }
  684. function ds_main_dutbasecdlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  685. {
  686. if(e.columnid == "check")
  687. {
  688. obj.setColumn(e.row, "check", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  689. }
  690. }
  691. function ds_main_dutdeptlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  692. {
  693. if(e.columnid=="check") {
  694. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  695. }
  696. }
  697. function ds_main_deptlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  698. {
  699. if(e.columnid=="check") {
  700. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  701. }
  702. }
  703. /****************************************************************************************
  704. * Components : Button
  705. * Description : 오른쪽으로
  706. ****************************************************************************************/
  707. function group3_btn_right_onclick(obj:Button, e:ClickEventInfo)
  708. {
  709. fSetDeptPrCodeReg();
  710. }
  711. /****************************************************************************************
  712. * Components : Button
  713. * Description : 왼쪽으로
  714. ****************************************************************************************/
  715. function group3_btn_left_onclick(obj:Button, e:ClickEventInfo)
  716. {
  717. ds_main_deptdutcdlist.deleteRow(ds_main_deptdutcdlist.rowposition);
  718. }
  719. /****************************************************************************************
  720. * Components : Grid
  721. * Description : 그리드 버튼 클릭
  722. ****************************************************************************************/
  723. function group3_grd_deptdutcdlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  724. {
  725. if (e.col == obj.getBindCellIndex("body","deptcd"))
  726. { //부서코드 버튼을 눌렀을 때
  727. misfOpenPopUpList("02", group3.grd_deptdutcdlist, "", "deptcd,deptnm");
  728. }
  729. else if (e.col == obj.getBindCellIndex("body","dutcd"))
  730. { //근무코드 버튼을 눌렀을 때
  731. misfOpenPopUpList("09", group3.grd_deptdutcdlist, "", "dutcd,dutnm", group3.group2.cmb_instcd.value, "instcd");
  732. }
  733. }
  734. ]]></Script>
  735. </Form>
  736. </FDL>