From b46745ed55da3b64a9aa77e4241b88b084735fd2 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Thu, 11 Jan 2018 09:18:39 +0800 Subject: [PATCH] tmp --- .../impls/CityPartnerPrizeServiceImpl.java | 2 +- .../web/CityPartnerPrizeController.java | 76 ++++++++++++++----- .../FinancialAgentCommissionMapper.xml | 4 +- .../ui/static/agent/commission/commission.js | 11 ++- .../templates/agent_commission_detail.html | 3 +- .../templates/agent_commission_month.html | 14 ++-- .../templates/agent_commission_root.html | 10 +-- 7 files changed, 78 insertions(+), 42 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java index a389a3b96..54f8f01f4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/core/impls/CityPartnerPrizeServiceImpl.java @@ -518,7 +518,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService { JSONObject item = new JSONObject(); item.put("month", mon); item.put("monthstr", year + "-" + StringUtils.substring("00" + mon, -2)); - JSONObject chargeInfo = getReferrerPrizeInfo(item.getString("monthstr")); + JSONObject chargeInfo = getAgentPrizeInfo(item.getString("monthstr")); item.put("org_charge", chargeInfo.getString("org_charge")); item.put("gross_amount", chargeInfo.getString("gross_amount")); monthObjs.add(item); diff --git a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java index a5aa46a85..dc7b6018e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java +++ b/src/main/java/au/com/royalpay/payment/manage/citypartner/web/CityPartnerPrizeController.java @@ -74,11 +74,11 @@ public class CityPartnerPrizeController { String cityPartnerName = ""; int org_id = 0; for (JSONObject jsonObject : entry.getValue()) { - grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); - totalCharge = totalCharge.add(jsonObject.getBigDecimal("total_charge")); - royalpayCharge = royalpayCharge.add(jsonObject.getBigDecimal("royalpay_charge")); + grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); + totalCharge = totalCharge.add(jsonObject.getBigDecimal("total_charge")); + royalpayCharge = royalpayCharge.add(jsonObject.getBigDecimal("royalpay_charge")); orgCharge = orgCharge.add(jsonObject.getBigDecimal("org_charge")); - if(jsonObject.getBigDecimal("net_charge")!=null) { + if (jsonObject.getBigDecimal("net_charge") != null) { netCharge = netCharge.add(jsonObject.getBigDecimal("net_charge")); } org_id = jsonObject.getIntValue("org_id"); @@ -90,7 +90,7 @@ public class CityPartnerPrizeController { sumResult.put("org_charge", orgCharge); sumResult.put("org_name", cityPartnerName); sumResult.put("org_id", org_id); - sumResult.put("net_charge",netCharge); + sumResult.put("net_charge", netCharge); sumResult.put("channel_detail", entry.getValue()); resultTotalCharge = resultTotalCharge.add(totalCharge); resultRoyalpayCharge = resultRoyalpayCharge.add(royalpayCharge); @@ -99,11 +99,11 @@ public class CityPartnerPrizeController { partnerInfos.add(sumResult); } result.put("monthstr", monthStr); - result.put("total_charge",resultTotalCharge); - result.put("royalpay_charge",resultRoyalpayCharge); - result.put("net_charge",resultNetCharge); - result.put("org_charge",resultOrgCharge); - result.put("partner_info_list",partnerInfos); + result.put("total_charge", resultTotalCharge); + result.put("royalpay_charge", resultRoyalpayCharge); + result.put("net_charge", resultNetCharge); + result.put("org_charge", resultOrgCharge); + result.put("partner_info_list", partnerInfos); return result; } @@ -122,10 +122,12 @@ public class CityPartnerPrizeController { public JSONObject getreferrerPrizeDetail(@PathVariable String monthStr, @PathVariable String orgId) { return cityPartnerPrizeService.getReferrerPrizeDetail(monthStr, orgId); } + @RequestMapping("/referrer/months") public List listReferrerAvailableMonths(@RequestParam String year) { return cityPartnerPrizeService.listReferrerAvailableMonths(year); } + @RequestMapping(value = "/referrer/months/{monthStr}") public JSONObject getReferrerPrizeInfo(@PathVariable String monthStr) { List partnerPrizeInfos = cityPartnerPrizeService.getReferrerPrizeInfoList(monthStr); @@ -151,7 +153,7 @@ public class CityPartnerPrizeController { String cityPartnerName = ""; int org_id = 0; for (JSONObject jsonObject : entry.getValue()) { - grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); + grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); orgCharge = orgCharge.add(jsonObject.getBigDecimal("org_charge")); org_id = jsonObject.getIntValue("org_id"); cityPartnerName = jsonObject.getString("name"); @@ -166,26 +168,28 @@ public class CityPartnerPrizeController { partnerInfos.add(sumResult); } result.put("monthstr", monthStr); - result.put("gross_amount",resultGrossAmount); - result.put("org_charge",resultOrgCharge); - result.put("partner_info_list",partnerInfos); + result.put("gross_amount", resultGrossAmount); + result.put("org_charge", resultOrgCharge); + result.put("partner_info_list", partnerInfos); return result; } @RequestMapping(value = "/agent/generate", method = RequestMethod.POST) public void generateAgent(@RequestBody JSONObject param, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject managerInfo) { String month = param.getString("month"); - cityPartnerPrizeService.generateAgent(month,managerInfo.getIntValue("org_id")); + cityPartnerPrizeService.generateAgent(month, managerInfo.getIntValue("org_id")); } @ManagerMapping("/agent/months/{monthStr}/orgs/{orgId}") public JSONObject getAgentPrizeDetail(@PathVariable String monthStr, @PathVariable String orgId) { return cityPartnerPrizeService.getAgentPrizeDetail(monthStr, orgId); } + @RequestMapping("/agent/months") public List listAgentAvailableMonths(@RequestParam String year) { return cityPartnerPrizeService.listAgentAvailableMonths(year); } + @RequestMapping(value = "/agent/months/{monthStr}") public JSONObject getAgentPrizeInfo(@PathVariable String monthStr) { List partnerPrizeInfos = cityPartnerPrizeService.getAgentPrizeInfoList(monthStr); @@ -200,35 +204,69 @@ public class CityPartnerPrizeController { partenerPrizeMap.put(key, tmpList); } } + + BigDecimal royalpay_charge = BigDecimal.ZERO; + + List partnerPrizeList = cityPartnerPrizeService.getCityPartnerPrizeInfoList(monthStr); + Map countPartnerPrizeMap = new HashMap<>(); + for (JSONObject p : partnerPrizeList) { + royalpay_charge = royalpay_charge.add(p.getBigDecimal("royalpay_charge")); + Integer key = p.getInteger("org_id"); + JSONObject partnerTmp = countPartnerPrizeMap.get(key); + if (partnerTmp == null) { + JSONObject partner = new JSONObject(); + partner.put("royalpay_charge", p.getBigDecimal("royalpay_charge")); + countPartnerPrizeMap.put(key, partner); + } else { + partnerTmp.put("royalpay_charge", partnerTmp.getBigDecimal("royalpay_charge").add(p.getBigDecimal("royalpay_charge"))); + } + } + JSONObject result = new JSONObject(); List partnerInfos = new ArrayList<>(partenerPrizeMap.size()); BigDecimal resultGrossAmount = BigDecimal.ZERO; BigDecimal resultOrgCharge = BigDecimal.ZERO; + BigDecimal resultAgentCharge = BigDecimal.ZERO; + BigDecimal resultOrgNetCharge = BigDecimal.ZERO; for (Map.Entry> entry : partenerPrizeMap.entrySet()) { JSONObject sumResult = new JSONObject(); BigDecimal grossAmount = BigDecimal.ZERO; BigDecimal orgCharge = BigDecimal.ZERO; + BigDecimal agentCharge = BigDecimal.ZERO; + BigDecimal orgNetCharge = BigDecimal.ZERO; String cityPartnerName = ""; int org_id = 0; for (JSONObject jsonObject : entry.getValue()) { - grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); + grossAmount = grossAmount.add(jsonObject.getBigDecimal("gross_amount")); orgCharge = orgCharge.add(jsonObject.getBigDecimal("org_charge")); + agentCharge = agentCharge.add(jsonObject.getBigDecimal("total_charge")); + orgNetCharge = orgNetCharge.add(jsonObject.getBigDecimal("org_net_charge")); org_id = jsonObject.getIntValue("org_id"); cityPartnerName = jsonObject.getString("name"); } sumResult.put("gross_amount", grossAmount); sumResult.put("org_charge", orgCharge); + sumResult.put("org_net_charge",orgNetCharge); sumResult.put("org_name", cityPartnerName); sumResult.put("org_id", org_id); sumResult.put("channel_detail", entry.getValue()); + + sumResult.put("royalpay_charge",countPartnerPrizeMap.get(org_id)==null?0:countPartnerPrizeMap.get(org_id).getBigDecimal("royalpay_charge")); resultGrossAmount = resultGrossAmount.add(grossAmount); resultOrgCharge = resultOrgCharge.add(orgCharge); + resultAgentCharge = resultAgentCharge.add(agentCharge); + resultOrgNetCharge = resultOrgNetCharge.add(orgNetCharge); partnerInfos.add(sumResult); } + + result.put("royalpay_charge", royalpay_charge); result.put("monthstr", monthStr); - result.put("gross_amount",resultGrossAmount); - result.put("org_charge",resultOrgCharge); - result.put("partner_info_list",partnerInfos); + result.put("gross_amount", resultGrossAmount); + result.put("agent_total_charge", resultAgentCharge); + result.put("org_charge", resultOrgCharge); + result.put("org_net_charge", resultOrgNetCharge); + result.put("partner_info_list", partnerInfos); + return result; } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialAgentCommissionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialAgentCommissionMapper.xml index 46e5d94b4..0a2b3df45 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialAgentCommissionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/financial/FinancialAgentCommissionMapper.xml @@ -12,7 +12,7 @@ c.*, o.name `name` FROM financial_agent_commission c - INNER JOIN sys_org o ON o.org_id = c.org_id and o.type=1 + INNER JOIN sys_org o ON o.org_id = c.org_id and o.parent_org_id is null WHERE c.year = #{year} AND c.month = #{month} and c.org_id=#{org_id} \ No newline at end of file diff --git a/src/main/ui/static/agent/commission/commission.js b/src/main/ui/static/agent/commission/commission.js index 9653a76a1..0ede01505 100644 --- a/src/main/ui/static/agent/commission/commission.js +++ b/src/main/ui/static/agent/commission/commission.js @@ -6,10 +6,14 @@ define(['angular','../../agent/commission/commission'], function (angular) { var app = angular.module('agentCommission', ['ui.router']); app.config(['$stateProvider', function ($stateProvider) { $stateProvider.state('analysis_agent', { - url: '/analysis_agent/agentcommission', + url: '/analysis_agent', templateUrl: '/static/agent/commission/templates/agent_commission_root.html', controller: 'agentCommissionRootCtrl' }).state('analysis_agent.agentcommission', { + url:'/agentcommission', + template:'
', + controller:['$scope',function ($scope) { + }] }).state('analysis_agent.agentcommission.month', { url: '/months/{monthStr}', templateUrl: '/static/agent/commission/templates/agent_commission_month.html', @@ -20,7 +24,7 @@ define(['angular','../../agent/commission/commission'], function (angular) { }] } }).state('analysis_agent.agentcommission.month.agentdetail', { - url: '/{orgId}', + url: '/orgs/{orgId}', templateUrl: '/static/agent/commission/templates/agent_commission_detail.html', controller: 'agentCommissionagentDetailCtrl', resolve: { @@ -34,8 +38,7 @@ define(['angular','../../agent/commission/commission'], function (angular) { app.controller('agentCommissionRootCtrl', ['$scope', '$http', '$filter', '$state', 'commonDialog', function ($scope, $http, $filter, $state, commonDialog) { $scope.generate = {}; - $scope.generateagentCommission = function () { - alert(1); + $scope.generateAgentCommission = function () { $scope.generate.status = {}; if (!$scope.generate.month) { commonDialog.alert({ diff --git a/src/main/ui/static/agent/commission/templates/agent_commission_detail.html b/src/main/ui/static/agent/commission/templates/agent_commission_detail.html index c7d487ca6..3a880c7e8 100644 --- a/src/main/ui/static/agent/commission/templates/agent_commission_detail.html +++ b/src/main/ui/static/agent/commission/templates/agent_commission_detail.html @@ -5,7 +5,7 @@ } - +
Analysis
@@ -182,4 +182,5 @@
+
\ No newline at end of file diff --git a/src/main/ui/static/agent/commission/templates/agent_commission_month.html b/src/main/ui/static/agent/commission/templates/agent_commission_month.html index fede91cc7..85ee29b1f 100644 --- a/src/main/ui/static/agent/commission/templates/agent_commission_month.html +++ b/src/main/ui/static/agent/commission/templates/agent_commission_month.html @@ -7,16 +7,16 @@ Month:
- Total Charge: + Total Charge:
RoyalPay Charge:
- Net Charge: + Net Charge:
- City Partner Charge: + Org Charge:
@@ -32,7 +32,6 @@ Total Charge RoyalPay Charge Net Charge - City Partner Charge Details @@ -40,12 +39,11 @@ - - - + + - + diff --git a/src/main/ui/static/agent/commission/templates/agent_commission_root.html b/src/main/ui/static/agent/commission/templates/agent_commission_root.html index 27478cb97..d1ae058f7 100644 --- a/src/main/ui/static/agent/commission/templates/agent_commission_root.html +++ b/src/main/ui/static/agent/commission/templates/agent_commission_root.html @@ -15,7 +15,7 @@ ng-click="ctrl.genmonth=true" placeholder="Select Month"/> - @@ -39,14 +39,10 @@
Total Charge: - +
- RoyalPay Charge: - -
-
- City Partner Charge: + Org Charge: