SMRAH03400_특별정산구분코드관리.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAH03400" position="absolute 0 0 1280 1024" titletext="특별정산 구분코드 관리" onload="SMRAH03400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="line7" class="line_1" linetype="horizontal" position="absolute 0 116 1195 119" style="strokepen:5 solid #33bbbbff;" anchor="default"/>
  8. <Grid id="datagrid1" binddataset="ds_main_codeinfo_codelist" position="absolute 0 121 1195 730" style="" ontextchanged="datagrid1_ontextchanged" onaftersort="datagrid1_onaftersort" autoenter="select" oncellclick="datagrid1_oncellclick">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="29"/>
  13. <Column size="99"/>
  14. <Column size="424"/>
  15. <Column size="99"/>
  16. <Column size="316"/>
  17. <Column size="100"/>
  18. <Column size="100"/>
  19. <Column size="0"/>
  20. <Column size="0"/>
  21. <Column size="0"/>
  22. </Columns>
  23. <Rows>
  24. <Row size="24" band="head"/>
  25. <Row size="24"/>
  26. </Rows>
  27. <Band id="head">
  28. <Cell/>
  29. <Cell col="1" text="구분코드"/>
  30. <Cell col="2" text="명칭"/>
  31. <Cell col="3" text="지급일"/>
  32. <Cell col="4" text="비고"/>
  33. <Cell col="5" text="정렬순서"/>
  34. <Cell col="6" text="사용여부"/>
  35. <Cell col="7" text="instcd"/>
  36. <Cell col="8" text="grupcdid"/>
  37. <Cell col="9" text="orgcdid"/>
  38. </Band>
  39. <Band id="body">
  40. <Cell celltype="head"/>
  41. <Cell col="1" displaytype="text" edittype="text" style="align:center middle;" text="bind:cdid"/>
  42. <Cell col="2" displaytype="text" edittype="text" style="align:left middle;" text="bind:cdnm"/>
  43. <Cell col="3" displaytype="date" edittype="date" text="bind:cntlcd1" mask="yyyy-MM-dd" editautoselect="true" calendardisplay="display" calendardisplaynulltype="nulltext"/>
  44. <Cell col="4" displaytype="text" edittype="text" text="bind:detldesc"/>
  45. <Cell col="5" displaytype="text" edittype="text" style="align:center middle;" text="bind:dispseq"/>
  46. <Cell col="6" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:useyn" combodataset="ds_cmb_useyn" combocodecol="value" combodatacol="label"/>
  47. <Cell col="7" text="bind:instcd"/>
  48. <Cell col="8" text="bind:grupcdid"/>
  49. <Cell col="9" text="bind:orgcdid"/>
  50. </Band>
  51. </Format>
  52. </Formats>
  53. </Grid>
  54. <Static id="caption4" class="tit_2" position="absolute 2 96 147 117" style="" text="코드별 상세정보"/>
  55. <Button id="btn_grdadd" class="btn2" position="absolute 1085 95 1138 114" style="" text="행추가" onclick="btn_grdadd_onclick"/>
  56. <Button id="btn_grddel" class="btn2" position="absolute 1141 95 1194 114" style="" text="행삭제" onclick="btn_grddel_onclick"/>
  57. <Static id="caption1" class="tit_1" position="absolute 0 3 196 25" style="" text="특별정산 구분코드 관리"/>
  58. <Div id="group4" scrollbars="none" position="absolute 0 15 1195 42" style="">
  59. <Layouts>
  60. <Layout>
  61. <Shape id="line2" class="line_6" linetype="horizontal" position="absolute 0 24 1195 27" style="strokepen:3 solid #9ebed4ff;" anchor="default"/>
  62. <Button id="btn_save" class="btn4" position="absolute 1139 1 1195 23" style="" text="저장" onclick="group4_btn_save_onclick" anchor="default"/>
  63. </Layout>
  64. </Layouts>
  65. </Div>
  66. <Shape id="roundrect1" anchor="default" type="roundrectangle" position="absolute 0 48 1195 85" style="border:1 solid #ffd799 #ffd799;background:#fffbf2 ;"/>
  67. <Button id="btn_search" class="btn1" position="absolute 305 55 361 77" style="" text="조회" onclick="btn_search_onclick"/>
  68. <Shape id="line3" linetype="vertical" position="absolute 290 55 293 77" style="border:1 solid #ffe4bb #ffe4bb;" anchor="default"/>
  69. <Static id="caption3" position="absolute 0 735 503 755" style="color:#ff0000;" text="※ 사용된 코드는 삭제하지 말고, 사용여부를 &quot;No&quot; 로 변경 후 저장하시기 바랍니다."/>
  70. <Combo innerdataset="" datacolumn="" codecolumn="" columncount="-1" rowcount="-1" id="cmb_instcd" class="combo_s_default" enable="False" position="absolute 130 57 272 76" style="" onitemchanged="cmb_instcd_onitemchanged"/>
  71. <Static id="caption2" class="search_name" position="absolute 49 58 125 75" style="" text="기관코드"/>
  72. </Layout>
  73. </Layouts>
  74. <Objects>
  75. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  76. <ColumnInfo>
  77. <Column id="init" type="STRING" size="256"/>
  78. </ColumnInfo>
  79. </Dataset>
  80. <Dataset id="ds_main_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  81. <ColumnInfo>
  82. <Column id="cdid" type="STRING" size="256"/>
  83. <Column id="cdnm" type="STRING" size="256"/>
  84. <Column id="cntlcd1" type="STRING" size="256"/>
  85. <Column id="detldesc" type="STRING" size="256"/>
  86. <Column id="useyn" type="STRING" size="256"/>
  87. <Column id="dispseq" type="STRING" size="256"/>
  88. <Column id="instcd" type="STRING" size="256"/>
  89. <Column id="grupcdid" type="STRING" size="256"/>
  90. <Column id="orgcdid" type="STRING" size="256"/>
  91. </ColumnInfo>
  92. <Rows>
  93. <Row>
  94. <Col id="cdid"/>
  95. <Col id="cdnm"/>
  96. <Col id="cntlcd1"/>
  97. <Col id="detldesc"/>
  98. <Col id="useyn"/>
  99. <Col id="dispseq"/>
  100. <Col id="instcd"/>
  101. <Col id="grupcdid"/>
  102. <Col id="orgcdid"/>
  103. </Row>
  104. </Rows>
  105. </Dataset>
  106. <Dataset id="ds_main_codeinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  107. <ColumnInfo/>
  108. </Dataset>
  109. <Dataset id="ds_senddata_execdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  110. <ColumnInfo>
  111. <Column id="codelist" type="STRING" size="256"/>
  112. </ColumnInfo>
  113. <Rows>
  114. <Row>
  115. <Col id="codelist"/>
  116. </Row>
  117. </Rows>
  118. </Dataset>
  119. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  120. <ColumnInfo/>
  121. </Dataset>
  122. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  123. <ColumnInfo/>
  124. </Dataset>
  125. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  126. <ColumnInfo>
  127. <Column id="instcd" type="STRING" size="256"/>
  128. <Column id="grupcdid" type="STRING" size="256"/>
  129. </ColumnInfo>
  130. <Rows>
  131. <Row>
  132. <Col id="instcd"/>
  133. <Col id="grupcdid">R0006</Col>
  134. </Row>
  135. </Rows>
  136. </Dataset>
  137. <Dataset id="ds_senddata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  138. <ColumnInfo/>
  139. </Dataset>
  140. <Dataset id="ds_cmb_useyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="label" type="STRING" size="256"/>
  143. <Column id="value" type="STRING" size="256"/>
  144. </ColumnInfo>
  145. <Rows>
  146. <Row>
  147. <Col id="label">Yes</Col>
  148. <Col id="value">Y</Col>
  149. </Row>
  150. <Row>
  151. <Col id="label">No</Col>
  152. <Col id="value">N</Col>
  153. </Row>
  154. </Rows>
  155. </Dataset>
  156. </Objects>
  157. <Bind>
  158. <BindItem id="item0" compid="cmb_instcd" propid="value" datasetid="ds_send_reqdata" columnid="instcd"/>
  159. </Bind>
  160. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
  161. include "mis_miscommonxp::MIS.xjs";
  162. //스크립트 시작 ***
  163. //전체에서 event와 src를 제외한 script 를 모두포함.
  164. function readfunc(){ // 해당 조건에 대한 사용자 권한내역을 조회한다.
  165. var oParam = {};
  166. oParam.id = "TRRAH03401";
  167. oParam.service = "acntknuhapp.Acntknuh";
  168. oParam.method = "reqGetSpecialCodeList";
  169. oParam.inds = "req=ds_send_reqdata";
  170. oParam.outds = "ds_main_codeinfo_codelist=codelist";
  171. oParam.async = false;
  172. //oParam.callback = "cf_TRRAH03401";
  173. tranf_submit(oParam);
  174. }
  175. function datacheck(){
  176. var scdid1 = "";
  177. var scdid2 = "";
  178. for (var i = 0; i < datagrid1.rows; i ++){
  179. if (ds_main_codeinfo_codelist.getColumn(i, "cdid") == ""){
  180. sysf_messageBox("코드는 필수 입력 항목입니다.", "E999", "");
  181. return false;
  182. }
  183. if (ds_main_codeinfo_codelist.getColumn(i, "cdnm") == ""){
  184. sysf_messageBox("명칭은 필수 입력 항목입니다.", "E999", "");
  185. return false;
  186. }
  187. scdid1 = ds_main_codeinfo_codelist.getColumn(i, "cdid");
  188. var k = i + 1;
  189. for (var j = k; j < datagrid1.rows; j++){
  190. scdid2 = ds_main_codeinfo_codelist.getColumn(j, "cdid");
  191. if (i != j){
  192. if (scdid1 == scdid2){
  193. sysf_messageBox(j + "번째 행에서 중복된 코드가 존재합니다", "E999", "");
  194. return false;
  195. }
  196. }
  197. }
  198. }
  199. return true;
  200. }
  201. function ExecData(){
  202. // var update = getGridUpdateData(datagrid1);
  203. // ds_senddata_execdata.setColumn( 0, "codelist", update);
  204. var oParam = {};
  205. oParam.id = "TXRAH03401";
  206. oParam.service = "acntknuhapp.Acntknuh";
  207. oParam.method = "reqExeSaveSpecialCodeList";
  208. oParam.inds = "codelist=ds_main_codeinfo_codelist:u";
  209. oParam.outds = "ds_=item";
  210. oParam.async = false;
  211. oParam.callback = "cf_TXRAH03401";
  212. tranf_submit(oParam);
  213. }
  214. function cf_TXRAH03401(sSvcId, nErrorCode, sErrorMsg) {
  215. if(nErrorCode < 0) return;
  216. readfunc();
  217. }
  218. function isDate(str) { // 날짜 형식에 대한 적합여부 체크
  219. if (str == "") return true; // 빈건 체크안함
  220. if (trim(str) == "") return true; // 빈건 체크안함
  221. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  222. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  223. var yy = new Number(str.substring(0, 4));
  224. var mm = new Number(str.substring(4, 6)) - 1;
  225. var dd = new Number(str.substring(6, 8));
  226. var date = new Date(yy, mm, dd);
  227. //alert(date.getFullYear() +"-" + (date.getMonth()+1) + "-" + date.getDate());
  228. if (yy != date.getFullYear() ||
  229. mm != date.getMonth() ||
  230. dd != date.getDate()) {
  231. return false; // 존재하지 않는 날짜
  232. }
  233. return true; // 존재하는 날짜
  234. }
  235. function trim(data){ // 문자에 대한 TRIM 작업
  236. return data.replace(/(^\s*)|(\s*$)/g, "");
  237. }
  238. //스크립트 끝
  239. function SMRAH03400_onload(obj:Form, e:LoadEventInfo) {
  240. frmf_initForm(obj);
  241. grdf_initGrid(datagrid1);
  242. //grdf_setGridSort(grd_XXX);
  243. grdf_setRowTypeIcon(datagrid1, 0);
  244. misfGridInit(datagrid1);
  245. grdf_initGrid(datagrid1);
  246. grdf_setRowTypeIcon(datagrid1, 0);
  247. misfComboInstCdListMulti("cmb_instcd", utlf_getCurrentDate(),"","N");
  248. cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  249. btn_search.click();
  250. }
  251. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  252. var irow = ds_main_codeinfo_codelist.addRow();
  253. ds_main_codeinfo_codelist.setColumn( irow , "instcd", cmb_instcd.value);
  254. ds_main_codeinfo_codelist.setColumn( irow , "grupcdid", ds_send_reqdata.getColumn(0, "grupcdid"));
  255. ds_main_codeinfo_codelist.setColumn( irow , "useyn", "Y");
  256. datagrid1.setFocus();
  257. ds_main_codeinfo_codelist.rowposition = irow;
  258. datagrid1.setCellPos(1);
  259. datagrid1.showEditor(true);
  260. }
  261. function btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  262. var status = ds_main_codeinfo_codelist.getRowType(ds_main_codeinfo_codelist.rowposition);
  263. if(status == 1)
  264. {
  265. ds_main_codeinfo_codelist.updatecontrol = false;
  266. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  267. ds_main_codeinfo_codelist.updatecontrol = true;
  268. }
  269. else if(status == 2)
  270. {
  271. ds_main_codeinfo_codelist.deleteRow(ds_main_codeinfo_codelist.rowposition);
  272. }
  273. else if(status == 4)
  274. {
  275. ds_main_codeinfo_codelist.updatecontrol = false;
  276. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  277. ds_main_codeinfo_codelist.updatecontrol = true;
  278. }
  279. else if(status == 8)
  280. {
  281. ds_main_codeinfo_codelist.updatecontrol = false;
  282. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "");
  283. ds_main_codeinfo_codelist.updatecontrol = true;
  284. }
  285. }
  286. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  287. if (datacheck() == false){
  288. return;
  289. }
  290. ExecData();
  291. }
  292. function btn_search_onclick(obj:Button, e:ClickEventInfo) {
  293. readfunc();
  294. }
  295. function cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  296. misfGridInit(datagrid1);
  297. }
  298. function datagrid1_oncellclick(obj:Grid, e:GridClickEventInfo)
  299. {
  300. grdf_controlGridCalendar(obj, e);
  301. }
  302. ]]></Script>
  303. </Form>
  304. </FDL>