SMRAR01200_신용카드사용신청.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAR01200" position="absolute 0 0 1198 757" titletext="신용카드 사용신청" oninit="SMRAR01200_oninit" onload="SMRAR01200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="line2" class="line_6" position="absolute 0 45 1194 51" anchor="left top right"/>
  8. <Button id="btn_print" taborder="1" text="출력" class="btn4" position="absolute 1075 24 1131 46" anchor="top right" onclick="btn_print_onclick"/>
  9. <Button id="btn_save" taborder="2" text="저장" class="btn4" position="absolute 1137 24 1193 46" anchor="top right" onclick="btn_save_onclick"/>
  10. <Static id="caption6" text="신용카드 사용신청" class="tit_1" position="absolute 0 0 293 25"/>
  11. <Div id="grp_sea" taborder="3" class="div_SA2" position="absolute 0 49 1195 89" anchor="left top right">
  12. <Layouts>
  13. <Layout>
  14. <Button id="button2" taborder="1" text="조회" class="btn1" position="absolute 1123 9 1179 31" anchor="top right" onclick="grp_sea_button2_onclick"/>
  15. <Shape id="line5" linetype="vertical" class="line_4" position="absolute 1104 8 1110 30" anchor="top right"/>
  16. <Calendar id="ipt_frdate" taborder="2" class="input_s_essential" position="absolute 100 9 200 28" mask="yyyy-mm-dd" autoselect="true" autoskip="true"/>
  17. <Static id="caption3" text="신청일자 :" class="search_name" position="absolute 11 11 100 28"/>
  18. <Calendar id="ipt_todate" taborder="3" class="input_s_essential" position="absolute 220 9 320 28" mask="yyyy-mm-dd" autoselect="true" autoskip="true"/>
  19. <Static id="caption2" text="~" position="absolute 205 10 220 30"/>
  20. </Layout>
  21. </Layouts>
  22. </Div>
  23. <Shape id="line3" class="line_10" position="absolute 0 114 1194 120" anchor="left top right"/>
  24. <Grid id="grd_main" taborder="4" binddataset="ds_main_maindatalist" useinputpanel="false" position="absolute 0 119 1194 754" autoenter="select" cellsizingtype="col" anchor="all">
  25. <Formats>
  26. <Format id="default">
  27. <Columns>
  28. <Column size="26"/>
  29. <Column size="60"/>
  30. <Column size="80"/>
  31. <Column size="80"/>
  32. <Column size="100"/>
  33. <Column size="60"/>
  34. <Column size="60"/>
  35. <Column size="80"/>
  36. <Column size="80"/>
  37. <Column size="190"/>
  38. <Column size="100"/>
  39. <Column size="100"/>
  40. <Column size="260"/>
  41. <Column size="250"/>
  42. <Column size="60"/>
  43. <Column size="90"/>
  44. <Column size="140"/>
  45. <Column size="70"/>
  46. <Column size="0"/>
  47. </Columns>
  48. <Rows>
  49. <Row size="24" band="head"/>
  50. <Row size="24"/>
  51. </Rows>
  52. <Band id="head">
  53. <Cell/>
  54. <Cell col="1" text="사용자"/>
  55. <Cell col="2" text="신청일자"/>
  56. <Cell col="3" text="사용부서"/>
  57. <Cell col="4" text="사용부서명"/>
  58. <Cell col="5" text="일련번호"/>
  59. <Cell col="6" text="재무확인"/>
  60. <Cell col="7" text="예상금액"/>
  61. <Cell col="8" text="실사용금액"/>
  62. <Cell col="9" text="사용처"/>
  63. <Cell col="10" text="사용시작"/>
  64. <Cell col="11" text="사용종료"/>
  65. <Cell col="12" text="신청사유"/>
  66. <Cell col="13" text="참석인원"/>
  67. <Cell col="14" text="부서장"/>
  68. <Cell col="15" text="품의번호"/>
  69. <Cell col="16" text="카드번호"/>
  70. <Cell col="17" text="카드수령자"/>
  71. <Cell col="18" text="instcd"/>
  72. </Band>
  73. <Band id="body">
  74. <Cell celltype="head"/>
  75. <Cell col="1" text="bind:lastupdtrid" editautoselect="true"/>
  76. <Cell col="2" displaytype="date" edittype="date" style="align:center middle;" class="input_s_essential" text="bind:requestdate" editautoselect="true" calendardisplaynulltype="nulltext"/>
  77. <Cell col="3" text="bind:usebuseo" editautoselect="true"/>
  78. <Cell col="4" text="bind:usebuseonm" editautoselect="true"/>
  79. <Cell col="5" text="bind:seqno" editautoselect="true"/>
  80. <Cell col="6" text="bind:adminjeamu" editautoselect="true"/>
  81. <Cell col="7" displaytype="number" edittype="normal" class="input_s_essential" text="bind:yskeum" editautoselect="true"/>
  82. <Cell col="8" displaytype="number" edittype="normal" class="input_s_essential" text="bind:silkeum" editautoselect="true"/>
  83. <Cell col="9" displaytype="text" edittype="text" class="input_s_essential" text="bind:useplace" editautoselect="true"/>
  84. <Cell col="10" displaytype="date" edittype="date" style="align:center middle;" class="input_s_essential" text="bind:frdate" editautoselect="true" calendardisplaynulltype="nulltext"/>
  85. <Cell col="11" displaytype="date" edittype="date" style="align:center middle;" class="input_s_essential" text="bind:todate" editautoselect="true" calendardisplaynulltype="nulltext"/>
  86. <Cell col="12" displaytype="text" edittype="text" class="input_s_essential" text="bind:requestcause" editautoselect="true"/>
  87. <Cell col="13" displaytype="text" edittype="text" class="input_s_essential" text="bind:attend" editautoselect="true"/>
  88. <Cell col="14" text="bind:admindept" editautoselect="true"/>
  89. <Cell col="15" text="bind:pumno" editautoselect="true"/>
  90. <Cell col="16" text="bind:cardno" editautoselect="true"/>
  91. <Cell col="17" text="bind:receiptsabun" editautoselect="true"/>
  92. <Cell col="18" text="bind:instcd"/>
  93. </Band>
  94. </Format>
  95. </Formats>
  96. </Grid>
  97. <Button id="button18" taborder="5" text="행삭제" class="btn2" position="absolute 1140 94 1193 113" anchor="top right" onclick="button18_onclick"/>
  98. <Button id="btn_addrow" taborder="6" text="행추가" class="btn2" position="absolute 1083 94 1136 113" anchor="top right" onclick="btn_addrow_onclick"/>
  99. <Static id="caption21" text="출력 목록" class="tit_2" position="absolute 0 98 131 119"/>
  100. </Layout>
  101. </Layouts>
  102. <Objects>
  103. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  104. <ColumnInfo>
  105. <Column id="instcd" type="STRING" size="256"/>
  106. <Column id="frdate" type="STRING" size="256"/>
  107. <Column id="todate" type="STRING" size="256"/>
  108. <Column id="cardsearchtype" type="STRING" size="256"/>
  109. </ColumnInfo>
  110. <Rows>
  111. <Row>
  112. <Col id="instcd"/>
  113. <Col id="frdate"/>
  114. <Col id="todate"/>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_main_maindatalist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="instcd" type="STRING" size="256" sumtext=""/>
  121. <Column id="lastupdtrid" type="STRING" size="256" sumtext=""/>
  122. <Column id="requestdate" type="STRING" size="256" sumtext=""/>
  123. <Column id="usebuseo" type="STRING" size="256" sumtext=""/>
  124. <Column id="usebuseonm" type="STRING" size="256" sumtext=""/>
  125. <Column id="seqno" type="STRING" size="256" sumtext=""/>
  126. <Column id="adminjeamu" type="STRING" size="256" sumtext=""/>
  127. <Column id="yskeum" type="STRING" size="256" sumtext=""/>
  128. <Column id="silkeum" type="STRING" size="256" sumtext=""/>
  129. <Column id="useplace" type="STRING" size="256" sumtext=""/>
  130. <Column id="frdate" type="STRING" size="256" sumtext=""/>
  131. <Column id="todate" type="STRING" size="256" sumtext=""/>
  132. <Column id="requestcause" type="STRING" size="256" sumtext=""/>
  133. <Column id="admindept" type="STRING" size="256" sumtext=""/>
  134. <Column id="admindeptnm" type="STRING" size="256" sumtext=""/>
  135. <Column id="pumno" type="STRING" size="256" sumtext=""/>
  136. <Column id="cardno" type="STRING" size="256" sumtext=""/>
  137. <Column id="receiptsabun" type="STRING" size="256" sumtext=""/>
  138. <Column id="adminceo" type="STRING" size="256" sumtext=""/>
  139. <Column id="lastupdtdt" type="STRING" size="256" sumtext=""/>
  140. <Column id="fstrgstdt" type="STRING" size="256" sumtext=""/>
  141. <Column id="attend" type="STRING" size="256" sumtext=""/>
  142. </ColumnInfo>
  143. </Dataset>
  144. <Dataset id="ds_init_cardnolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="label" type="STRING" size="256" sumtext=""/>
  147. <Column id="value" type="STRING" size="256" sumtext=""/>
  148. <Column id="jobposcd" type="STRING" size="256" sumtext=""/>
  149. </ColumnInfo>
  150. </Dataset>
  151. <Dataset id="ds_main_printdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  152. <ColumnInfo>
  153. <Column id="usebuseonm" type="STRING" size="256"/>
  154. <Column id="yskeum" type="STRING" size="256"/>
  155. <Column id="useplace" type="STRING" size="256"/>
  156. <Column id="frdate" type="STRING" size="256"/>
  157. <Column id="todate" type="STRING" size="256"/>
  158. <Column id="requestcause" type="STRING" size="256"/>
  159. <Column id="requestdate" type="STRING" size="256"/>
  160. <Column id="admindeptnm" type="STRING" size="256"/>
  161. </ColumnInfo>
  162. <Rows>
  163. <Row>
  164. <Col id="usebuseonm"/>
  165. <Col id="yskeum"/>
  166. <Col id="useplace"/>
  167. <Col id="frdate"/>
  168. <Col id="todate"/>
  169. <Col id="requestcause"/>
  170. <Col id="requestdate"/>
  171. <Col id="admindeptnm"/>
  172. </Row>
  173. </Rows>
  174. </Dataset>
  175. </Objects>
  176. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  177. * System Name :
  178. * Job Name :
  179. * Creator :
  180. * Make Date : 2017-06-19
  181. * Description :
  182. *---------------------------------------------------------------------------------------
  183. * Modify Date Modifier Modify Description
  184. *---------------------------------------------------------------------------------------
  185. * 2017-06-19 Live Converter TF->XP
  186. *
  187. *---------------------------------------------------------------------------------------
  188. ****************************************************************************************/
  189. include "com_commonxp::comm_main.xjs";
  190. include "mis_miscommonxp::MIS.xjs";
  191. function SMRAR01200_oninit(obj:Form, e:InitEventInfo)
  192. {
  193. frmf_initForm(obj);
  194. }
  195. function SMRAR01200_onload(obj:Form, e:LoadEventInfo)
  196. {
  197. grdf_initGrid(grd_main);
  198. grdf_setRowTypeIcon(grd_main, 0);
  199. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  200. var dt = new Date();
  201. var lastdt = new Date(dt.getYear(), dt.getMonth()+1, 0);
  202. grp_sea.ipt_frdate.value = String(utlf_getCurrentDate()).substr(0, 6) + "01";
  203. grp_sea.ipt_todate.value = String(utlf_getCurrentDate()).substr(0, 6) + lastdt.getDate();
  204. grp_sea.ipt_frdate.setFocus();
  205. var oParam = {};
  206. oParam.id = "TRRAR01202";
  207. oParam.service = "accountinginfoapp.AccountingInfo";
  208. oParam.method = "getCardNoList";
  209. oParam.inds = "req=ds_send";
  210. oParam.outds = "ds_init_cardnolist=cardnolist";
  211. oParam.async = false;
  212. //oParam.callback = "cf_TRRAR01202";
  213. tranf_submit(oParam);
  214. grp_sea.button2.click();
  215. }
  216. function grp_sea_button2_onclick(obj:Button, e:ClickEventInfo)
  217. {
  218. var oParam = {};
  219. oParam.id = "TRRAR01101";
  220. oParam.service = "accountinginfoapp.AccountingInfo";
  221. oParam.method = "getCreditCardList";
  222. oParam.inds = "req=ds_send";
  223. oParam.outds = "ds_main_maindatalist=maindatalist";
  224. oParam.async = false;
  225. //oParam.callback = "cf_TRRAR01101";
  226. tranf_submit(oParam);
  227. }
  228. function btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  229. {
  230. var insert_cnt = 0;
  231. for ( var i = 0; i < ds_main_maindatalist.rowcount; i++ )
  232. {
  233. if(ds_main_maindatalist.getRowType(i) == "2")
  234. {
  235. insert_cnt = insert_cnt + 1 ;
  236. }
  237. }
  238. if ( insert_cnt > 0)
  239. {
  240. alert("카드사용신청은 한번에 1건식 처리 가능합니다.\n\n1건만 저장 후 다시 해 주세요");
  241. }
  242. else
  243. {
  244. var addRow = ds_main_maindatalist.addRow();
  245. ds_main_maindatalist.setColumn(addRow, "instcd", sysf_getUserInfo("dutplceinstcd"));
  246. ds_main_maindatalist.setColumn(addRow, "lastupdtrid", sysf_getUserInfo("userid"));
  247. ds_main_maindatalist.setColumn(addRow, "receiptsabun", sysf_getUserInfo("userid"));
  248. ds_main_maindatalist.setColumn(addRow, "usebuseo", sysf_getUserInfo("dutplcecd"));
  249. ds_main_maindatalist.setColumn(addRow, "requestdate", utlf_getCurrentDate());
  250. if (String(ds_init_cardnolist.getColumn(0, "jobposcd")).length > 0 )
  251. {
  252. ds_main_maindatalist.setColumn(addRow, "admindept", sysf_getUserInfo("userid"));
  253. }
  254. }
  255. }
  256. function button18_onclick(obj:Button, e:ClickEventInfo)
  257. {
  258. if ( ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "adminjeamu") =="Y" )
  259. {
  260. alert("재무팀에서 확인된 자료의 삭제 불가 합니다!!");
  261. }
  262. else if (String(ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "pumno")).length > 0 )
  263. {
  264. alert("품의 번호가 있는 자료는 삭제 불가 합니다!!");
  265. }
  266. else
  267. {
  268. if(ds_main_maindatalist.getRowType(ds_main_maindatalist.rowposition) == "2")
  269. {
  270. ds_main_maindatalist.deleteRow(ds_main_maindatalist.rowposition);
  271. }
  272. else
  273. {
  274. ds_main_maindatalist.updatecontrol = false;
  275. ds_main_maindatalist.setRowType(ds_main_maindatalist.rowposition, "d");
  276. ds_main_maindatalist.updatecontrol = true;
  277. }
  278. btn_save.click();
  279. }
  280. }
  281. function btn_print_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. if (ds_main_maindatalist.rowposition < 0)
  284. {
  285. alert("프린트할 Data를 선택해 주세요.");
  286. }
  287. else
  288. {
  289. ds_main_printdata.clearData();
  290. ds_main_printdata.addRow();
  291. ds_main_printdata.setColumn(0, "usebuseonm", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "usebuseonm"));
  292. ds_main_printdata.setColumn(0, "yskeum", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "yskeum"));
  293. ds_main_printdata.setColumn(0, "useplace", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "useplace"));
  294. ds_main_printdata.setColumn(0, "frdate", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "frdate"));
  295. ds_main_printdata.setColumn(0, "todate", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "todate"));
  296. ds_main_printdata.setColumn(0, "requestcause", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "requestcause"));
  297. ds_main_printdata.setColumn(0, "requestdate", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "requestdate"));
  298. ds_main_printdata.setColumn(0, "admindeptnm", ds_main_maindatalist.getColumn(ds_main_maindatalist.rowposition, "admindeptnm"));
  299. var objDOM = rptf_createDOM();
  300. rptf_setNodeListToDOM(objDOM, "/root/main/printdata", ds_main_printdata);
  301. var objParam = new Object();
  302. objParam.xml_data_XML1 = objDOM.documentElement.source;
  303. var option = "";
  304. exeReportPreview("SMRAR01201", "XMLSTR");
  305. }
  306. }
  307. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  308. {
  309. if(fSetChackValue())
  310. {
  311. rtn = sysf_messageBox("Data변경이 일어났습니다.","Q002");
  312. if ( rtn == "6" )
  313. {
  314. var oParam = {};
  315. oParam.id = "TXRAR01201";
  316. oParam.service = "accountinginfoapp.AccountingInfo";
  317. oParam.method = "setCreditcardRequest";
  318. oParam.inds = "req=ds_main_maindatalist:u";
  319. oParam.outds = "ds_=line";
  320. oParam.async = false;
  321. oParam.callback = "cf_TXRAR01201";
  322. tranf_submit(oParam);
  323. }
  324. }
  325. }
  326. function cf_TXRAR01201(sSvcId, nErrorCode, sErrorMsg)
  327. {
  328. if(nErrorCode < 0)
  329. {
  330. return;
  331. }
  332. else
  333. {
  334. grp_sea.button2.click();
  335. }
  336. }
  337. function fSetChackValue()
  338. {
  339. var updtdata = grdf_getGridUpdateData(grd_main).rowcount;
  340. if (updtdata == 0)
  341. {
  342. sysf_messageBox("변경된 데이터가","I004");
  343. return false;
  344. }
  345. var row = ds_main_maindatalist.rowposition;
  346. for ( var i = 0; i < ds_main_maindatalist.rowcount; i++ )
  347. {
  348. if ( ds_main_maindatalist.getRowType(i) == "2" || ds_main_maindatalist.getRowType(i) == "4")
  349. {
  350. if ( String(ds_main_maindatalist.getColumn(i, "pumno")).length > 0 )
  351. {
  352. alert("품의번호가 있는 예산 합의가 종료된 자료의 변경은 불가 합니다!!");
  353. ds_main_maindatalist.rowposition = i;
  354. return false;
  355. }
  356. if ( String(ds_main_maindatalist.getColumn(i, "yskeum")).length == 0)
  357. {
  358. sysf_messageBox("예상금액을" ,"C001");
  359. ds_main_maindatalist.rowposition = i;
  360. grd_main.setCellPos(grd_main.getBindCellIndex("body", "yskeum"));
  361. grd_main.showEditor(true);
  362. return false;
  363. }
  364. if ( String(ds_main_maindatalist.getColumn(i, "useplace")).length == 0)
  365. {
  366. sysf_messageBox("사용처를" ,"C001");
  367. ds_main_maindatalist.rowposition = i;
  368. grd_main.setCellPos(grd_main.getBindCellIndex("body", "useplace"));
  369. grd_main.showEditor(true);
  370. return false;
  371. }
  372. if ( String(ds_main_maindatalist.getColumn(i, "requestcause")).length == 0)
  373. {
  374. sysf_messageBox("신청사유를" ,"C001");
  375. ds_main_maindatalist.rowposition = i;
  376. grd_main.setCellPos(grd_main.getBindCellIndex("body", "requestcause"));
  377. grd_main.showEditor(true);
  378. return false;
  379. }
  380. }
  381. }
  382. return true;
  383. }]]></Script>
  384. </Form>
  385. </FDL>