ソースを参照

加入费用汇总表

wuxw 6 年 前
コミット
663362f91e

+ 43 - 0
ReportComponent/src/main/java/com/java110/report/components/fee/FeeSummaryComponent.java

@@ -0,0 +1,43 @@
+package com.java110.report.components.fee;
+
+
+import com.java110.core.context.IPageData;
+import com.java110.report.smo.fee.IListPayFeeSMO;
+import com.java110.report.smo.feeType.IFeeTypeSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 应用组件管理类
+ * <p>
+ * add by wuxw
+ * <p>
+ * 2019-06-29
+ */
+@Component("feeSummary")
+public class FeeSummaryComponent {
+
+    @Autowired
+    private IListPayFeeSMO listPayFeeSMOImpl;
+
+
+    /**
+     * 查询应用列表
+     *
+     * @param pd 页面数据封装
+     * @return 返回 ResponseEntity 对象
+     */
+    public ResponseEntity<String> list(IPageData pd) {
+        return listPayFeeSMOImpl.list(pd);
+    }
+
+    public IListPayFeeSMO getListPayFeeSMOImpl() {
+        return listPayFeeSMOImpl;
+    }
+
+    public void setListPayFeeSMOImpl(IListPayFeeSMO listPayFeeSMOImpl) {
+        this.listPayFeeSMOImpl = listPayFeeSMOImpl;
+    }
+}

+ 8 - 0
ReportComponent/src/main/java/com/java110/report/smo/fee/IListFeeSummarySMO.java

@@ -0,0 +1,8 @@
+package com.java110.report.smo.fee;
+
+import com.java110.core.context.IPageData;
+import org.springframework.http.ResponseEntity;
+
+public interface IListFeeSummarySMO {
+    public ResponseEntity<String> list(IPageData pd);
+}

+ 76 - 0
ReportComponent/src/main/java/com/java110/report/smo/fee/impl/ListFeeSummarySMOImpl.java

@@ -0,0 +1,76 @@
+package com.java110.report.smo.fee.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.component.AbstractComponentSMO;
+import com.java110.core.context.IPageData;
+import com.java110.entity.component.ComponentValidateResult;
+import com.java110.report.smo.fee.IListFeeSummarySMO;
+import com.java110.utils.constant.PrivilegeCodeConstant;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.exception.SMOException;
+import com.java110.utils.util.Assert;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * 查询app服务类
+ */
+@Service("listFeeSummarySMOImpl")
+public class ListFeeSummarySMOImpl extends AbstractComponentSMO implements IListFeeSummarySMO {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    public ResponseEntity<String> list(IPageData pd) throws SMOException {
+        return businessProcess(pd);
+    }
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        super.validatePageInfo(pd);
+        Assert.hasKeyAndValue(paramIn, "communityId", "未包含小区信息");
+        Assert.hasKeyAndValue(paramIn, "feeSummaryType", "未包含小区信息");
+
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+        int page = paramIn.getInteger("page");
+        int row = paramIn.getInteger("row");
+        paramIn.put("page", (page - 1) * row);
+        paramIn.put("row", page * row);
+
+        if("1001".equals(paramIn.getString("feeSummaryType"))){//日
+            paramIn.put("formatStr","%Y-%m-%d");
+        }else if("1101".equals(paramIn.getString("feeSummaryType"))){
+            paramIn.put("formatStr","%Y-%m");
+        }else{
+            paramIn.put("formatStr","%Y");
+        }
+
+        String apiUrl = "";
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.queryFeeSummary" + mapToUrlParam(paramIn);
+
+
+        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "",
+                apiUrl,
+                HttpMethod.GET);
+
+        return responseEntity;
+    }
+
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
+}

+ 62 - 0
ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.html

