SMRAH04900_QI활동비직원인건비내역.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAH04900" position="absolute 0 0 827 580" titletext="QI활동비 직원인건비내역" oninit="SMRAH04900_oninit" onload="SMRAH04900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="QI활동비 직원인건비 내역" class="tit_1" position="absolute 0 0 230 23"/>
  8. <Shape id="line5" class="line_6" position="absolute 1 45 826 51" anchor="left top right"/>
  9. <Button id="btn_print" taborder="1" text="영수증출력" class="btn6" position="absolute 617 24 709 46" anchor="top right" onclick="btn_print_onclick"/>
  10. <Button id="btn_save" taborder="2" text="저장" class="btn4" enable="false" position="absolute 711 24 767 46" anchor="top right" onclick="btn_save_onclick"/>
  11. <Button id="btn_close" taborder="3" text="닫기" class="btn4" position="absolute 769 24 825 46" anchor="top right" onclick="btn_close_onclick"/>
  12. <Shape id="line1" class="line_10" position="absolute 0 119 825 125" anchor="left top right"/>
  13. <Div id="group2" taborder="4" class="div_SA2" position="absolute 0 49 825 89" anchor="left top right">
  14. <Layouts>
  15. <Layout>
  16. <Static id="caption12" text="정산부서" class="search_name" position="absolute 522 11 600 28"/>
  17. <Static id="caption1" text="구분" class="search_name" position="absolute 130 11 185 28"/>
  18. <Edit id="ipt_buseoname" taborder="1" enable="false" position="absolute 603 10 800 29" autoselect="true" autoskip="true"/>
  19. <Edit id="ipt_flagnm" taborder="2" enable="false" position="absolute 185 10 320 29" autoselect="true" autoskip="true"/>
  20. <Static id="caption3" text="상세구분" class="search_name" position="absolute 335 11 411 28"/>
  21. <Edit id="ipt_cdnm" taborder="3" enable="false" position="absolute 415 10 505 29" autoselect="true" autoskip="true"/>
  22. <Static id="caption4" text="년도" class="search_name" position="absolute 20 11 75 28"/>
  23. <Edit id="ipt_year" taborder="4" enable="false" position="absolute 75 10 115 29" autoselect="true" autoskip="true"/>
  24. </Layout>
  25. </Layouts>
  26. </Div>
  27. <Static id="caption2" text="직원인건비 영수증 내역" class="tit_2" position="absolute 0 103 165 125"/>
  28. <Button id="btn_add" taborder="5" text="행추가" class="btn2" enable="false" position="absolute 715 100 768 119" anchor="top right" onclick="btn_add_onclick"/>
  29. <Button id="btn_delete" taborder="6" text="행삭제" class="btn2" enable="false" position="absolute 771 100 824 119" anchor="top right" onclick="btn_delete_onclick"/>
  30. <Grid id="grd_dudulist" taborder="7" binddataset="ds_main_datalist_dedulist" autoenter="select" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 124 825 574" anchor="all" onexpanddown="grd_dudulist_onexpanddown" oncellclick="grd_dudulist_oncellclick">
  31. <Formats>
  32. <Format id="default">
  33. <Columns>
  34. <Column size="27"/>
  35. <Column size="30"/>
  36. <Column size="106"/>
  37. <Column size="80"/>
  38. <Column size="80"/>
  39. <Column size="86"/>
  40. <Column size="362"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. <Column size="0"/>
  45. <Column size="0"/>
  46. <Column size="0"/>
  47. <Column size="0"/>
  48. </Columns>
  49. <Rows>
  50. <Row size="24" band="head"/>
  51. <Row size="24"/>
  52. </Rows>
  53. <Band id="head">
  54. <Cell/>
  55. <Cell col="1" text="선택"/>
  56. <Cell col="2" text="지급일"/>
  57. <Cell col="3" text="사번"/>
  58. <Cell col="4" text="성명"/>
  59. <Cell col="5" text="금액"/>
  60. <Cell col="6" text="내 용"/>
  61. <Cell col="7" text="순번"/>
  62. <Cell col="8" text="old_jidate"/>
  63. <Cell col="9" text="old_sabun"/>
  64. <Cell col="10" text="year"/>
  65. <Cell col="11" text="flagcd"/>
  66. <Cell col="12" text="cdid"/>
  67. <Cell col="13" text="buseocode"/>
  68. </Band>
  69. <Band id="body">
  70. <Cell celltype="head"/>
  71. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk" expr="expr:chk == 'Y' ? 1 : 0"/>
  72. <Cell col="2" displaytype="date" edittype="date" text="bind:jidate" editautoselect="true" calendardisplaynulltype="nulltext"/>
  73. <Cell col="3" displaytype="text" edittype="text" text="bind:emplno" editautoselect="true" expandshow="show"/>
  74. <Cell col="4" text="bind:emplnm" editautoselect="true"/>
  75. <Cell col="5" displaytype="number" edittype="normal" text="bind:amt" editautoselect="true"/>
  76. <Cell col="6" displaytype="text" edittype="text" text="bind:cmt" editautoselect="true"/>
  77. <Cell col="7" text="bind:seq"/>
  78. <Cell col="8" text="bind:old_jidate"/>
  79. <Cell col="9" text="bind:old_emplno"/>
  80. <Cell col="10" text="bind:year"/>
  81. <Cell col="11" text="bind:flagcd"/>
  82. <Cell col="12" text="bind:cdid"/>
  83. <Cell col="13" text="bind:buseocode"/>
  84. </Band>
  85. </Format>
  86. </Formats>
  87. </Grid>
  88. <Grid id="grd_prntlist" taborder="8" binddataset="ds_main_prntlist" useinputpanel="false" visible="false" position="absolute 235 234 725 309">
  89. <Formats>
  90. <Format id="default">
  91. <Columns>
  92. <Column size="106"/>
  93. <Column size="80"/>
  94. <Column size="80"/>
  95. <Column size="86"/>
  96. <Column size="89"/>
  97. </Columns>
  98. <Rows>
  99. <Row size="24" band="head"/>
  100. <Row size="24"/>
  101. </Rows>
  102. <Band id="head">
  103. <Cell text="지급일"/>
  104. <Cell col="1" text="사번"/>
  105. <Cell col="2" text="성명"/>
  106. <Cell col="3" text="금액"/>
  107. <Cell col="4" text="내 용"/>
  108. </Band>
  109. <Band id="body">
  110. <Cell text="bind:jidate"/>
  111. <Cell col="1" text="bind:emplno"/>
  112. <Cell col="2" text="bind:emplnm"/>
  113. <Cell col="3" text="bind:amt"/>
  114. <Cell col="4" text="bind:cmt"/>
  115. </Band>
  116. </Format>
  117. </Formats>
  118. </Grid>
  119. </Layout>
  120. </Layouts>
  121. <Objects>
  122. <Dataset id="ds_send_retrparam" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="year" type="STRING" size="256"/>
  125. <Column id="flagcd" type="STRING" size="256"/>
  126. <Column id="flagnm" type="STRING" size="256"/>
  127. <Column id="cdid" type="STRING" size="256"/>
  128. <Column id="cdnm" type="STRING" size="256"/>
  129. <Column id="buseocode" type="STRING" size="256"/>
  130. <Column id="buseoname" type="STRING" size="256"/>
  131. </ColumnInfo>
  132. <Rows>
  133. <Row>
  134. <Col id="year"/>
  135. <Col id="flagcd"/>
  136. <Col id="flagnm"/>
  137. <Col id="cdid"/>
  138. <Col id="cdnm"/>
  139. <Col id="buseocode"/>
  140. <Col id="buseoname"/>
  141. </Row>
  142. </Rows>
  143. </Dataset>
  144. <Dataset id="ds_main_datalist_dedulist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_datalist_dedulist_oncolumnchanged">
  145. <ColumnInfo>
  146. <Column id="cmt" type="STRING" size="256" sumtext="비고"/>
  147. <Column id="amt" type="STRING" size="256" sumtext="금액"/>
  148. <Column id="year" type="STRING" size="256" sumtext="년도"/>
  149. <Column id="flagcd" type="STRING" size="256" sumtext="정산구분"/>
  150. <Column id="cdid" type="STRING" size="256" sumtext="상세구분"/>
  151. <Column id="buseocode" type="STRING" size="256" sumtext="부서코드"/>
  152. <Column id="seq" type="STRING" size="256" sumtext="순번"/>
  153. <Column id="jidate" type="STRING" size="256" sumtext="지급일자"/>
  154. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  155. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  156. <Column id="old_jidate" type="STRING" size="256" sumtext="지급일자"/>
  157. <Column id="old_emplno" type="STRING" size="256" sumtext="사번"/>
  158. <Column id="chk" type="STRING" size="256" sumtext="선택"/>
  159. </ColumnInfo>
  160. </Dataset>
  161. <Dataset id="ds_main_prntlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="jidate" type="STRING" size="256"/>
  164. <Column id="emplno" type="STRING" size="256"/>
  165. <Column id="emplnm" type="STRING" size="256"/>
  166. <Column id="amt" type="STRING" size="256"/>
  167. <Column id="cmt" type="STRING" size="256"/>
  168. </ColumnInfo>
  169. </Dataset>
  170. <Dataset id="ds_main_datalist_oksigninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  171. <ColumnInfo>
  172. <Column id="oksign" type="STRING" size="256"/>
  173. </ColumnInfo>
  174. </Dataset>
  175. </Objects>
  176. <Bind>
  177. <BindItem id="item0" compid="group2.ipt_year" propid="value" datasetid="ds_send_retrparam" columnid="year"/>
  178. <BindItem id="item1" compid="group2.ipt_flagnm" propid="value" datasetid="ds_send_retrparam" columnid="flagnm"/>
  179. <BindItem id="item2" compid="group2.ipt_cdnm" propid="value" datasetid="ds_send_retrparam" columnid="cdnm"/>
  180. <BindItem id="item3" compid="group2.ipt_buseoname" propid="value" datasetid="ds_send_retrparam" columnid="buseoname"/>
  181. </Bind>
  182. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  183. * System Name :
  184. * Job Name :
  185. * Creator :
  186. * Make Date : 2017-06-19
  187. * Description :
  188. *---------------------------------------------------------------------------------------
  189. * Modify Date Modifier Modify Description
  190. *---------------------------------------------------------------------------------------
  191. * 2017-06-19 Live Converter TF->XP
  192. *
  193. *---------------------------------------------------------------------------------------
  194. ****************************************************************************************/
  195. include "com_commonxp::comm_main.xjs";
  196. include "mis_miscommonxp::MIS.xjs";
  197. var toggleVal = "Y";
  198. function SMRAH04900_oninit(obj:Form, e:InitEventInfo)
  199. {
  200. frmf_initForm(obj);
  201. }
  202. function SMRAH04900_onload(obj:Form, e:LoadEventInfo)
  203. {
  204. grdf_initGrid(grd_dudulist);
  205. grdf_setRowTypeIcon(grd_dudulist, 0);
  206. ds_send_retrparam.setColumn(0, "year", String(utlf_getCurrentDate).substr(0,4));
  207. if(frmf_checkOpener())
  208. {
  209. ds_send_retrparam.setColumn(0, "year", opener.ds_send_retrparam.getColumn(0, "year"));
  210. ds_send_retrparam.setColumn(0, "flagcd", opener.ds_send_retrparam.getColumn(0, "flagcd"));
  211. ds_send_retrparam.setColumn(0, "flagnm", opener.ds_send_retrparam.getColumn(0, "flagnm"));
  212. ds_send_retrparam.setColumn(0, "cdid", opener.ds_send_retrparam.getColumn(0, "cdid"));
  213. ds_send_retrparam.setColumn(0, "cdnm", opener.ds_send_retrparam.getColumn(0, "cdnm"));
  214. ds_send_retrparam.setColumn(0, "buseocode", opener.ds_send_retrparam.getColumn(0, "buseocode"));
  215. ds_send_retrparam.setColumn(0, "buseoname", opener.ds_send_retrparam.getColumn(0, "buseoname"));
  216. }
  217. var oParam = {};
  218. oParam.id = "TRRAH04901";
  219. oParam.service = "acntknuhapp.Acntknuh";
  220. oParam.method = "reqGetQIDeduList";
  221. oParam.inds = "req=ds_send_retrparam";
  222. oParam.outds = "ds_main_datalist_dedulist=dedulist ds_main_datalist_oksigninfo=oksigninfo";
  223. oParam.async = false;
  224. oParam.callback = "cf_TRRAH04901";
  225. tranf_submit(oParam);
  226. }
  227. function cf_TRRAH04901(sSvcId, nErrorCode, sErrorMsg)
  228. {
  229. if(nErrorCode < 0)
  230. {
  231. return;
  232. }
  233. else
  234. {
  235. if (opener.ds_send_retrparam.getColumn(0, "opener") == "SMRAH04800")
  236. {
  237. btn_save.enable = true;
  238. btn_add.enable = true;
  239. btn_delete.enable = true;
  240. }
  241. else
  242. {
  243. if(ds_main_datalist_oksigninfo.getColumn(0, "oksign") != "Y")
  244. {
  245. btn_save.enable = true;
  246. btn_add.enable = true;
  247. btn_delete.enable = true;
  248. }
  249. }
  250. }
  251. }
  252. function ds_main_datalist_dedulist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  253. {
  254. if( e.columnid == "chk" )
  255. {
  256. obj.setColumn(e.row, "chk", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  257. }
  258. }
  259. function grd_dudulist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  260. {
  261. var recv_list = "emplno,emplnm" ; //"emplno,emplnm,dutplcedeptcd,dutplcedeptnm"
  262. rpbfOpenPopUpList("SPRPB00101", grd_dudulist, recv_list,"","N");
  263. }
  264. function grd_dudulist_oncellclick(obj:Grid, e:GridClickEventInfo)
  265. {
  266. if( ds_main_datalist_dedulist.rowcount < 1 )
  267. {
  268. return;
  269. }
  270. if( e.row == -1 && e.cell == grd_dudulist.getBindCellIndex("Head", "chk"))
  271. {
  272. for(var i = 0; i < ds_main_datalist_dedulist.rows; i++)
  273. {
  274. ds_main_datalist_dedulist.setColumn(i, "chk", toggleVal);
  275. }
  276. if( toggleVal == "Y" )
  277. {
  278. toggleVal = "N"
  279. }
  280. else
  281. {
  282. toggleVal = "Y";
  283. }
  284. obj.setCellPos(obj.getBindCellIndex("body", "emplnm"));
  285. obj.showEditor(true);
  286. }
  287. }
  288. function btn_add_onclick(obj:Button, e:ClickEventInfo)
  289. {
  290. fAddDelRow( "A");
  291. }
  292. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  293. {
  294. fAddDelRow( "D");
  295. }
  296. function fAddDelRow(sStatus)
  297. {
  298. if(sStatus == "A")
  299. {
  300. var addRow = ds_main_datalist_dedulist.addRow();
  301. ds_main_datalist_dedulist.setColumn(addRow, "year", ds_send_retrparam.getColumn(0, "year"));
  302. ds_main_datalist_dedulist.setColumn(addRow, "flagcd", ds_send_retrparam.getColumn(0, "flagcd"));
  303. ds_main_datalist_dedulist.setColumn(addRow, "cdid", ds_send_retrparam.getColumn(0, "cdid"));
  304. ds_main_datalist_dedulist.setColumn(addRow, "buseocode", ds_send_retrparam.getColumn(0, "buseocode"));
  305. }
  306. else if (sStatus == "D")
  307. {
  308. var status = ds_main_datalist_dedulist.getRowType(ds_main_datalist_dedulist.rowposition);
  309. if(status == 1)
  310. {
  311. ds_main_datalist_dedulist.updatecontrol = false;
  312. ds_main_datalist_dedulist.setRowType(ds_main_datalist_dedulist.rowposition, "d");
  313. ds_main_datalist_dedulist.updatecontrol = true;
  314. }
  315. else if(status == 2)
  316. {
  317. ds_main_datalist_dedulist.deleteRow(ds_main_datalist_dedulist.rowposition);
  318. }
  319. else if(status == 4)
  320. {
  321. ds_main_datalist_dedulist.updatecontrol = false;
  322. ds_main_datalist_dedulist.setRowType(ds_main_datalist_dedulist.rowposition, "d");
  323. ds_main_datalist_dedulist.updatecontrol = true;
  324. }
  325. }
  326. }
  327. function btn_print_onclick(obj:Button, e:ClickEventInfo)
  328. {
  329. misfGridInit(grd_prntlist);
  330. for(var i = 0; i < ds_main_datalist_dedulist.rowcount; i++)
  331. {
  332. if(ds_main_datalist_dedulist.getColumn(i, "chk") == "Y")
  333. {
  334. var addRow = ds_main_prntlist.addRow();
  335. ds_main_prntlist.setColumn(addRow, "jidate", ds_main_datalist_dedulist.getColumn(i, "jidate"));
  336. ds_main_prntlist.setColumn(addRow, "emplno", ds_main_datalist_dedulist.getColumn(i, "emplno"));
  337. ds_main_prntlist.setColumn(addRow, "emplnm", ds_main_datalist_dedulist.getColumn(i, "emplnm"));
  338. ds_main_prntlist.setColumn(addRow, "amt", ds_main_datalist_dedulist.getColumn(i, "amt"));
  339. ds_main_prntlist.setColumn(addRow, "cmt", ds_main_datalist_dedulist.getColumn(i, "cmt"));
  340. }
  341. }
  342. if(ds_main_prntlist.rowcount < 1)
  343. {
  344. sysf_messageBox("출력할 대상이 선택되지 않았습니다. \n영수증 내역 중 출력할 대상을 선택하십시요. ", "E999", "");
  345. return;
  346. }
  347. var objDOM = rptf_createDOM();
  348. rptf_setNodeListToDOM(objDOM, "/root/main/prntlist", ds_main_prntlist);
  349. var objParam = new Object();
  350. objParam.xml_data_XML1 = objDOM.documentElement.source;
  351. var option = "";
  352. rptf_exeReportPreview30(["SMRAH02601"],[objParam], option);
  353. }
  354. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  355. {
  356. fSaveClick();
  357. }
  358. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  359. {
  360. this.close();
  361. }
  362. function fSaveClick()
  363. {
  364. var updtdata = grdf_getGridUpdateData(grd_dudulist).rowcount;
  365. if (updtdata == 0)
  366. {
  367. sysf_messageBox("변경된 데이터가","I004");
  368. return;
  369. }
  370. var oParam = {};
  371. oParam.id = "TXRAH04901";
  372. oParam.service = "acntknuhapp.Acntknuh";
  373. oParam.method = "reqExeSaveQIDeduList";
  374. oParam.inds = "req=ds_send_retrparam";
  375. oParam.outds = "";
  376. oParam.async = false;
  377. oParam.callback = "cf_TXRAH04901";
  378. tranf_submit(oParam);
  379. }
  380. function cf_TXRAH04901(sSvcId, nErrorCode, sErrorMsg)
  381. {
  382. if(nErrorCode < 0)
  383. {
  384. return;
  385. }
  386. else
  387. {
  388. var oParam = {};
  389. oParam.id = "TRRAH04901";
  390. oParam.service = "acntknuhapp.Acntknuh";
  391. oParam.method = "reqGetQIDeduList";
  392. oParam.inds = "req=ds_send_retrparam";
  393. oParam.outds = "ds_main_datalist_dedulist=dedulist ds_main_datalist_oksigninfo=oksigninfo";
  394. oParam.async = false;
  395. //oParam.callback = "cf_TRRAH04901";
  396. tranf_submit(oParam);
  397. sysf_messageBox("저장되었습니다.", "I999", "");
  398. }
  399. }
  400. ]]></Script>
  401. </Form>
  402. </FDL>