SPAER02300_예약변경조회부서관리.xfdl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPAER02300" position="absolute 0 0 391 650" titletext="예약변경 조회 지원부서 관리" onload="SPAER02300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="예약변경 조회 지원부서 관리" class="tit_1" position="absolute 0 0 220 25"/>
  8. <Static id="caption1" text="기준지원부서 관리" class="tit_2" position="absolute 0 33 142 51"/>
  9. <Button id="btn_grdadd" taborder="1" text="행추가" class="btn2" position="absolute 281 27 334 49" onclick="btn_grdadd_onclick" anchor="top right"/>
  10. <Button id="btn_grddel" taborder="2" text="행삭제" class="btn2" position="absolute 337 27 390 49" onclick="btn_grddel_onclick" anchor="top right"/>
  11. <Grid id="datagrid1" taborder="3" binddataset="ds_main_examcurelist_item" useinputpanel="false" position="absolute 0 54 390 621" autofittype="col" autoenter="select" anchor="all">
  12. <Formats>
  13. <Format id="default">
  14. <Columns>
  15. <Column size="25" band="left"/>
  16. <Column size="366"/>
  17. <Column size="0"/>
  18. </Columns>
  19. <Rows>
  20. <Row size="24" band="head"/>
  21. <Row size="24"/>
  22. </Rows>
  23. <Band id="head">
  24. <Cell/>
  25. <Cell col="1" text="수행부서"/>
  26. <Cell col="2" text="caption1"/>
  27. </Band>
  28. <Band id="body">
  29. <Cell celltype="head"/>
  30. <Cell col="1" displaytype="combo" edittype="expr:getRowType(currow) == '2' ? 'combo' : 'none'" text="bind:suppdeptcd" combodataset="ds_init_cmb_info_initbasesuppdeptcd" combocodecol="basesuppdeptcd" combodatacol="depthngnm" combodisplayrowcount="20" enable="false"/>
  31. <Cell col="2" text="bind:flag"/>
  32. </Band>
  33. </Format>
  34. </Formats>
  35. </Grid>
  36. <Button id="btn_save" taborder="4" text="저장" class="btn4" position="absolute 334 625 390 647" onclick="btn_save_onclick" anchor="right bottom"/>
  37. <Shape id="line2" class="line_10" position="absolute 0 49 390 55" anchor="left top right"/>
  38. </Layout>
  39. </Layouts>
  40. <Objects>
  41. <Dataset id="ds_main_examcurelist_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  42. <ColumnInfo>
  43. <Column id="suppdeptcd" type="STRING" size="256"/>
  44. <Column id="flag" type="STRING" size="256"/>
  45. </ColumnInfo>
  46. <Rows>
  47. <Row>
  48. <Col id="suppdeptcd"/>
  49. <Col id="flag"/>
  50. </Row>
  51. </Rows>
  52. </Dataset>
  53. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  54. <ColumnInfo>
  55. <Column id="basecd" type="STRING" size="256"/>
  56. <Column id="flag" type="STRING" size="256"/>
  57. <Column id="windowloadinstance" type="STRING" size="256"/>
  58. </ColumnInfo>
  59. <Rows>
  60. <Row>
  61. <Col id="basecd"/>
  62. <Col id="flag"/>
  63. </Row>
  64. </Rows>
  65. </Dataset>
  66. <Dataset id="ds_send_globalinstance" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  67. <ColumnInfo>
  68. <Column id="instance1" type="STRING" size="256"/>
  69. </ColumnInfo>
  70. <Rows>
  71. <Row>
  72. <Col id="instance1"/>
  73. </Row>
  74. </Rows>
  75. </Dataset>
  76. <Dataset id="ds_send_req_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  77. <Dataset id="ds_init_cmb_info_initbasesuppdeptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  78. <ColumnInfo>
  79. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  80. <Column id="depthngnm" type="STRING" size="256"/>
  81. </ColumnInfo>
  82. <Rows>
  83. <Row>
  84. <Col id="basesuppdeptcd"/>
  85. <Col id="depthngnm"/>
  86. </Row>
  87. </Rows>
  88. </Dataset>
  89. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  90. <ColumnInfo>
  91. <Column id="item" type="STRING" size="256"/>
  92. </ColumnInfo>
  93. </Dataset>
  94. </Objects>
  95. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  96. * System Name :
  97. * Job Name :
  98. * Creator :
  99. * Make Date : 2017-12-04
  100. * Description :
  101. *---------------------------------------------------------------------------------------
  102. * Modify Date Modifier Modify Description
  103. *---------------------------------------------------------------------------------------
  104. * 2017-06-19 Live Converter TF->XP
  105. *
  106. *---------------------------------------------------------------------------------------
  107. ****************************************************************************************/
  108. //=======================================================================================
  109. // Lib Include
  110. //---------------------------------------------------------------------------------------
  111. include "com_commonxp::comm_main.xjs";
  112. include "ast_examcurexp::AEZ0001.xjs";
  113. //=======================================================================================
  114. // Global Form Variable
  115. //---------------------------------------------------------------------------------------
  116. var arErrorCode = new HashArray();
  117. //=======================================================================================
  118. // Function
  119. //---------------------------------------------------------------------------------------
  120. /*-**************************************************************************************
  121. * Argument : N/A
  122. * Description : 조회
  123. ****************************************************************************************/
  124. function readfunc() {
  125. ds_main_examcurelist_item.clearData();
  126. var oParam = {};
  127. oParam.id = "TRAER02301";
  128. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  129. oParam.method = "reqGetSuppdeptRsrvList";
  130. oParam.inds = "req=ds_send";
  131. oParam.outds = "ds_main_examcurelist_item=item";
  132. oParam.async = false;
  133. //oParam.callback = "cf_TRAER02301";
  134. tranf_submit(oParam);
  135. }
  136. /*-**************************************************************************************
  137. * Argument : N/A
  138. * Description : 저장시 데이터 체크
  139. ****************************************************************************************/
  140. function datacheck(){
  141. var ssuppdeptcd = "";
  142. var ssuppdeptcd1 = "";
  143. var sbaseexcuroomcd = "";
  144. for (var i = 0; i < ds_main_examcurelist_item.rowcount; i++){
  145. ssuppdeptcd = ds_main_examcurelist_item.getColumn(i, "suppdeptcd");
  146. if (utlf_isNull(ssuppdeptcd)){
  147. sysf_messageBox(i + "번째행의 수행부서는 필수 선택항목입니다.", "E999", "");
  148. return false;
  149. }
  150. }
  151. for (var i = 0; i < ds_main_examcurelist_item.rowcount - 1; i++){
  152. ssuppdeptcd = ds_main_examcurelist_item.getColumn(i, "suppdeptcd");
  153. for (var j = 0; j < ds_main_examcurelist_item.rowcount; j++){
  154. ssuppdeptcd1 = ds_main_examcurelist_item.getColumn(j, "suppdeptcd");
  155. if (i != j){
  156. if (ssuppdeptcd == ssuppdeptcd1){
  157. sysf_messageBox(j + "번째에서 중복된 자료가 존재합니다", "E999", "");
  158. return false;
  159. }
  160. }
  161. }
  162. }
  163. }
  164. //=======================================================================================
  165. // Event
  166. //---------------------------------------------------------------------------------------
  167. /****************************************************************************************
  168. * Components : Form
  169. * Description : 화면 처음 초기화시 폼초기화
  170. ****************************************************************************************/
  171. function SPAER02300_onload(obj:Form, e:LoadEventInfo) {
  172. frmf_initForm(obj);
  173. //grdf_initGrid(grd_XXX);
  174. //grdf_setGridSort(grd_XXX);
  175. grdf_setRowTypeIcon(datagrid1, 0);
  176. ds_send.setColumn( 0, "flag", "1"); // 1 : 예약변경 및 취소조회
  177. ds_init_cmb_info_initbasesuppdeptcd.clearData();
  178. var oParam = {};
  179. oParam.id = "TRAER02201";
  180. oParam.service = "examcurebaseapp.ExamCureRoom";
  181. oParam.method = "reqGetInitBaseSuppdeptcd";
  182. oParam.inds = "req=ds_send";
  183. oParam.outds = "ds_init_cmb_info_initbasesuppdeptcd=initbasesuppdeptcd";
  184. oParam.async = false;
  185. //oParam.callback = "cf_TRAER02201";
  186. tranf_submit(oParam);
  187. readfunc();
  188. }
  189. /****************************************************************************************
  190. * Components : Button
  191. * Description : 행추가
  192. ****************************************************************************************/
  193. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  194. var nRow = ds_main_examcurelist_item.addRow();
  195. ds_main_examcurelist_item.setColumn( nRow, "flag", ds_send.getColumn(0, "flag"));
  196. }
  197. /****************************************************************************************
  198. * Components : Button
  199. * Description : 행삭제
  200. ****************************************************************************************/
  201. function btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  202. var grdObj = datagrid1;
  203. var dsObj = this.objects[grdObj.binddataset];
  204. var cRow = dsObj.rowposition;
  205. if( dsObj.getRowType(cRow) == 2 ) {
  206. dsObj.deleteRow(cRow);
  207. }else{
  208. grdf_setStatus(grdObj, "D", [cRow]);
  209. }
  210. }
  211. /****************************************************************************************
  212. * Components : Button
  213. * Description : 저장
  214. ****************************************************************************************/
  215. function btn_save_onclick(obj:Button, e:ClickEventInfo) {
  216. if (datacheck() == false){
  217. return;
  218. }
  219. var update = grdf_getGridUpdateData(datagrid1, "all");
  220. grdf_setStatusColumn(update, "m");
  221. if(utlf_isNull(update) || update.rowcount == 0){
  222. sysf_messageBox("업데이트 정보가 없습니다.", "I");
  223. return 0;
  224. } else {
  225. ds_send_req_data.copyData(update, true);
  226. var oParam = {};
  227. oParam.id = "TXAER02301";
  228. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  229. oParam.method = "reqExeSuppdeptRsrvList";
  230. oParam.inds = "req=ds_send_req_data";
  231. oParam.outds = "ds_hidden=item";
  232. oParam.async = false;
  233. oParam.callback = "cf_TXAER02301";
  234. tranf_submit(oParam);
  235. if(arErrorCode.pop("TXAER02301") > -1) {
  236. readfunc();
  237. }
  238. }
  239. }
  240. function cf_TXAER02301(sSvcId, nErrorCode, sErrorMsg) {
  241. arErrorCode.push(sSvcId, nErrorCode);
  242. }
  243. ]]></Script>
  244. </Form>
  245. </FDL>