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 + +