@@ -0,0 +1,62 @@
+<div id="component" class="wrapper wrapper-content animated fadeInRight ecommerce">
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="ibox">
+                <div class="ibox-title">
+                    <h5>缴费汇总表</h5>
+                    <div class="ibox-tools" style="top:10px;">
+                        <div class="btn-group" role="group" aria-label="Basic example">
+                            <button type="button"
+                                    class="btn btn-light btn-sm"
+                                    v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1001}"
+                                    v-on:click="_switchFeeSummaryType(1001)"
+                            >日</button>
+                            <button type="button"
+                                    class="btn btn-light btn-sm"
+                                    v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1101}"
+                                    v-on:click="_switchFeeSummaryType(1101)"
+                            >月</button>
+                            <button type="button"
+                                    class="btn btn-light btn-sm"
+                                    v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1111}"
+                                    v-on:click="_switchFeeSummaryType(1111)"
+                            >年</button>
+                        </div>
+                    </div>
+                </div>
+                <div class="ibox-content">
+
+                    <table class="footable table table-stripped toggle-arrow-tiny"
+                           data-page-size="15"
+                    >
+                        <thead>
+                        <tr>
+                            <th class="text-center">时间</th>
+                            <th class="text-center">费用项ID</th>
+                            <th class="text-center">费用项名称</th>
+                            <th class="text-center">金额</th>
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <tr v-for="fee in feeSummaryInfo.fees">
+                            <td class="text-center">{{fee.createTime}}</td>
+                            <td class="text-center">{{fee.configId}}</td>
+                            <td class="text-center">{{fee.feeName}}</td>
+                            <td class="text-center">{{fee.money}}</td>
+                        </tr>
+                        </tbody>
+                        <tfoot>
+                        <tr>
+                            <td colspan="7">
+                                <ul class="pagination float-right"></ul>
+                            </td>
+                        </tr>
+                        </tfoot>
+                    </table>
+                    <!-- 分页 -->
+                    <vc:create name="pagination"></vc:create>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 64 - 0
ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.js

@@ -0,0 +1,64 @@
+/**
+ 入驻小区
+ **/
+(function (vc) {
+    var DEFAULT_PAGE = 1;
+    var DEFAULT_ROWS = 30;
+    vc.extends({
+        data: {
+            feeSummaryInfo: {
+                fees: [],
+                feeSummaryType:'1001',
+                total: 0,
+                records: 1,
+                moreCondition: false,
+                name: '',
+            }
+        },
+        _initMethod: function () {
+            vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
+        },
+        _initEvent: function () {
+            vc.on('pagination', 'page_event', function (_currentPage) {
+                vc.component._listFeeSummarys(_currentPage, DEFAULT_ROWS);
+            });
+        },
+        methods: {
+            _listFeeSummarys: function (_page, _rows) {
+                var param = {
+                    params: {
+                        page: _page,
+                        row:_rows,
+                        feeSummaryType:vc.component.feeSummaryInfo.feeSummaryType,
+                        communityId:vc.getCurrentCommunity().communityId
+                    }
+                };
+
+                //发送get请求
+                vc.http.get('feeSummary',
+                    'list',
+                    param,
+                    function (json, res) {
+                        var _feeSummaryInfo = JSON.parse(json);
+                        vc.component.feeSummaryInfo.total = _feeSummaryInfo.total;
+                        vc.component.feeSummaryInfo.records = parseInt(_feeSummaryInfo.total/_rows +1);
+                        vc.component.feeSummaryInfo.fees = _feeSummaryInfo.fees;
+                        vc.emit('pagination', 'init', {
+                            total: vc.component.feeSummaryInfo.records,
+                            currentPage: _page
+                        });
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
+            },
+            _exportExcel:function () {
+
+            },
+            _switchFeeSummaryType:function(_feeSummaryType){
+                vc.component.feeSummaryInfo.feeSummaryType = _feeSummaryType;
+                vc.component._listFeeSummarys(DEFAULT_PAGE,DEFAULT_ROWS);
+            }
+        }
+    });
+})(window.vc);

+ 38 - 0
ReportComponent/src/main/resources/views/feeSummaryFlow.html

@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en"
+      xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:th="http://www.thymeleaf.org"
+      xmlns:vc="http://www.thymeleaf.org">
+<head>
+    <meta charset="UTF-8"/>
+    <title>费用汇总表|java110</title>
+    <vc:create name="commonTop"></vc:create>
+    <link href="/css/jquery.step.css" rel="stylesheet"/>
+    <script src="/js/jquery.step.min.js" ></script>
+</head>
+<body>
+<vc:create name="bodyTop"></vc:create>
+<div id="wrapper">
+    <vc:create name="menu"></vc:create>
+
+
+    <div id="page-wrapper" class="gray-bg dashbard-1">
+        <div class="row border-bottom">
+            <vc:create name="nav"></vc:create>
+        </div>
+        <div class="wrapper wrapper-content" style="padding-bottom: 0px;">
+            <vc:create name="breadcrumb"></vc:create>
+        </div>
+        <!-- id="component" -->
+        <div class="wrapper wrapper-content animated fadeInRight">
+            <vc:create name="feeSummary"></vc:create>
+        </div>
+
+        <vc:create name="copyright"></vc:create>
+
+    </div>
+</div>
+
+<vc:create name="commonBottom"></vc:create>
+</body>
+</html>