Browse Source

卖家结算中心调整

hulh 8 years ago
parent
commit
4ff22384c9

+ 11 - 6
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java

@@ -35,6 +35,7 @@ import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -45,9 +46,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @author yujia
@@ -471,13 +470,18 @@ public class BankTransferServiceImpl implements BankTransferService {
 			}
 		}, info);
 		List<BankTransfer> content = pageBankTran.getContent();
+		Double totalPrice = 0.0d;
 		for (BankTransfer bankTransfer : content) {
+			totalPrice += bankTransfer.getTotal();
 			List<BankTransAssociate> list = transAssociateDao.findByBtaBanktranssn(bankTransfer.getBanktranssn());
 			if(!CollectionUtils.isEmpty(list)) {
 				bankTransfer.setBankTransAssociate(list.get(0));
 			}
 		}
-		return ResultMap.success(pageBankTran);
+		Map<String, Object> resultMap = new HashMap<>();
+		resultMap.put("data", pageBankTran);
+		resultMap.put("total", totalPrice);
+		return ResultMap.success(resultMap);
 	}
 
 	@Override
@@ -490,6 +494,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 			info.filter("operateType", type);
 			info.filter("collectenuu", SystemSession.getUser().getEnterprise().getUu());
 		}
+		info.sorting("transferTime", Sort.Direction.DESC);
 		filterPageInfo(info, keyword, fromDate, toDate);
 		List<BankTransfer> list = bankTransferDao.findAll(new Specification<BankTransfer>() {
 			@Override
@@ -510,10 +515,10 @@ public class BankTransferServiceImpl implements BankTransferService {
 			info.expression(logical);
 		}
 		if (fromDate != null) {
-			info.expression(PredicateUtils.gte("paytime", new Date(fromDate), false));
+			info.expression(PredicateUtils.gte("transferTime", new Date(fromDate), false));
 		}
 		if (toDate != null) {
-			info.expression(PredicateUtils.lte("paytime", new Date(toDate), false));
+			info.expression(PredicateUtils.lte("transferTime", new Date(toDate), false));
 		}
 	}
 }

BIN
src/main/resources/jxls-tpl/trade/bankTransfer.xls


+ 101 - 6
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_pay_ctrl.js

