SMANS00300_직원식통계.xfdl 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMANS00300" position="absolute 0 0 1184 805" titletext="직원식통계" oninit="SMANS00300_oninit" onload="SMANS00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 1 25 1181 60" align="align:center top;" id="group1" class="div_SA">
  8. <Layouts>
  9. <Layout>
  10. <Static text="조회년월 :" position="absolute 25 10 115 27" id="caption3" class="search_name"/>
  11. <Shape position="absolute 1092 7 1098 29" linetype="vertical" id="line14" class="line_4"/>
  12. <MaskEdit position="absolute 115 8 190 27" align="align:center middle;" id="ipt_yyyymm" mask="####-##" maskchar=" " type="string" style="align:center middle;"/>
  13. <Button position="absolute 193 10 206 25" id="btn_before" class="icon_pre" text="" onclick="group1_btn_before_onclick"/>
  14. <Button position="absolute 208 10 221 25" id="btn_next" class="icon_next" text="" onclick="group1_btn_next_onclick"/>
  15. <Button position="absolute 1110 7 1166 29" id="btn_search" class="btn1" taborder="4" text="조회" onclick="group1_btn_search_onclick"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Shape position="absolute 1 62 1181 68" linetype="vertical" id="line2" class="line_1"/>
  20. <Grid position="absolute 1 70 801 745" id="grd_data" visible="false" binddataset="ds_grd_data">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="70"/>
  25. <Column size="60"/>
  26. <Column size="60"/>
  27. <Column size="60"/>
  28. <Column size="60"/>
  29. <Column size="60"/>
  30. <Column size="60"/>
  31. <Column size="60"/>
  32. <Column size="60"/>
  33. <Column size="60"/>
  34. <Column size="60"/>
  35. <Column size="70"/>
  36. </Columns>
  37. <Rows>
  38. <Row size="24" band="head"/>
  39. <Row size="24" band="head"/>
  40. <Row size="24"/>
  41. </Rows>
  42. <Band id="head">
  43. <Cell text="일자"/>
  44. <Cell col="1" text="본원"/>
  45. <Cell col="2" text="본원"/>
  46. <Cell col="3" text="본원"/>
  47. <Cell col="4" text="본원"/>
  48. <Cell col="5" text="외부"/>
  49. <Cell col="6" text="외부"/>
  50. <Cell col="7" text="외부"/>
  51. <Cell col="8" text="외부"/>
  52. <Cell col="9" text="외부"/>
  53. <Cell col="10" text="외부"/>
  54. <Cell col="11" text="총계"/>
  55. <Cell row="1" text="일자"/>
  56. <Cell row="1" col="1" text="ID카드"/>
  57. <Cell row="1" col="2" text="현금"/>
  58. <Cell row="1" col="3" text="공용"/>
  59. <Cell row="1" col="4" text="소계"/>
  60. <Cell row="1" col="5" text="성의"/>
  61. <Cell row="1" col="6" text="성모"/>
  62. <Cell row="1" col="7" text="의정부"/>
  63. <Cell row="1" col="8" text="부천"/>
  64. <Cell row="1" col="9" text="기타"/>
  65. <Cell row="1" col="10" text="소계"/>
  66. <Cell row="1" col="11" text="총계"/>
  67. </Band>
  68. <Band id="body">
  69. <Cell text="bind:appdd"/>
  70. <Cell col="1" text="bind:psnno1"/>
  71. <Cell col="2" text="bind:psnno2"/>
  72. <Cell col="3" text="bind:psnno3"/>
  73. <Cell col="4" text="bind:insum"/>
  74. <Cell col="5" text="bind:psnno4"/>
  75. <Cell col="6" text="bind:psnno5"/>
  76. <Cell col="7" text="bind:psnno6"/>
  77. <Cell col="8" text="bind:psnno7"/>
  78. <Cell col="9" text="bind:psnno8"/>
  79. <Cell col="10" text="bind:outsum"/>
  80. <Cell col="11" text="bind:totalsum"/>
  81. </Band>
  82. </Format>
  83. </Formats>
  84. </Grid>
  85. <Static id="caption6" text="직원식통계" class="tit_1" position="absolute 0 0 200 25"/>
  86. <Div id="grp_biz" taborder="1" scrollbars="none" position="absolute 5 65 1178 791"/>
  87. </Layout>
  88. </Layouts>
  89. <Objects>
  90. <Dataset id="ds_main_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="appdd" type="STRING" size="256"/>
  93. <Column id="psnno1" type="STRING" size="256"/>
  94. <Column id="psnno2" type="STRING" size="256"/>
  95. <Column id="psnno3" type="STRING" size="256"/>
  96. <Column id="insum" type="STRING" size="256"/>
  97. <Column id="psnno4" type="STRING" size="256"/>
  98. <Column id="psnno5" type="STRING" size="256"/>
  99. <Column id="psnno6" type="STRING" size="256"/>
  100. <Column id="psnno7" type="STRING" size="256"/>
  101. <Column id="psnno8" type="STRING" size="256"/>
  102. <Column id="outsum" type="STRING" size="256"/>
  103. <Column id="totalsum" type="STRING" size="256"/>
  104. </ColumnInfo>
  105. <Rows>
  106. <Row>
  107. <Col id="appdd"/>
  108. <Col id="psnno1"/>
  109. <Col id="psnno2"/>
  110. <Col id="psnno3"/>
  111. <Col id="insum"/>
  112. <Col id="psnno4"/>
  113. <Col id="psnno5"/>
  114. <Col id="psnno6"/>
  115. <Col id="psnno7"/>
  116. <Col id="psnno8"/>
  117. <Col id="outsum"/>
  118. <Col id="totalsum"/>
  119. </Row>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="yyyymm" type="STRING" size="256"/>
  125. </ColumnInfo>
  126. <Rows>
  127. <Row>
  128. <Col id="yyyymm"/>
  129. </Row>
  130. </Rows>
  131. </Dataset>
  132. </Objects>
  133. <Bind>
  134. <BindItem id="item0" compid="group1.ipt_yyyymm" propid="value" datasetid="ds_send_data" columnid="yyyymm"/>
  135. </Bind>
  136. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  137. * System Name :
  138. * Job Name :
  139. * Creator :
  140. * Make Date : 2015-11-13
  141. * Description :
  142. *---------------------------------------------------------------------------------------
  143. * Modify Date Modifier Modify Description
  144. *---------------------------------------------------------------------------------------
  145. * 2015-11-13 Live Converter TF->XP
  146. *
  147. *---------------------------------------------------------------------------------------
  148. ****************************************************************************************/
  149. include "com_commonxp::comm_main.xjs";
  150. var arErrorCode = new HashArray();
  151. function SMANS00300_oninit(obj:Form, e:InitEventInfo)
  152. {
  153. frmf_initForm(obj); //폼 초기화
  154. }
  155. function SMANS00300_onload(obj:Form, e:LoadEventInfo)
  156. {
  157. group1.ipt_yyyymm.value = utlf_getCurrentDate().substr(0, 6);
  158. }
  159. function group1_btn_before_onclick(obj:Button, e:ClickEventInfo)
  160. {
  161. var dd = ds_send_data.getColumn(0, "yyyymm") + "01";
  162. dd = dd.toDate().getAddDate(-1, "M");
  163. dd = dd.getDateFormat("YYYYMM");
  164. ds_send_data.setColumn(0, "yyyymm", dd);
  165. }
  166. function group1_btn_next_onclick(obj:Button, e:ClickEventInfo)
  167. {
  168. var dd = ds_send_data.getColumn(0, "yyyymm") + "01";
  169. dd = dd.toDate().getAddDate(1, "M");
  170. dd = dd.getDateFormat("YYYYMM");
  171. ds_send_data.setColumn(0, "yyyymm", dd);
  172. }
  173. function group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  174. {
  175. if (utlf_isNull(ds_send_data.getColumn(0, "yyyymm"))){
  176. sysf_messageBox("조회년월은", "I003");
  177. group1.ipt_yyyymm.setFocus();
  178. return;
  179. }
  180. if (utlf_isValidDateTime(ds_send_data.getColumn(0, "yyyymm"), "YYYYMM") == false){
  181. sysf_messageBox("조회년월의 형식이", "E016");
  182. group1.ipt_yyyymm.setFocus();
  183. return;
  184. }
  185. var oParam = {};
  186. oParam.id = "TRANS00301";
  187. oParam.service = "dietstatsapp.DietStats";
  188. oParam.method = "reqGetEmplDietStats";
  189. oParam.inds = "req=ds_send_data";
  190. oParam.outds = "ds_main_data=ret";
  191. oParam.async = false;
  192. tranf_submit(oParam);
  193. ds_main_data.addColumn("insum", "string");
  194. ds_main_data.addColumn("outsum", "string");
  195. ds_main_data.addColumn("totalsum", "string");
  196. fSum(); //계,소계,총계 구하기
  197. var objDOM = rptf_createDOM();
  198. rptf_setNodeListToDOM(objDOM, "root/main/data", ds_main_data);
  199. rptf_setNodeListToDOM(objDOM, "root/send/data", ds_send_data);
  200. var objParam = new Object();
  201. objParam.xml_data_XML1 = objDOM.documentElement.source;
  202. var option = "open=1;save=1;directprint=0;print=0;zoom=0;";
  203. rptf_exeReportPreview30(["RPANS00301"],[objParam], option, "", "grp_biz");
  204. }
  205. function fSum() {
  206. ds_main_data.setColumn(ds_main_data.rowcount - 2, "appdd", "계");
  207. ds_main_data.setColumn(ds_main_data.rowcount - 1, "appdd", "전월");
  208. //월계 구하기
  209. var val = 0;
  210. var temp = 0;
  211. for (var k = 1; k <= 8; k++) {
  212. for (var i = 0; i < ds_main_data.rowcount - 2; i++) {
  213. val = ds_main_data.getColumn(i, "psnno" + k);
  214. if (val > 0) {
  215. temp = parseInt(temp) + parseInt(val);
  216. }
  217. }
  218. ds_main_data.setColumn(ds_main_data.rowcount - 2, "psnno" + k, temp); //당월 계
  219. temp = 0;
  220. }
  221. //일별 소계,총계 구하기
  222. var val = 0;
  223. var temp = 0;
  224. var sum = 0;
  225. for (var i = 0; i < ds_main_data.rowcount; i++) {
  226. for (var k = 1; k <= 8; k++) {
  227. val = ds_main_data.getColumn(i, "psnno" + k);
  228. if (!utlf_isNull(val)) {
  229. temp = parseInt(temp) + parseInt(val);
  230. }
  231. if (k == 3) {
  232. ds_main_data.setColumn(i, "insum", temp);
  233. sum = parseInt(sum) + parseInt(temp);
  234. temp = 0;
  235. } else if (k == 8) {
  236. ds_main_data.setColumn(i, "outsum", temp);
  237. ds_main_data.setColumn(i, "totalsum", parseInt(sum) + parseInt(temp));
  238. temp = 0;
  239. sum = 0;
  240. }
  241. }
  242. }
  243. }]]></Script>
  244. </Form>
  245. </FDL>