From a79be5c75d4409bd14a36b648c1a398b409cad65 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 08 一月 2019 16:48:39 +0800 Subject: [PATCH] Merge branch 'div1' --- fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 73 insertions(+), 8 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java index 86d181c..7191a35 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java @@ -70,9 +70,9 @@ if (startTime.equals(endTime)) { Map<String, Object> map = list.get(0); - Object total = map.get("total"); + Object total = map.get("showValue"); if (total == null) { - map.put("total", 0); + map.put("showValue", 0); } listObject.add(map); return listObject; @@ -94,7 +94,7 @@ Object createDate = map.get("showDate"); String month = createDate.toString(); if (plusDay.equalsIgnoreCase(month)) { - total = map.get("total"); + total = map.get("showValue"); break; } } @@ -102,7 +102,7 @@ if (total == null) { total = 0; } - mapObject.put("total", total); + mapObject.put("showValue", total); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); @@ -133,7 +133,7 @@ Object createDate = map.get("showDate"); String month = createDate.toString(); if ((i + "").equalsIgnoreCase(month) || i == Integer.parseInt(month)) { - total = map.get("total"); + total = map.get("showValue"); break; } } @@ -141,7 +141,7 @@ if (total == null) { total = 0; } - mapObject.put("total", total); + mapObject.put("showValue", total); mapObject.put("showDate", i + "鏈�"); @@ -156,12 +156,12 @@ for (int i = 0; i < list.size(); i++) { Map<String, Object> map = list.get(i); - Object total = map.get("total"); + Object total = map.get("showValue"); if (total == null) { total = 0; } - map.put("total", total); + map.put("showValue", total); listObject.add(map); } @@ -215,4 +215,69 @@ } + @Override + public List<Map<String, Object>> getProportionByType(Integer dateType, Integer type, String year, + String startTime, String endTime) throws Exception { + + List<Map<String, Object>> result_list = null; + + List<Map<String, Object>> listTotal = hongBaoV2CountMapper.countHongBaoTotalNum(dateType, year, startTime, endTime); + if (listTotal == null || listTotal.size() == 0) { + return result_list; + } + + List<Map<String, Object>> type_list = hongBaoV2CountMapper.countHongBaoType(dateType, type, + year, startTime, endTime); + + if (type_list == null || type_list.size() == 0) { + return null; + } + + switch (dateType){ + case 1: // 鎸夊ぉ澶勭悊 + result_list = dayFactory(startTime, endTime, type_list); + break; + case 2: // 鎸夋湀澶勭悊 + result_list = monthFactory(type_list); + break; + case 3: + result_list = yearFactory(type_list); + break; + default: + break; + } + + + for (int i = 0; i < result_list.size(); i++) { + + float proportion = 0; + Map<String, Object> resultMap = result_list.get(i); + + Object showDate = resultMap.get("showDate"); + for (int j = 0; j < listTotal.size(); j++) { + Map<String, Object> innerMap = result_list.get(j); + Object innerDate = innerMap.get("showDate"); + + if (innerDate != null && innerDate.toString().equals(showDate.toString())) { + Object innerValue = innerMap.get("showValue"); + long innerData = Long.parseLong(innerValue.toString()); + + Object showValue = resultMap.get("showValue"); + long showData = Long.parseLong(showValue.toString()); + + if (showData > 0) { + proportion = innerData/showData; + } + + break; // 缁撴潫鍐呴儴寰幆 + } + } + + resultMap.put("showValue", proportion); + } + + return result_list; + } + + } -- Gitblit v1.8.0