@@ -6,7 +6,7 @@
  */
 define(['app/app'], function(app) {
     'use strict';
-    app.register.controller('VendorPayCtrl', ['$scope', '$rootScope', 'bankInfoService', 'toaster', '$upload', 'ngTableParams', 'BaseService', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, toaster, $upload, ngTableParams, BaseService, bankTransferService, Purchase, $filter) {
+    app.register.controller('VendorPayCtrl', ['$scope', '$rootScope', 'bankInfoService', 'Loading', 'toaster', '$upload', 'ngTableParams', 'BaseService', 'bankTransferService', 'Purchase', '$filter', function($scope, $rootScope, bankInfoService, Loading, toaster, $upload, ngTableParams, BaseService, bankTransferService, Purchase, $filter) {
         $rootScope.active = 'pay_center';
 
         // 加密订单的ID过滤器
@@ -18,6 +18,7 @@ define(['app/app'], function(app) {
         $scope.$$bankInfo = {};
 
         $scope.paytype = 'ALL';
+        $scope.$$transfer = {};
 
         $scope.tradeRecordTableParams = new ngTableParams({
             page : 1,
@@ -29,17 +30,35 @@ define(['app/app'], function(app) {
             total : 0,
             getData : function ($defer, params) {
                 var param = BaseService.parseParams(params.url());
+                if ($scope.keyword && $scope.keyword.length > 0){
+                    param.keyword = $scope.keyword;
+                }
+                if ($scope.startDate){
+                    param.fromDate = $scope.startDate.getTime();
+                }
+                if ($scope.endDate){
+                    param.toDate = $scope.endDate.getTime();
+                }
                 bankTransferService.getVendorBankTransferByMall(param, function (page) {
                     if(page.code == 1) {
-                        $scope.bankTransRecore = page.data.content;
+                        $scope.bankTransRecore = page.data.data.content;
+                        var pageObject = page.data.data;
+                        $scope.totalPrice = page.data.total;
                         angular.forEach($scope.bankTransRecode, function (bankT) {
                             bankT.jsonReceive = angular.fromJson(bankT.jsonReceive);
                         });
-
-                        $scope.totalPages = page.data.totalPages;
-                        $scope.param.currentPage = page.data.number;
+                        $scope.totalPages = pageObject.totalPages;
+                        $scope.param.currentPage = pageObject.number;
+                        $scope.totalElements = pageObject.totalElements;
+
+                        if(Number($scope.totalElements) > 0) {
+                            $scope.$$transfer.start = Number(pageObject.size) * (Number(pageObject.number) - 1) + 1;
+                        }else {
+                            $scope.$$transfer.start = 0;
+                        }
+                        $scope.$$transfer.end = Number(pageObject.size) * (Number(pageObject.number) - 1) + Number(pageObject.numberOfElements);
                         //计算页数
-                        $scope.acculatePages(page.data.number, page.data.totalPages);
+                        $scope.acculatePages(pageObject.number, pageObject.totalPages);
                     }else {
                         toaster.pop('info', '获取信息失败:' + page.message);
                     }
@@ -49,6 +68,10 @@ define(['app/app'], function(app) {
             }
         });
 
+        $scope.fitKeyWord = function (item) {
+            $scope.keyword = item;
+        };
+
         $scope.bankInfoTableParams = new ngTableParams({
             page : 1,
             count : 10,
@@ -88,6 +111,10 @@ define(['app/app'], function(app) {
             $scope.tradeRecordTableParams.reload();
         };
 
+        $scope.search = function () {
+            loadHistory();
+        };
+
         //获取数据的方法。
         var loadData = function() {
             switch ($scope.$payCenter.tab) {
@@ -362,6 +389,74 @@ define(['app/app'], function(app) {
             $scope.resultList = $scope.bankList;
         };
 
+        $scope.exportToExcel = function () {
+            if ($scope.totalElements == 0) {
+                toaster.pop('info', '当前收款记录为空,无法导出');
+                return ;
+            }
+            exportByAjax();
+        };
+
+        var exportByAjax = function () {
+            var url = 'trade/transfer/export/bankTransfer';
+            var strArray = [];
+            if ($scope.keyword && $scope.keyword.length > 0){
+                var wordStr = "keyword=" + $scope.keyword;
+                strArray.push(wordStr);
+            }
+            if ($scope.startDate){
+                var startStr = "fromDate=" + $scope.startDate.getTime();
+                strArray.push(startStr);
+            }
+            if ($scope.endDate){
+                var endStr = "toDate=" + $scope.endDate.getTime();
+                strArray.push(endStr);
+            }
+            if (strArray.length != 0){
+                var str = strArray.join("&");
+                url = url + "?" + str;
+            }
+            var form = $("<form>");   //定义一个form表单
+            form.attr('style', 'display:none');   //在form表单中添加查询参数
+            form.attr('target', '');
+            form.attr('method', 'POST');
+            form.attr('action', url);
+
+            $('body').append(form);  //将表单放置在web中
+            form.submit();
+
+            $scope.$$transfer.clockID = setInterval(function() {
+                getDownLoadStatus();
+            }, 500);
+        };
+
+        var getDownLoadStatus = function () {
+            Loading.show();
+            $.ajax({
+                url : 'trade/transfer/export/bankTransfer',
+                data : {isAjax : true},
+                method : 'POST',
+                dataType : 'json',
+                success : function (data) {
+                    if(!data.loading){
+                        $scope.$apply(function () {
+                            toaster.pop('info', '数据处理完毕,正在下载文件,请稍等。');
+                            Loading.hide();
+                        });
+                        if($scope.$$transfer.clockID) {
+                            clearInterval($scope.$$transfer.clockID);
+                        }
+                    }
+                },
+                error : function () {
+                    Loading.hide();
+                    if($scope.$$transfer.clockID) {
+                        clearInterval($scope.$$transfer.clockID);
+                    }
+                }
+            });
+        };
+
         //获取传入买家订单获取采购单的信息
         $scope.goToPurchaseDetail = function (orderNum) {
             if(!orderNum) {

+ 25 - 24
src/main/webapp/resources/view/vendor/forstore/pay_center.html

@@ -493,7 +493,7 @@
         height:39px;
         background: #e6eefe;
         display:inline-flex;
-        justify-content: space-around;
+        justify-content: center;
         align-items: center;
         margin:0 10px;
     }
@@ -621,7 +621,7 @@
                             <div class="data-input">
                                 <input type="text" ng-model="startDate"
                                        class="form-control select-adder" placeholder="起始时间"
-                                       datepicker-popup="yyyy-MM-dd HH:mm:ss"
+                                       datepicker-popup="yyyy-MM-dd"
                                        is-open="condition.startDateOpen"
                                        max-date="endDate" current-text="今天" clear-text="清除" close-text="关闭"
                                        datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
@@ -634,7 +634,7 @@
                             <div class="data-input">
                                 <input type="text" ng-model="endDate"
                                        class="form-control select-adder" placeholder="结束时间"
-                                       datepicker-popup="yyyy-MM-dd HH:mm:ss"
+                                       datepicker-popup="yyyy-MM-dd"
                                        is-open="condition.endDateOpen"
                                        min-date="startDate" current-text="今天" clear-text="清除" close-text="关闭"
                                        datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
@@ -644,9 +644,9 @@
                             </div>
                         </div>
                         <div class="sreach-input fr">
-                            <input type="search" placeholder="商家名称/订单号" class="form-control" ng-model="keyword" ng-search="search()"/>
+                            <input type="search" placeholder="商家名称/订单号" class="form-control" ng-model="keyword" ng-change="fitKeyWord(keyword)" ng-search="search()"/>
                             <a class="seek" href="javascript:void(0)" ng-click="search()">搜索</a>
-                            <a class="seek" href="javascript:void(0)" style="margin-left: 5px;">导出</a>
+                            <a class="seek" href="javascript:void(0)" style="margin-left: 5px;" ng-click="exportToExcel()">导出</a>
                         </div>
                     </div>
                 </div>
@@ -673,37 +673,37 @@
 							</select>
 						</span>
                     </dt>
-                    <dd>
-                        <span>2017.01.18</span>
-                        <span>20170116001</span>
-                        <span>¥8888.52</span>
-                        <span>支付宝</span>
+                    <dd ng-repeat="record in bankTransRecore">
+                        <span ng-bind="record.transferTime | date : 'yyyy-MM-dd HH:mm:ss'">2017.01.18</span>
+                        <span ng-bind="record.orderid">20170116001</span>
+                        <span ng-bind="record.buyerentername || record.buyername">优软科技</span>
+                        <span ng-bind="record.currencyName">RMB</span>
                         <span>
                             <i class="fa fa-plus" style="color:#f51c24"></i>
-                            <i class="fa fa-minus" style="color:#1da902"></i>
-                            12345678909</span>
-                        <span>退款成功</span>
-                        <span>退款成功</span>
+                            <!--<i class="fa fa-minus" style="color:#1da902"></i>-->
+                            {{record.total}}</span>
+                        <span>线下付款</span>
+                        <span>款成功</span>
                     </dd>
-                    <div class="total">
-                        <span>收入总计&nbsp;  <em>111111112</em></span>
+                    <div class="total" ng-if="bankTransRecore && bankTransRecore.length > 0">
+                        <span>收入总计&nbsp;  <em ng-bind="totalPrice"></em></span>
                         <b>|</b>
-                        <span>支出总计&nbsp;  <em>2222222222</em></span>
+                        <span>支出总计&nbsp;  <em>0</em></span>
                         <b>|</b>
-                        <span>结余&nbsp;<em>(共计5笔交易)</em></span>
+                        <span>结余&nbsp;<em>{{totalPrice}}(共计{{totalElements}}笔交易)</em></span>
                     </div>
 
-                    <dd ng-if="!tradeRecordPage.content || tradeRecordPage.content.length == 0" class="tab-dd" style="height: 125px; padding: 30px;">
+                    <dd ng-if="!bankTransRecore || bankTransRecore.length == 0" class="tab-dd" style="height: 125px; padding: 30px;">
                         <div class="col-xs-offset-3 col-xs-2">
                             <img src="static/img/all/empty-cart.png">
                         </div>
                         <div class="col-xs-4">
-                            <p class="grey" style="font-size: 12px">暂无支付记录,请下单购买商品吧!</p>
+                            <p class="grey" style="font-size: 12px">暂无收款记录</p>
                             <a href=".">马上去逛一逛</a>&nbsp;<i class="fa fa-arrow-right"></i>
                         </div>
                     </dd>
                 </dl>
-                <p style="text-align:right;margin-right:28px;margin-top:10px;">显示1-10 条,共 2506 条</p>
+                <p style="text-align:right;margin-right:28px;margin-top:10px;" ng-if="bankTransRecore && bankTransRecore.length > 0">显示{{$$transfer.start}}-{{$$transfer.end}} 条,共 {{totalElements}} 条</p>
                 <div style="background-color: white; width: 100%; height: 75px;">
                     <div class="ng-cloak ng-table-pager" ng-if="pages.length" style="float: right;margin-right: 60px;">
                         <ul class="pagination ng-table-pagination">
@@ -751,14 +751,15 @@
                         <td ng-bind="account.accountname">优软*********有限公司</td>
                         <td >
                             <span ng-bind="account.status | bankStatusFilter"></span>
-                            <span class="wcz-title">
+                            <span class="wcz-title" ng-if="account.status == 103 || account.status == 101">
                                 <i class="fa fa-exclamation-circle"></i>
-                                <b>开户名称余上传的附件 名称不一致,请删除此 记录重新申请</b>
+                                <b ng-if="account.status == 101">审核通过后,原账户将自动失效</b>
+                                <b ng-if="account.status == 103" ng-bind="account.remark"></b>
                             </span>
 
                         </td>
                         <td class="operate-area">
-                            <span><a href="#">重新使用</a></span>
+                            <span><a href="#" ng-if="account.status == 105">重新使用 |</a></span>
                             <span ng-click="deleteAccount(account)"><a href="#">删除</a></span>
                         </td>
                     </tr>