diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java index b225324dc..4f7b43440 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java @@ -734,11 +734,11 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider JSONObject client = clientManager.getClientInfo(client_id); Assert.notNull(client, "Client not exists"); int parent_client_id = client.getIntValue("parent_client_id"); - - if (client_id != partner.getIntValue("client_id") && parent_client_id != partner.getIntValue("client_id")) { - throw new ForbiddenException("No Permission"); + if (partner.get("client_id") != null) { + if (client_id != partner.getIntValue("client_id") && parent_client_id != partner.getIntValue("client_id")) { + throw new ForbiddenException("No Permission"); + } } - JSONObject clearClient = clearingDetailMapper.listReport(clearingDetailId, client_id); if (clearClient == null) { throw new NotFoundException(); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java index 23a43c2b3..3d196aaa0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/CleanLogManagementController.java @@ -1,17 +1,16 @@ package au.com.royalpay.payment.manage.management.clearing.web; import au.com.royalpay.payment.manage.management.clearing.core.CleanService; +import au.com.royalpay.payment.manage.permission.manager.PartnerMapping; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.permission.manager.RequireManager; import au.com.royalpay.payment.manage.tradelog.beans.ClearingLogQuery; import au.com.royalpay.payment.tools.CommonConsts; import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -44,4 +43,10 @@ public class CleanLogManagementController { return cleanService.getSettlementLogs(query, manager); } + @PartnerMapping("/{client_id}/settlement_logs/{clearingDetailId}/export") + public void exportListClearingTransactions(@PathVariable int client_id, @PathVariable String clearingDetailId, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject partner, HttpServletResponse resp) { + cleanService.exportListClearingTransactions(client_id, clearingDetailId, partner, resp); + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java index 9ee7f24e5..02e44f2c3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java @@ -22,6 +22,4 @@ public interface ClearingDistributedSurchargeMapper { List getMonthDetailByClientId(@Param("datefrom") Date datefrom, @Param("dateto") Date dateto); List findTransactionsByDate(JSONObject params); - - } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java index 627d47cbe..eb598b9b4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.java @@ -13,6 +13,9 @@ import java.util.List; @AutoMapper(tablename = "financial_surcharge_account_detail", pkName = "detail_id") public interface FinancialSurchargeAccountDetailMapper { + @AutoSql(type = SqlType.SELECT) + JSONObject findByDetailId(@Param("detail_id") String detail_id); + List findDetailsByMonth(@Param("settle_month") String settle_month); List findDetailsByClientId(@Param("client_id") int client_id); @@ -20,9 +23,11 @@ public interface FinancialSurchargeAccountDetailMapper { @AutoSql(type = SqlType.INSERT) void save(JSONObject detail); - List listSettlementDatesInMonth(@Param("month") String month); - + @AutoSql(type = SqlType.UPDATE) + void update(JSONObject detail); + List listSettlementDatesInMonth(@Param("month") String month); + List listSettlementDatesByClientId(@Param("client_id") int client_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 4c6106903..a8b73985e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -287,6 +287,8 @@ public interface ClientManager { List getAccountTransactions(JSONObject account,String clientMoniker); + List getAccountDetailByMonths(JSONObject account,String clientMoniker); + List getAccountTransactionsByDate(JSONObject account,String clientMoniker, String date); List getAccountMonthDetails(JSONObject account,String clientMoniker); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index e2e783400..851f1fe89 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3441,12 +3441,20 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public List getAccountTransactionsByDate(JSONObject account, String clientMoniker, String date) { + public List getAccountDetailByMonths(JSONObject account, String clientMoniker) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); } + return financialSurchargeAccountDetailMapper.listSettlementDatesByClientId(client.getIntValue("client_id")); + } + @Override + public List getAccountTransactionsByDate(JSONObject account, String clientMoniker, String date) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } JSONObject params = new JSONObject(); params.put("client_id", client.getIntValue("client_id")); params.put("year", date.substring(0, 4)); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 25e7ae85d..64058ab27 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -195,6 +195,18 @@ public class PartnerViewController { return clientManager.getAccountTransactions(manager, clientMoniker); } + @PartnerMapping(value = "/{clientMoniker}/account/transactions/date", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) + @ResponseBody + public List accountTransactionsByDate(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject manager, @PathVariable String clientMoniker,@RequestParam String date) { + return clientManager.getAccountTransactionsByDate(manager, clientMoniker, date); + } + + @PartnerMapping(value = "/{clientMoniker}/account/months", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) + @ResponseBody + public List getAccountDetailByMonths(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject manager, @PathVariable String clientMoniker){ + return clientManager.getAccountDetailByMonths(manager, clientMoniker); + } + @PartnerMapping(value = "/accounts/{accountId}/audit_refund", method = RequestMethod.PUT, roles = PartnerRole.ADMIN) @ResponseBody public void toggleAccountAuditRefund(@PathVariable String accountId, @ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody JSONObject enable) { diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java index 1b86f2c97..fb86eaf0a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java @@ -11,4 +11,6 @@ public interface SurchargeAccountService { List listSettledDatesInMonth(String mon); + void fillMothsSurcharge(JSONObject manager, String detail_id); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index cf83bdac9..ccc0a6064 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -1,9 +1,15 @@ package au.com.royalpay.payment.manage.surchargeAccount.core.impl; import au.com.royalpay.payment.manage.mappers.system.ClearingDistributedSurchargeMapper; +import au.com.royalpay.payment.manage.mappers.system.ClientsSurchargeAccountsMapper; import au.com.royalpay.payment.manage.mappers.system.FinancialSurchargeAccountDetailMapper; import au.com.royalpay.payment.manage.surchargeAccount.core.SurchargeAccountService; import au.com.royalpay.payment.manage.system.core.impl.ClientContractServiceImpl; +import au.com.royalpay.payment.tools.exceptions.BadRequestException; +import au.com.royalpay.payment.tools.exceptions.ForbiddenException; +import au.com.royalpay.payment.tools.exceptions.ServerErrorException; +import au.com.royalpay.payment.tools.lock.Locker; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.time.DateFormatUtils; import org.slf4j.Logger; @@ -12,6 +18,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -24,6 +31,10 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ private ClearingDistributedSurchargeMapper clearingDistributedSurchargeMapper; @Resource private FinancialSurchargeAccountDetailMapper financialSurchargeAccountDetailMapper; + @Resource + private Locker locker; + @Resource + private ClientsSurchargeAccountsMapper clientsSurchargeAccountsMapper; Logger logger = LoggerFactory.getLogger(ClientContractServiceImpl.class); @@ -40,27 +51,59 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService{ Date dateto = monthCal.getTime(); monthCal.set(Calendar.MONTH, (monthCal.get(Calendar.MONTH) - 1)); Date datefrom = monthCal.getTime(); - logger.info("===============Start generator surcharge account month detail===============" + new Date()); List thisMonthDetail = clearingDistributedSurchargeMapper.getMonthDetailByClientId(datefrom, dateto); logger.info("this month details : " + thisMonthDetail.toString()); - for (JSONObject detail : thisMonthDetail) { detail.put("send_mail", 0); detail.put("wx_send", 0); detail.put("settle_month", DateFormatUtils.format(datefrom, "yyyy-MM")); detail.put("create_time", new Date()); + detail.put("is_valid", 0); financialSurchargeAccountDetailMapper.save(detail); } - logger.info("===============generator OVER===============" + new Date()); - } @Override public List listSettledDatesInMonth(String mon) { - List settledDates = financialSurchargeAccountDetailMapper.listSettlementDatesInMonth(mon); + return financialSurchargeAccountDetailMapper.listSettlementDatesInMonth(mon); + } - return settledDates; + @Override + public void fillMothsSurcharge(JSONObject manager, String detail_id) { + if (!(ManagerRole.ADMIN.hasRole(manager.getIntValue("role")) || ManagerRole.OPERATOR.hasRole(manager.getIntValue("role")) || ManagerRole.FINANCIAL_STAFF.hasRole(manager.getIntValue("role")))) { + throw new ForbiddenException("无法执行平账操作,权限不足"); + } + JSONObject detail = financialSurchargeAccountDetailMapper.findByDetailId(detail_id); + if (detail.getBooleanValue("is_valid")) { + throw new BadRequestException("该记录已结清"); + } + if (!locker.lock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill", 120_000)) { + throw new ServerErrorException("Processing task, wait for a moment"); + } + try { + JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); + JSONObject transaction = new JSONObject(); + transaction.put("client_id", detail.getIntValue("client_id")); +// transaction.put("settle_date", detail.getString("settle_month")); + transaction.put("type", "Credit"); + transaction.put("total_surcharge", BigDecimal.ZERO); + transaction.put("tax_amount", BigDecimal.ZERO); + transaction.put("amount", detail.getBigDecimal("debit_amount").negate()); + transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("operation", manager.getString("manager_id")); + transaction.put("create_time", new Date()); + transaction.put("remark", detail.getString("settle_month")+"冲正"); + clearingDistributedSurchargeMapper.save(transaction); + + surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + clientsSurchargeAccountsMapper.update(surcharge_account); + detail.put("is_valid", 1); + detail.put("operator_id", manager.getString("manager_id")); + financialSurchargeAccountDetailMapper.update(detail); + } finally { + locker.unlock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill"); + } } } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java index 114f4ba4e..ca7729a21 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java @@ -19,7 +19,6 @@ import java.util.List; @RestController public class SurchargeAccountController { - @Resource private SurchargeAccountService surchargeAccountService; @@ -27,4 +26,9 @@ public class SurchargeAccountController { public List surchargeAccountSettledDates(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String month) { return surchargeAccountService.listSettledDatesInMonth(month); } + + @ManagerMapping(value = "/fill/{detail_id}", role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}, method = RequestMethod.PUT) + public void fillMothsSurcharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String detail_id) { + surchargeAccountService.fillMothsSurcharge(manager, detail_id); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java index 4897b1e2b..eaa7e9031 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/SurchargeAccountMonthTask.java @@ -16,10 +16,7 @@ public class SurchargeAccountMonthTask { @Resource private SurchargeAccountService surchargeAccountService; - - - - @Scheduled(cron = "0 30 6 1 * ?") + @Scheduled(cron = "0 30 23 1 * ?") public void generateSurchargeAccountDetail() { synchronizedScheduler.executeProcess("manage_task:generateSurchargeAccountMonth", 120_000, () -> surchargeAccountService.generatorMonthDetail()); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml index 99897a8f2..5632543bf 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml @@ -4,8 +4,10 @@ + \ No newline at end of file diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index 38d1a8ee3..250e8c82b 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -608,6 +608,11 @@ margin-bottom: 10%;"/> 商户欠款|Pre Refund +
  • + + 后付费收款 + +
  • diff --git a/src/main/ui/static/menu/templates/main_menu.html b/src/main/ui/static/menu/templates/main_menu.html index cccf149df..30a9608b8 100644 --- a/src/main/ui/static/menu/templates/main_menu.html +++ b/src/main/ui/static/menu/templates/main_menu.html @@ -821,6 +821,16 @@ +
    diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js index 161f419fc..c122470b7 100644 --- a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js +++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js @@ -21,18 +21,16 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func controller: 'surchargeAccountMonthCtrl' }) }]); - app.controller('clientSurchargeAccountCtrl', ['$scope', '$http','$state','$filter', 'commonDialog','partner', function ($scope, $http,$state,$filter, commonDialog, partner) { + app.controller('clientSurchargeAccountCtrl', ['$scope', '$http','$state','$filter', 'commonDialog','partner','$uibModal', function ($scope, $http,$state,$filter, commonDialog, partner,$uibModal) { $scope.partner = angular.copy(partner.data); $scope.getBalance = function () { $scope.surcharge = {}; - if ($scope.partner.surcharge_mode != undefined && $scope.partner.surcharge_mode == "distributed") { $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/surcharge_account').then(function (resp) { $scope.surcharge = resp.data; }) - } }; @@ -45,10 +43,36 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.getBalance(); $scope.getTransactions(); + $scope.getDetailByMonths = function () { + $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/account/months').then(function (resp) { + $scope.report = resp.data; + }) + }; + $scope.getDetailByMonths(); + $scope.surchargeAccountDetail = function (client_moniker,mon) { + $uibModal.open({ + templateUrl: '/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html', + controller: 'accountDetailCtrl', + size: 'lg', + resolve: { + client_moniker: function () { + return client_moniker; + }, + month: function () { + return mon; + }, + transactions: ['$http', function ($http) { + return $http.get('/client/partner_info/' + client_moniker + '/account/transactions/date?date=' + mon); + }] + } + }); + }; + + }]); - app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser', - function ($scope, $http, $filter, $timeout, $uibModal, commonDialog, chartParser) { + app.controller('surchargeAccountMonthCtrl', ['$scope', '$http', '$filter', '$timeout', '$uibModal', 'commonDialog', 'chartParser','$sce', + function ($scope, $http, $filter, $timeout, $uibModal, commonDialog, chartParser, $sce) { $scope.params = {year: new Date().getFullYear()}; $scope.availableYears = [new Date().getFullYear() - 1, new Date().getFullYear()]; $scope.initMonth = function (year) { @@ -67,7 +91,6 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func return start <= mon && end >= mon }; $scope.loadReport = function (mon) { - $http.get('/sys/surcharge_account/month/' + mon + '/settled_dates').then(function (resp) { $scope.report = { month: mon, @@ -97,6 +120,25 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.loadReport($scope.report.month); }); }; + $scope.fillMonthsSurcharge = function (details) { + var contentHtml = $sce.trustAsHtml('即将为[' + details.short_name + ']冲正,请确认商户信息'); + + commonDialog.confirm({ + title: '后付费账户冲正', + content: '', + choises: [{label: 'OK', className: 'btn-success', key: '1'}, + {label: 'Cancel', className: 'btn-danger', key: '2', dismiss: true}], + contentHtml: contentHtml + }).then(function () { + $http.put('/sys/surcharge_account/fill/' + details.detail_id).then(function () { + commonDialog.alert({title: 'Success', content: '冲正成功', type: 'success'}); + $scope.loadReport($scope.report.month); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }); + }) + + }; diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html index 2b2a39c8b..acc93428d 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html @@ -46,26 +46,38 @@ 商户编号 Short Name + Total Surcharge 充值总额 支出总额 - 余额 + 是否结清 + 操作 - - - - - - {{details.balance|currency:'$'}} - {{details.balance|currency:'$'}} + + + - + + + + + + 已结清 + 未付款 + + + + + + + diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html index 184c4becb..43e3e0e12 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html @@ -1,4 +1,3 @@ -

    Client Surcharge Account @@ -14,40 +13,31 @@
    -
    +

    {{surcharge.balance|currency:'AUD'}}

    - - - - - + + + + + - - - - - - - + + + + + + +
    -
    @@ -112,3 +102,46 @@

    +
    +

    + 每月手续费 +

    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    清算月份Total Surcharge支出总额是否结清操作
    + 已结清 + 未付款 + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html new file mode 100644 index 000000000..acf867ea1 --- /dev/null +++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account_dialog.html @@ -0,0 +1,39 @@ + + diff --git a/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html index 43d081316..8ebfc3457 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/partner_surcharge_account_dialog.html @@ -78,7 +78,12 @@ - + + {{tr.remark}} + + + +