From f6d91e0ec957d2917b4aba4d3c9d27a644b89ad1 Mon Sep 17 00:00:00 2001 From: todking Date: Mon, 22 Jul 2019 18:44:07 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=98=A8=E6=97=A5=E5=BC=80=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E5=92=8C=E5=BD=93=E6=9C=88=E5=BC=80=E6=88=B7=E6=95=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/core/impls/DailyReportImp.java | 22 +++++++++++---- .../manage/mappers/system/ClientMapper.java | 2 ++ .../manage/mappers/system/ClientMapper.xml | 28 +++++++++++++++++++ 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DailyReportImp.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DailyReportImp.java index 539af2a67..a7b83e567 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DailyReportImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DailyReportImp.java @@ -125,11 +125,23 @@ public class DailyReportImp implements DailyReport { kpi.put("compare_value",Math.abs(compare.doubleValue())); } } - kpi.put("kpi_percent", p.getBigDecimal("month_amount").divide(kpi_amount,4,BigDecimal.ROUND_HALF_DOWN).multiply(BigDecimal.valueOf(100)).toString().substring(0,5)+"%"); - for(JSONObject clientAmount :clientsAmount ){ - if(clientAmount.getString("bd_group").equals(kpi.getString("bd_group"))){ - kpi.put("clients_month",clientAmount.getBigDecimal("clients_month")); - kpi.put("clients_yesterday",clientAmount.getBigDecimal("clients_yesterday")); + kpi.put("kpi_percent", p.getBigDecimal("month_amount").divide(kpi_amount, 4, BigDecimal.ROUND_HALF_DOWN).multiply(BigDecimal.valueOf(100)).toString().substring(0, 5) + "%"); + for (JSONObject clientAmount : clientsAmount) { + if (clientAmount.getString("bd_group").equals(kpi.getString("bd_group"))) { + // sys_clients中查询出此bd创建并属于此bd的商户,并且时间是昨天和本月 + JSONObject countByBd = clientMapper.findCountByBd(clientAmount.getString("bd_group"), DateUtils.truncate(dt, Calendar.DATE), DateUtils.truncate(DateUtils.addDays(dt, -1), Calendar.DATE), DateUtils.truncate(dt, Calendar.MONTH)); + if (countByBd.getInteger("month_count") == null){ + kpi.put("clients_month", 0); + }else { + kpi.put("clients_month", countByBd.getInteger("month_count")); + } + if (countByBd.getInteger("yesterday_count") == null){ + kpi.put("clients_yesterday", 0); + }else { + kpi.put("clients_yesterday", countByBd.getInteger("yesterday_count")); + } +// kpi.put("clients_month", clientAmount.getBigDecimal("clients_month")); +// kpi.put("clients_yesterday", clientAmount.getBigDecimal("clients_yesterday")); } } total_kpi_amount = total_kpi_amount.add(kpi_amount); diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java index 2e2d9d93b..df5996629 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientMapper.java @@ -126,4 +126,6 @@ public interface ClientMapper { List clientPayTypeInfoByClientIdRange(@Param("begin") int begin, @Param("end") int end); int getPartnercode(@Param("codes") String codes); + + JSONObject findCountByBd(@Param("bd_group") String bd_group, @Param("today") Date today, @Param("yesterday") Date yesterday, @Param("month") Date month); } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index b8f804af5..2835f44e2 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -662,4 +662,32 @@ AND cb_bankpay_url IS NULL + +