package com.malk.eastar.schedule; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.malk.eastar.model.AITableParam; import com.malk.eastar.model.AITableResult; import com.malk.eastar.service.AitableService; import com.malk.eastar.service.MDTableClient; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.util.*; /** * 项目总表数据计算定时任务 */ @Slf4j @Configuration @EnableScheduling @ConditionalOnProperty(name = {"enable.scheduling"}) public class ScheduleTask5 { @Autowired private MDTableClient mdTableClient; @Autowired private AitableService aitableService; /** * 项目总表表2未填写完成统计 * 每日9点55 */ @Scheduled(cron = "0 55 9 * * ?") public void caculateTable2Incomplete() { log.info("定时更新项目台账填写情况表开始"); /* 查询【表2】项目台账所有项目状态为Pending、Done、Closed的记录 */ JSONArray table2RecordsFilter = new JSONArray(); String baseId = "G53mjyd80pEr5grBfpjmMX6586zbX04v"; String sheetIdOrName = "pl6sz00"; Map param = new HashMap<>(); param.put("operatorId","aj1wcWqKLXITiPDwbMIjUbAiEiE"); //操作人(Jason)的unionId AITableParam aiTableParam = new AITableParam(); aiTableParam.setMaxResults(100); JSONObject filter = new JSONObject(); filter.put("combination","and"); JSONArray conditions = new JSONArray(); JSONObject condition = new JSONObject(); condition.put("field","项目状态"); condition.put("operator","notContain"); condition.put("value",new String[]{"Pending","Done","Closed"}); conditions.add(condition); filter.put("conditions",conditions); aiTableParam.setFilter(filter); AITableResult aiTableResult; boolean hasMore = true; int pageNo = 1; JSONArray records; log.info("查询【表2】项目台账所有项目状态为Pending、Done、Closed的记录"); while(hasMore){ aiTableResult = mdTableClient.queryMultiRecords(baseId,sheetIdOrName,param,aiTableParam); hasMore = aiTableResult.getHasMore(); log.info("当前第"+pageNo+"页"); log.info("记录数="+aiTableResult.getRecords().size()); records = aiTableResult.getRecords(); for(int i=0;i checkEmptyRecordList = new ArrayList<>(); String[] checkEmptyFieldArr = new String[]{ "计划:开始白样【交付进度】", "计划:结束白样【交付进度】", "计划:开始制版【交付进度】", "计划:结束制版【交付进度】", "计划:开始产前样【交付进度】", "计划:结束产前样【交付进度】", "计划:开始大货【交付进度】", "计划:结束大货【交付进度】", "计划:开始包装【交付进度】", "计划:结束包装【交付进度】", "计划:开始出货【交付进度】", "计划:结束出货时间【交付进度】" }; JSONObject table2Record; JSONObject fields; String unionIdPM; String checkFailureStr; JSONArray pmJSONArray; // System.out.println("表2PM:"); for(int i=0;i unionIdMap = new HashMap<>(); for(int i=0; i 100){ pageNo = 1; while(insertRecords.size() > 100){ newInsertRecords = new JSONArray(); records = new JSONArray(); for (int i = 0; i < insertRecords.size(); i++) { if(i<100){ newInsertRecords.add(insertRecords.getJSONObject(i)); }else{ records.add(insertRecords.getJSONObject(i)); } } insertData.put("records",newInsertRecords); // log.info(JSON.toJSONString(insertData)); result = mdTableClient.createMultiRecords(baseId,sheetIdOrName,param,insertData); log.info("新增项目台账填写情况表记录结果,第"+pageNo+"页:"); log.info(result); insertRecords = records; pageNo++; } } if(insertRecords.size() > 0){ insertData.put("records",insertRecords); // log.info(JSON.toJSONString(insertData)); sheetIdOrName = "OTgxt4G"; result = mdTableClient.createMultiRecords(baseId,sheetIdOrName,param,insertData); log.info("新增项目台账填写情况表记录结果,第"+pageNo+"页:"); log.info(result); } log.info("定时更新项目台账填写情况表结束"); } /** * 计算月度预计和实际AB客户发展数 */ @Scheduled(cron = "0 0 19 * * 5") public void caculateMonthlyCustomerAB() { log.info("计算月度预计和实际AB客户发展数开始"); //查询所有项目总表售前台账数据 List saleData = new ArrayList<>(); try { log.info("查询所有项目总表售前台账数据"); saleData = aitableService.querySys1AllSaleData(); } catch (Exception e) { log.error("查询所有项目总表售前台账数据异常",e); } log.info("项目总表售前台账记录数量="+saleData.size()); //客户与业务员关联关系 Map customerBusinessUserMap = new HashMap<>(); String customerId; String unionId; for (Map saleRecord : saleData){ if (saleRecord.get("unionId") != null && saleRecord.get("customerId") != null && !"".equals(saleRecord.get("unionId")) && !"".equals(saleRecord.get("customerId"))){ customerId = saleRecord.get("customerId").toString(); unionId = saleRecord.get("unionId").toString(); if(customerBusinessUserMap.containsKey(customerId)){ if(!unionId.equals(customerBusinessUserMap.get(customerId))){ // System.out.println("客户"+customerId+"关联业务员ID不一致:"+unionId+","+customerBusinessUserMap.get(customerId)); // try { // System.out.println(unionId+":"+ddCoreClient.getNameByUserId(ddCoreClient.getUserIdByUnionId(unionId))); // System.out.println(customerBusinessUserMap.get(customerId)+":"+ddCoreClient.getNameByUserId(ddCoreClient.getUserIdByUnionId(customerBusinessUserMap.get(customerId)))); // } catch (Exception e) { // log.error("根据unionId获取userId异常",e); // } } }else{ customerBusinessUserMap.put(customerId,unionId); } } } /* 从项目总表(系统1)获取客户数据 */ // log.info("查询项目总表客户名册所有记录"); // List sys1CustomerData = new ArrayList<>(); // try { // sys1CustomerData = aitableService.querySys1CustomerData(); // log.info("项目总表客户数量="+sys1CustomerData.size()); // } catch (Exception e) { // log.error("查询项目总表客户数据异常",e); // } //按月份汇总每个客户的订单金额 long startTimeJanuary = LocalDateTime.of(2026, 1, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeJanuary = LocalDateTime.of(2026, 1, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeFebruary = LocalDateTime.of(2026, 2, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeFebruary = LocalDateTime.of(2026, 2, 28, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeMarch = LocalDateTime.of(2026, 3, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeMarch = LocalDateTime.of(2026, 3, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeApril = LocalDateTime.of(2026, 4, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeApril = LocalDateTime.of(2026, 4, 30, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeMay = LocalDateTime.of(2026, 5, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeMay = LocalDateTime.of(2026, 5, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeJune = LocalDateTime.of(2026, 6, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeJune = LocalDateTime.of(2026, 6, 30, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeJuly = LocalDateTime.of(2026, 7, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeJuly = LocalDateTime.of(2026, 7, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeAugust = LocalDateTime.of(2026, 8, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeAugust = LocalDateTime.of(2026, 8, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeSeptember = LocalDateTime.of(2026, 9, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeSeptember = LocalDateTime.of(2026, 9, 30, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeOctober = LocalDateTime.of(2026, 10, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeOctober = LocalDateTime.of(2026, 10, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeNovember = LocalDateTime.of(2026, 11, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeNovember = LocalDateTime.of(2026, 11, 30, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long startTimeDecember = LocalDateTime.of(2026, 12, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; long endTimeDecember = LocalDateTime.of(2026, 12, 31, 23, 59, 59).atZone(ZoneId.systemDefault()).toEpochSecond() * 1000; // 本月最后一天 23:59:59.999 毫秒时间戳 // long monthBeginTs = LocalDateTime.of(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()), LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); // log.info("当月月初00:00:00.000时间戳(ms):" + monthBeginTs); // 明天 00:00:00 毫秒时间戳 // long tomorrowTs = LocalDate.now().plusDays(1).atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli(); // log.info("明天0点时间戳(ms):" + tomorrowTs); // 本月最后一天 23:59:59.999 毫秒时间戳 // long monthEndTs = LocalDateTime.of(LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()), LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); // log.info("当月月底23:59:59.999时间戳(ms):" + monthEndTs); // 完整英文月份 // String fullMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("MMMM", Locale.ENGLISH)); // log.info("完整英文月份:" + fullMonth); // 当前月份数字 // int currentMonth = LocalDate.now().getMonthValue(); // log.info("当前月份数字:" + currentMonth); log.info("按月份汇总每个客户的订单金额"); Map> customerExpectedMonthlySaleData = new HashMap<>(); Map> customerActualMonthlySaleData = new HashMap<>(); Long expectedCloseDate; //预计成单日期 Long actualCloseDate; //实际成单日期 String dealStatus; //成单状态 String orderStatus; //订单状态 String opportunityStatus; //商机阶段 Map monthAmountMap = new HashMap<>(); String projectName; Double amount; boolean isCalculateExpected; //是否计算预计成单金额 boolean isCalculateActual; //是否计算实际成单金额 int count = 0; for(Map saleRecord : saleData){ //遍历所有销售记录 try { customerId = saleRecord.get("customerId").toString(); // if("KJvf77GJEK".equals(customerId)){ // System.out.println("Mantic Games:"+JSONObject.toJSONString(saleRecord)); // count++; // }else{ // continue; // } isCalculateExpected = true; isCalculateActual = true; if(saleRecord.get("dealStatus") != null){ dealStatus = saleRecord.get("dealStatus").toString(); if ("已丢单".equals(dealStatus)){ System.out.println("成单状态:"+dealStatus+",不计入订单金额"); //不计入订单金额 continue; } } if(saleRecord.get("orderStatus") != null){ orderStatus = saleRecord.get("orderStatus").toString(); if ("8、已终止".equals(orderStatus)){ System.out.println("订单状态:"+orderStatus+",不计入订单金额"); //不计入订单金额 continue; } if ("6、暂停".equals(orderStatus)){ //不计入预计订单金额 isCalculateExpected = false; System.out.println("订单状态:"+orderStatus+",不计入预计订单金额"); } } if(saleRecord.get("opportunityStatus") != null){ opportunityStatus = saleRecord.get("opportunityStatus").toString(); if ("已成单".equals(opportunityStatus)){ //计入订单金额 } else if ("RFQ".equals(opportunityStatus)){ //不计入实际订单金额 isCalculateActual = false; } else { System.out.println("商机阶段:"+opportunityStatus+",不计入订单金额"); //不计入订单金额 continue; } } if(saleRecord.get("projectAmount") != null){ amount = Double.parseDouble(saleRecord.get("projectAmount").toString()); projectName = saleRecord.get("projectName").toString(); //############################################# 预计部分 #################################################### if(isCalculateExpected){ if(saleRecord.get("expectedCloseDate") != null){ expectedCloseDate = Long.parseLong(saleRecord.get("expectedCloseDate").toString()); }else{ expectedCloseDate = Long.valueOf("0"); } //预计成单日期在1月 if(expectedCloseDate >= startTimeJanuary && expectedCloseDate <= endTimeJanuary) { System.out.println("预计成单日期在1月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("January")){ monthAmountMap.put("January",monthAmountMap.get("January")+amount); } else { monthAmountMap.put("January",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("January",amount); } //1月订单金额累计到2~12月订单金额 if(monthAmountMap.containsKey("February")){ monthAmountMap.put("February",monthAmountMap.get("February")+amount); } else { monthAmountMap.put("February",amount); } if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); } else { monthAmountMap.put("March",amount); } if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在2月 if(expectedCloseDate >= startTimeFebruary && expectedCloseDate <= endTimeFebruary) { System.out.println("预计成单日期在2月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("February")){ monthAmountMap.put("February",monthAmountMap.get("February")+amount); } else { monthAmountMap.put("February",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("February",amount); } //2月订单金额累计到3~12月订单金额 if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); } else { monthAmountMap.put("March",amount); } if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在3月 if(expectedCloseDate >= startTimeMarch && expectedCloseDate <= endTimeMarch) { System.out.println("预计成单日期在3月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); } else { monthAmountMap.put("March",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("March",amount); } //3月订单金额累计到4~12月订单金额 if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在4月 if(expectedCloseDate >= startTimeApril && expectedCloseDate <= endTimeApril) { System.out.println("预计成单日期在4月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("April",amount); } //4月订单金额累计到5~12月订单金额 if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在5月 if(expectedCloseDate >= startTimeMay && expectedCloseDate <= endTimeMay) { System.out.println("预计成单日期在5月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("May",amount); } //5月订单金额累计到6~12月订单金额 if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在6月 if(expectedCloseDate >= startTimeJune && expectedCloseDate <= endTimeJune) { System.out.println("预计成单日期在6月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("June",amount); } //6月订单金额累计到7~12月订单金额 if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在7月 if(expectedCloseDate >= startTimeJuly && expectedCloseDate <= endTimeJuly) { System.out.println("预计成单日期在7月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("July",amount); } //7月订单金额累计到8~12月订单金额 if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在8月 if(expectedCloseDate >= startTimeAugust && expectedCloseDate <= endTimeAugust) { System.out.println("预计成单日期在8月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("August",amount); } //8月订单金额累计到9~12月订单金额 if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在9月 if(expectedCloseDate >= startTimeSeptember && expectedCloseDate <= endTimeSeptember) { System.out.println("预计成单日期在9月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("September",amount); } //9月订单金额累计到10~12月订单金额 if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在10月 if (expectedCloseDate >= startTimeOctober && expectedCloseDate <= endTimeOctober) { System.out.println("预计成单日期在10月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("October",amount); } //10月订单金额累计到11~12月订单金额 if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在11月 if (expectedCloseDate >= startTimeNovember && expectedCloseDate <= endTimeNovember) { System.out.println("预计成单日期在11月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("November",amount); } //11月订单金额累计到12月订单金额 if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } //预计成单日期在12月 if (expectedCloseDate >= startTimeDecember && expectedCloseDate <= endTimeDecember) { System.out.println("预计成单日期在12月:"+customerId+","+projectName+","+amount); if(customerExpectedMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerExpectedMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("December",amount); } customerExpectedMonthlySaleData.put(customerId,monthAmountMap); } /* 预计成单日期在本月后续日期 */ // if (expectedCloseDate >= tomorrowTs && expectedCloseDate <= monthEndTs) { // System.out.println("预计成单日期在当月:"+customerId+","+projectName+","+amount); // if(customerExpectedMonthlySaleData.containsKey(customerId)){ // monthAmountMap = customerExpectedMonthlySaleData.get(customerId); // if(monthAmountMap.containsKey(fullMonth)){ // monthAmountMap.put(fullMonth,monthAmountMap.get(fullMonth)+amount); // } else { // monthAmountMap.put(fullMonth,amount); // } // } else { // monthAmountMap = new HashMap<>(); // monthAmountMap.put(fullMonth,amount); // } // //7月订单金额累计到8~12月订单金额 // if(currentMonth <= 7){ // if(monthAmountMap.containsKey("August")){ // monthAmountMap.put("August",monthAmountMap.get("August")+amount); // } else { // monthAmountMap.put("August",amount); // } // } // if(currentMonth <= 8){ // if(monthAmountMap.containsKey("September")){ // monthAmountMap.put("September",monthAmountMap.get("September")+amount); // } else { // monthAmountMap.put("September",amount); // } // } // if(currentMonth <= 9){ // if(monthAmountMap.containsKey("October")){ // monthAmountMap.put("October",monthAmountMap.get("October")+amount); // } else { // monthAmountMap.put("October",amount); // } // } // if(currentMonth <= 10){ // if(monthAmountMap.containsKey("November")){ // monthAmountMap.put("November",monthAmountMap.get("November")+amount); // } else { // monthAmountMap.put("November",amount); // } // } // if(currentMonth <= 11){ // if(monthAmountMap.containsKey("December")){ // monthAmountMap.put("December",monthAmountMap.get("December")+amount); // } else { // monthAmountMap.put("December",amount); // } // } // customerExpectedMonthlySaleData.put(customerId,monthAmountMap); // } } //############################################# 实际部分 #################################################### if(isCalculateActual){ if(saleRecord.get("actualCloseDate") != null){ actualCloseDate = Long.parseLong(saleRecord.get("actualCloseDate").toString()); }else{ actualCloseDate = Long.valueOf("0"); } /* 实际成单日期在1月 */ if(actualCloseDate >= startTimeJanuary && actualCloseDate <= endTimeJanuary){ System.out.println("实际成单日期在1月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ //已有该客户 monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("January")){ monthAmountMap.put("January",monthAmountMap.get("January")+amount); }else{ monthAmountMap.put("January",amount); } }else{ //没有该客户 monthAmountMap = new HashMap<>(); monthAmountMap.put("January",amount); } //1月订单金额累计到2~12月订单金额 if(monthAmountMap.containsKey("February")){ monthAmountMap.put("February",monthAmountMap.get("February")+amount); }else{ monthAmountMap.put("February",amount); } if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); }else{ monthAmountMap.put("March",amount); } if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); }else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); }else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在2月 */ if(actualCloseDate >= startTimeFebruary && actualCloseDate <= endTimeFebruary){ System.out.println("实际成单日期在2月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ //有该客户 monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("February")){ monthAmountMap.put("February",monthAmountMap.get("February")+amount); } else { monthAmountMap.put("February",amount); } }else{ //没有该客户 monthAmountMap = new HashMap<>(); monthAmountMap.put("February",amount); } //2月订单金额累计到3~12月订单金额 if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); } else { monthAmountMap.put("March",amount); } if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在3月 */ if(actualCloseDate >= startTimeMarch && actualCloseDate <= endTimeMarch){ System.out.println("实际成单日期在3月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ //有该客户 monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("March")){ monthAmountMap.put("March",monthAmountMap.get("March")+amount); } else { monthAmountMap.put("March",amount); } } else { //没有该客户 monthAmountMap = new HashMap<>(); monthAmountMap.put("March",amount); } //3月订单金额累计到4~12月订单金额 if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在4月 */ if(actualCloseDate >= startTimeApril && actualCloseDate <= endTimeApril){ System.out.println("实际成单日期在4月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("April")){ monthAmountMap.put("April",monthAmountMap.get("April")+amount); } else { monthAmountMap.put("April",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("April",amount); } //4月订单金额累计到5~12月订单金额 if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在5月 */ if(actualCloseDate >= startTimeMay && actualCloseDate <= endTimeMay){ System.out.println("实际成单日期在5月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("May")){ monthAmountMap.put("May",monthAmountMap.get("May")+amount); } else { monthAmountMap.put("May",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("May",amount); } //5月订单金额累计到6~12月订单金额 if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在6月 */ if(actualCloseDate >= startTimeJune && actualCloseDate <= endTimeJune){ System.out.println("实际成单日期在6月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("June")){ monthAmountMap.put("June",monthAmountMap.get("June")+amount); } else { monthAmountMap.put("June",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("June",amount); } //6月订单金额累计到7~12月订单金额 if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在7月 */ if(actualCloseDate >= startTimeJuly && actualCloseDate <= endTimeJuly){ System.out.println("实际成单日期在7月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("July")){ monthAmountMap.put("July",monthAmountMap.get("July")+amount); } else { monthAmountMap.put("July",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("July",amount); } //7月订单金额累计到8~12月订单金额 if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在8月 */ if(actualCloseDate >= startTimeAugust && actualCloseDate <= endTimeAugust){ System.out.println("实际成单日期在8月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("August")){ monthAmountMap.put("August",monthAmountMap.get("August")+amount); } else { monthAmountMap.put("August",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("August",amount); } //8月订单金额累计到9~12月订单金额 if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在9月 */ if(actualCloseDate >= startTimeSeptember && actualCloseDate <= endTimeSeptember){ System.out.println("实际成单日期在9月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("September")){ monthAmountMap.put("September",monthAmountMap.get("September")+amount); } else { monthAmountMap.put("September",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("September",amount); } //9月订单金额累计到10~12月订单金额 if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在10月 */ if(actualCloseDate >= startTimeOctober && actualCloseDate <= endTimeOctober){ System.out.println("实际成单日期在10月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("October")){ monthAmountMap.put("October",monthAmountMap.get("October")+amount); } else { monthAmountMap.put("October",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("October",amount); } //10月订单金额累计到11~12月订单金额 if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在11月 */ if(actualCloseDate >= startTimeNovember && actualCloseDate <= endTimeNovember){ System.out.println("实际成单日期在11月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("November")){ monthAmountMap.put("November",monthAmountMap.get("November")+amount); } else { monthAmountMap.put("November",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("November",amount); } //11月订单金额累计到12月订单金额 if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在12月 */ if(actualCloseDate >= startTimeDecember && actualCloseDate <= endTimeDecember){ System.out.println("实际成单日期在12月:"+customerId+","+projectName+","+amount); if(customerActualMonthlySaleData.containsKey(customerId)){ monthAmountMap = customerActualMonthlySaleData.get(customerId); if(monthAmountMap.containsKey("December")){ monthAmountMap.put("December",monthAmountMap.get("December")+amount); } else { monthAmountMap.put("December",amount); } } else { monthAmountMap = new HashMap<>(); monthAmountMap.put("December",amount); } customerActualMonthlySaleData.put(customerId,monthAmountMap); } /* 实际成单日期在本月已过日期 */ // if (actualCloseDate >= monthBeginTs && actualCloseDate <= tomorrowTs) { // System.out.println("实际成单日期在当月:"+customerId+","+projectName+","+amount); // if(customerActualMonthlySaleData.containsKey(customerId)){ // monthAmountMap = customerActualMonthlySaleData.get(customerId); // if(monthAmountMap.containsKey(fullMonth)){ // monthAmountMap.put(fullMonth,monthAmountMap.get(fullMonth)+amount); // } else { // monthAmountMap.put(fullMonth,amount); // } // } else { // monthAmountMap = new HashMap<>(); // monthAmountMap.put(fullMonth,amount); // } // //7月订单金额累计到8~12月订单金额 // if(currentMonth <= 7){ // if(monthAmountMap.containsKey("August")){ // monthAmountMap.put("August",monthAmountMap.get("August")+amount); // } else { // monthAmountMap.put("August",amount); // } // } // if(currentMonth <= 8){ // if(monthAmountMap.containsKey("September")){ // monthAmountMap.put("September",monthAmountMap.get("September")+amount); // } else { // monthAmountMap.put("September",amount); // } // } // if(currentMonth <= 9){ // if(monthAmountMap.containsKey("October")){ // monthAmountMap.put("October",monthAmountMap.get("October")+amount); // } else { // monthAmountMap.put("October",amount); // } // } // if(currentMonth <= 10){ // if(monthAmountMap.containsKey("November")){ // monthAmountMap.put("November",monthAmountMap.get("November")+amount); // } else { // monthAmountMap.put("November",amount); // } // } // if(currentMonth <= 11){ // if(monthAmountMap.containsKey("December")){ // monthAmountMap.put("December",monthAmountMap.get("December")+amount); // } else { // monthAmountMap.put("December",amount); // } // } // customerActualMonthlySaleData.put(customerId,monthAmountMap); // } } } } catch (Exception e) { log.error("按月份累计每个客户的订单金额异常",e); } } System.out.println("count="+ count); System.out.println("客户月度累计订单金额(预计):"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ // if("KJvf77GJEK".equals(customerKey)){ // System.out.println("Mantic Games:"+JSON.toJSONString(customerExpectedMonthlySaleData.get(customerKey))); // } System.out.println(customerKey+":"+JSON.toJSONString(customerExpectedMonthlySaleData.get(customerKey))); } System.out.println("客户月度累计订单金额(实际):"); for (String customerKey : customerActualMonthlySaleData.keySet()){ // if("KJvf77GJEK".equals(customerKey)){ // System.out.println("Mantic Games:"+JSON.toJSONString(customerActualMonthlySaleData.get(customerKey))); // } System.out.println(customerKey+":"+ JSON.toJSONString(customerActualMonthlySaleData.get(customerKey))); } System.out.println("划分A类和B类客户"); Map>> expectedBusinessUserMonthlyCustomersA = new HashMap<>(); //业务员月度客户A类(预计) Map>> actualBusinessUserMonthlyCustomersA = new HashMap<>(); //业务员月度A类客户(实际) Map>> expectedBusinessUserMonthlyCustomersB = new HashMap<>(); //业务员月度客户B类(预计) Map>> actualBusinessUserMonthlyCustomersB = new HashMap<>(); //业务员月度客户B类(实际) Map> monthlyCustomersA = new HashMap<>(); Map> monthlyCustomersB = new HashMap<>(); List customersAB = new ArrayList<>(); List expectedCustomersA = new ArrayList<>(); //预计发展A类客户(不重复) List expectedCustomersB = new ArrayList<>(); //预计发展B类客户(不重复) List actualCustomersA = new ArrayList<>(); //实际发展A类客户(不重复) List actualCustomersB = new ArrayList<>(); //实际发展B类客户(不重复) Double amountCustomerA = Double.valueOf(3000000); //A类客户最低金额 Double amountCustomerB = Double.valueOf(1000000); //B类客户最低金额 //############################################# 预计部分 #################################################### //1月预计发展A类客户 System.out.println("1月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("January") != null && monthAmountMap.get("January") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("January")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("January")){ customersAB = monthlyCustomersA.get("January"); customersAB.add(customerKey); monthlyCustomersA.put("January",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("January",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("January",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //1月预计发展B类客户 System.out.println("1月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("January") != null && monthAmountMap.get("January") >= amountCustomerB && monthAmountMap.get("January") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("January")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("January")){ customersAB = monthlyCustomersB.get("January"); customersAB.add(customerKey); monthlyCustomersB.put("January",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("January",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("January",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //2月预计发展A类客户 System.out.println("2月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("February") != null && monthAmountMap.get("February") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("February")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("February")){ customersAB = monthlyCustomersA.get("February"); customersAB.add(customerKey); monthlyCustomersA.put("February",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("February",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("February",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //2月预计发展B类客户 System.out.println("2月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("February") != null && monthAmountMap.get("February") >= amountCustomerB && monthAmountMap.get("February") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("February")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("February")){ customersAB = monthlyCustomersB.get("February"); customersAB.add(customerKey); monthlyCustomersB.put("February",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("February",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("February",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //3月预计发展A类客户 System.out.println("3月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("March") != null && monthAmountMap.get("March") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("March")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("March")){ customersAB = monthlyCustomersA.get("March"); customersAB.add(customerKey); monthlyCustomersA.put("March",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("March",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("March",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //3月预计发展B类客户 System.out.println("3月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("March") != null && monthAmountMap.get("March") >= amountCustomerB && monthAmountMap.get("March") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("March")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("March")){ customersAB = monthlyCustomersB.get("March"); customersAB.add(customerKey); monthlyCustomersB.put("March",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("March",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("March",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //4月预计发展A类客户 System.out.println("4月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("April") != null && monthAmountMap.get("April") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("April")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("April")){ customersAB = monthlyCustomersA.get("April"); customersAB.add(customerKey); monthlyCustomersA.put("April",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("April",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("April",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //4月预计发展B类客户 System.out.println("4月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("April") != null && monthAmountMap.get("April") >= amountCustomerB && monthAmountMap.get("April") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("April")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("April")){ customersAB = monthlyCustomersB.get("April"); customersAB.add(customerKey); monthlyCustomersB.put("April",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("April",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("April",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //5月预计发展A类客户 System.out.println("5月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("May") != null && monthAmountMap.get("May") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("May")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("May")){ customersAB = monthlyCustomersA.get("May"); customersAB.add(customerKey); monthlyCustomersA.put("May",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("May",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("May",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //5月预计发展B类客户 System.out.println("5月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("May") != null && monthAmountMap.get("May") >= amountCustomerB && monthAmountMap.get("May") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("May")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("May")){ customersAB = monthlyCustomersB.get("May"); customersAB.add(customerKey); monthlyCustomersB.put("May",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("May",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("May",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //6月预计发展A类客户 System.out.println("6月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("June") != null && monthAmountMap.get("June") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("June")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("June")){ customersAB = monthlyCustomersA.get("June"); customersAB.add(customerKey); monthlyCustomersA.put("June",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("June",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("June",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //6月预计发展B类客户 System.out.println("6月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("June") != null && monthAmountMap.get("June") >= amountCustomerB && monthAmountMap.get("June") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)) { //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("June")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("June")){ customersAB = monthlyCustomersB.get("June"); customersAB.add(customerKey); monthlyCustomersB.put("June",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("June",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("June",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //7月预计发展A类客户 System.out.println("7月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("July") != null && monthAmountMap.get("July") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("July")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("July")){ customersAB = monthlyCustomersA.get("July"); customersAB.add(customerKey); monthlyCustomersA.put("July",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("July",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("July",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //7月预计发展B类客户 System.out.println("7月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("July") != null && monthAmountMap.get("July") >= amountCustomerB && monthAmountMap.get("July") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("July")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("July")){ customersAB = monthlyCustomersB.get("July"); customersAB.add(customerKey); monthlyCustomersB.put("July",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("July",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("July",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //8月预计发展A类客户 System.out.println("8月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("August") != null && monthAmountMap.get("August") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("August")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("August")){ customersAB = monthlyCustomersA.get("August"); customersAB.add(customerKey); monthlyCustomersA.put("August",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("August",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("August",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //8月预计发展B类客户 System.out.println("8月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("August") != null && monthAmountMap.get("August") >= amountCustomerB && monthAmountMap.get("August") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("August")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("August")){ customersAB = monthlyCustomersB.get("August"); customersAB.add(customerKey); monthlyCustomersB.put("August",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("August",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("August",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //9月预计发展A类客户 System.out.println("9月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("September") != null && monthAmountMap.get("September") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("September")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("September")){ customersAB = monthlyCustomersA.get("September"); customersAB.add(customerKey); monthlyCustomersA.put("September",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("September",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("September",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //9月预计发展B类客户 System.out.println("9月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("September") != null && monthAmountMap.get("September") >= amountCustomerB && monthAmountMap.get("September") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("September")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("September")){ customersAB = monthlyCustomersA.get("September"); customersAB.add(customerKey); monthlyCustomersB.put("September",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("September",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("September",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //10月预计发展A类客户 System.out.println("10月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("October") != null && monthAmountMap.get("October") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("October")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("October")){ customersAB = monthlyCustomersA.get("October"); customersAB.add(customerKey); monthlyCustomersA.put("October",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("October",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("October",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //10月预计发展B类客户 System.out.println("10月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("October") != null && monthAmountMap.get("October") >= amountCustomerB && monthAmountMap.get("October") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("October")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("October")){ customersAB = monthlyCustomersB.get("October"); customersAB.add(customerKey); monthlyCustomersB.put("October",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("October",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("October",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //11月预计发展A类客户 System.out.println("11月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("November") != null && monthAmountMap.get("November") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("November")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("November")){ customersAB = monthlyCustomersA.get("November"); customersAB.add(customerKey); monthlyCustomersA.put("November",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("November",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("November",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //11月预计发展B类客户 System.out.println("11月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("November") != null && monthAmountMap.get("November") >= amountCustomerB && monthAmountMap.get("November") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计B类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("November")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("November")){ customersAB = monthlyCustomersB.get("November"); customersAB.add(customerKey); monthlyCustomersB.put("November",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("November",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("November",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //12月预计发展A类客户 System.out.println("12月预计发展A类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("December") != null && monthAmountMap.get("December") >= amountCustomerA){ if(!expectedCustomersA.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("December")); expectedCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("December")){ customersAB = monthlyCustomersA.get("December"); customersAB.add(customerKey); monthlyCustomersA.put("December",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("December",customersAB); } expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("December",customersAB); expectedBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //12月预计发展B类客户 System.out.println("12月预计发展B类客户"); for (String customerKey : customerExpectedMonthlySaleData.keySet()){ monthAmountMap = customerExpectedMonthlySaleData.get(customerKey); if(monthAmountMap.get("December") != null && monthAmountMap.get("December") >= amountCustomerB && monthAmountMap.get("December") < amountCustomerA){ if(!expectedCustomersB.contains(customerKey)){ //检查是否已在预计A类客户名单中 System.out.println(customerKey+":"+monthAmountMap.get("December")); expectedCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(expectedBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("December")){ customersAB = monthlyCustomersB.get("December"); customersAB.add(customerKey); monthlyCustomersB.put("December",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("December",customersAB); } expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("December",customersAB); expectedBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } log.info("业务员每月预计A类客户"); log.info(JSONObject.toJSONString(expectedBusinessUserMonthlyCustomersA)); log.info("业务员每月预计B类客户"); log.info(JSONObject.toJSONString(expectedBusinessUserMonthlyCustomersB)); //############################################# 实际部分 #################################################### //1月实际发展A类客户 System.out.println("1月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("January") != null && monthAmountMap.get("January") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("January")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("January")){ customersAB = monthlyCustomersA.get("January"); customersAB.add(customerKey); monthlyCustomersA.put("January",customersAB); }else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("January",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("January",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //1月实际发展B类客户 System.out.println("1月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("January") != null && monthAmountMap.get("January") >= amountCustomerB && monthAmountMap.get("January") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("January")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("January")){ customersAB = monthlyCustomersB.get("January"); customersAB.add(customerKey); monthlyCustomersB.put("January",customersAB); }else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("January",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("January",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //2月实际发展A类客户 System.out.println("2月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("February") != null && monthAmountMap.get("February") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("February")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("February")){ customersAB = monthlyCustomersA.get("February"); customersAB.add(customerKey); monthlyCustomersA.put("February",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("February",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("February",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //2月实际发展B类客户 System.out.println("2月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("February") != null && monthAmountMap.get("February") >= amountCustomerB && monthAmountMap.get("February") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("February")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("February")){ customersAB = monthlyCustomersB.get("February"); customersAB.add(customerKey); monthlyCustomersB.put("February",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("February",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("February",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //3月实际发展A类客户 System.out.println("3月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("March") != null && monthAmountMap.get("March") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("March")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("March")){ customersAB = monthlyCustomersA.get("March"); customersAB.add(customerKey); monthlyCustomersA.put("March",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("March",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("March",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //3月实际发展B类客户 System.out.println("3月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("March") != null && monthAmountMap.get("March") >= amountCustomerB && monthAmountMap.get("March") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("March")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("March")){ customersAB = monthlyCustomersB.get("March"); customersAB.add(customerKey); monthlyCustomersB.put("March",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("March",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("March",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //4月实际发展A类客户 System.out.println("4月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("April") != null && monthAmountMap.get("April") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("April")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("April")){ customersAB = monthlyCustomersA.get("April"); customersAB.add(customerKey); monthlyCustomersA.put("April",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("April",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("April",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //4月实际发展B类客户 System.out.println("4月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("April") != null && monthAmountMap.get("April") >= amountCustomerB && monthAmountMap.get("April") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("April")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("April")){ customersAB = monthlyCustomersB.get("April"); customersAB.add(customerKey); monthlyCustomersB.put("April",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("April",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("April",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //5月实际发展A类客户 System.out.println("5月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("May") != null && monthAmountMap.get("May") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("May")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("May")){ customersAB = monthlyCustomersA.get("May"); customersAB.add(customerKey); monthlyCustomersA.put("May",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("May",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("May",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //5月实际发展B类客户 System.out.println("5月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("May") != null && monthAmountMap.get("May") >= amountCustomerB && monthAmountMap.get("May") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("May")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("May")){ customersAB = monthlyCustomersB.get("May"); customersAB.add(customerKey); monthlyCustomersB.put("May",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("May",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("May",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //6月实际发展A类客户 System.out.println("6月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("June") != null && monthAmountMap.get("June") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("June")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("June")){ customersAB = monthlyCustomersA.get("June"); customersAB.add(customerKey); monthlyCustomersA.put("June",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("June",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("June",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //6月实际发展B类客户 System.out.println("6月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("June") != null && monthAmountMap.get("June") >= amountCustomerB && monthAmountMap.get("June") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("June")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("June")){ customersAB = monthlyCustomersB.get("June"); customersAB.add(customerKey); monthlyCustomersB.put("June",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("June",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("June",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //7月实际发展A类客户 System.out.println("7月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("July") != null && monthAmountMap.get("July") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("July")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("July")){ customersAB = monthlyCustomersA.get("July"); customersAB.add(customerKey); monthlyCustomersA.put("July",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("July",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("July",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //7月实际发展B类客户 System.out.println("7月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("July") != null && monthAmountMap.get("July") >= amountCustomerB && monthAmountMap.get("July") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("July")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("July")){ customersAB = monthlyCustomersB.get("July"); customersAB.add(customerKey); monthlyCustomersB.put("July",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("July",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("July",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //8月实际发展A类客户 System.out.println("8月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("August") != null && monthAmountMap.get("August") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("August")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("August")){ customersAB = monthlyCustomersA.get("August"); customersAB.add(customerKey); monthlyCustomersA.put("August",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("August",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("August",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //8月实际发展B类客户 System.out.println("8月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("August") != null && monthAmountMap.get("August") >= amountCustomerB && monthAmountMap.get("August") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("August")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("August")){ customersAB = monthlyCustomersB.get("August"); customersAB.add(customerKey); monthlyCustomersB.put("August",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("August",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("August",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //9月实际发展A类客户 System.out.println("9月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("September") != null && monthAmountMap.get("September") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("September")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("September")){ customersAB = monthlyCustomersA.get("September"); customersAB.add(customerKey); monthlyCustomersA.put("September",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("September",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("September",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //9月实际发展B类客户 System.out.println("9月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("September") != null && monthAmountMap.get("September") >= amountCustomerB && monthAmountMap.get("September") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("September")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("September")){ customersAB = monthlyCustomersB.get("September"); customersAB.add(customerKey); monthlyCustomersB.put("September",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("September",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("September",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //10月实际发展A类客户 System.out.println("10月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("October") != null && monthAmountMap.get("October") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("October")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("October")){ customersAB = monthlyCustomersA.get("October"); customersAB.add(customerKey); monthlyCustomersA.put("October",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("October",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("October",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //10月实际发展B类客户 System.out.println("10月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("October") != null && monthAmountMap.get("October") >= amountCustomerB && monthAmountMap.get("October") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("October")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("October")){ customersAB = monthlyCustomersB.get("October"); customersAB.add(customerKey); monthlyCustomersB.put("October",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("October",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("October",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //11月实际发展A类客户 System.out.println("11月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("November") != null && monthAmountMap.get("November") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("November")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("November")){ customersAB = monthlyCustomersA.get("November"); customersAB.add(customerKey); monthlyCustomersA.put("November",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("November",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("November",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //11月实际发展B类客户 System.out.println("11月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("November") != null && monthAmountMap.get("November") >= amountCustomerB && monthAmountMap.get("November") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("November")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("November")){ customersAB = monthlyCustomersB.get("November"); customersAB.add(customerKey); monthlyCustomersB.put("November",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("November",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("November",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } //12月实际发展A类客户 System.out.println("12月实际发展A类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("December") != null && monthAmountMap.get("December") >= amountCustomerA){ if(!actualCustomersA.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("December")); actualCustomersA.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersA.containsKey(unionId)){ monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(unionId); if(monthlyCustomersA.containsKey("December")){ customersAB = monthlyCustomersA.get("December"); customersAB.add(customerKey); monthlyCustomersA.put("December",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA.put("December",customersAB); } actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersA = new HashMap<>(); monthlyCustomersA.put("December",customersAB); actualBusinessUserMonthlyCustomersA.put(unionId,monthlyCustomersA); } } } } } //12月实际发展B类客户 System.out.println("12月实际发展B类客户"); for (String customerKey : customerActualMonthlySaleData.keySet()){ monthAmountMap = customerActualMonthlySaleData.get(customerKey); if(monthAmountMap.get("December") != null && monthAmountMap.get("December") >= amountCustomerB && monthAmountMap.get("December") < amountCustomerA){ if(!actualCustomersB.contains(customerKey)){ System.out.println(customerKey+":"+monthAmountMap.get("December")); actualCustomersB.add(customerKey); unionId = customerBusinessUserMap.get(customerKey); if(unionId != null){ if(actualBusinessUserMonthlyCustomersB.containsKey(unionId)){ monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(unionId); if(monthlyCustomersB.containsKey("December")){ customersAB = monthlyCustomersB.get("December"); customersAB.add(customerKey); monthlyCustomersB.put("December",customersAB); } else{ customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB.put("December",customersAB); } actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } else { customersAB = new ArrayList(); customersAB.add(customerKey); monthlyCustomersB = new HashMap<>(); monthlyCustomersB.put("December",customersAB); actualBusinessUserMonthlyCustomersB.put(unionId,monthlyCustomersB); } } } } } log.info("业务员每月实际A类客户"); log.info(JSONObject.toJSONString(actualBusinessUserMonthlyCustomersA)); log.info("业务员每月实际B类客户"); log.info(JSONObject.toJSONString(actualBusinessUserMonthlyCustomersB)); log.info("名下有AB客户的业务员"); Set businessUserKeys = new HashSet<>(); for(String buk : expectedBusinessUserMonthlyCustomersA.keySet()){ businessUserKeys.add(buk); } for (String buk : expectedBusinessUserMonthlyCustomersB.keySet()){ businessUserKeys.add(buk); } for(String buk : actualBusinessUserMonthlyCustomersA.keySet()){ businessUserKeys.add(buk); } for (String buk : actualBusinessUserMonthlyCustomersB.keySet()){ businessUserKeys.add(buk); } log.info(JSONObject.toJSONString(businessUserKeys)); try { System.out.println("生成接口请求内容"); JSONObject customersJSONObject = new JSONObject(); for(String businessUserUnionId : businessUserKeys){ //每个业务员都是1条记录 if("wOcs40QiPYJlyA7aHgaIE8giEiE".equals(businessUserUnionId)){ //排除Lily continue; } Map fields = new HashMap<>(); JSONArray userJSONArray = new JSONArray(); JSONObject unionIdJSONObject = new JSONObject(); unionIdJSONObject.put("unionId",businessUserUnionId); userJSONArray.add(unionIdJSONObject); fields.put("akgntpB",userJSONArray); //业务员 //############################################# 预计部分 #################################################### monthlyCustomersA = expectedBusinessUserMonthlyCustomersA.get(businessUserUnionId); if(monthlyCustomersA != null && monthlyCustomersA.size() > 0){ if(monthlyCustomersA.containsKey("January")){ customersAB = monthlyCustomersA.get("January"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("WR8mqu1",customersJSONObject); //1月预计发展A类客户 } if(monthlyCustomersA.containsKey("February")){ customersAB = monthlyCustomersA.get("February"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("HP8kcdt",customersJSONObject); //2月预计发展A类客户 } if(monthlyCustomersA.containsKey("March")){ customersAB = monthlyCustomersA.get("March"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("mFnXIiy",customersJSONObject); //3月预计发展A类客户 } if(monthlyCustomersA.containsKey("April")){ customersAB = monthlyCustomersA.get("April"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("tEXtSHO",customersJSONObject); //4月预计发展A类客户 } if(monthlyCustomersA.containsKey("May")){ customersAB = monthlyCustomersA.get("May"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("7zm8JXv",customersJSONObject); //5月预计发展A类客户 } if(monthlyCustomersA.containsKey("June")){ customersAB = monthlyCustomersA.get("June"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("ajQykda",customersJSONObject); //6月预计发展A类客户 } if(monthlyCustomersA.containsKey("July")){ customersAB = monthlyCustomersA.get("July"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("M0tmaEi",customersJSONObject); //7月预计发展A类客户 } if(monthlyCustomersA.containsKey("August")){ customersAB = monthlyCustomersA.get("August"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("0WMYqCi",customersJSONObject); //8月预计发展A类客户 } if(monthlyCustomersA.containsKey("September")){ customersAB = monthlyCustomersA.get("September"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("cWA47b3",customersJSONObject); //9月预计发展A类客户 } if(monthlyCustomersA.containsKey("October")){ customersAB = monthlyCustomersA.get("October"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("3nXCCEc",customersJSONObject); //10月预计发展A类客户 } if(monthlyCustomersA.containsKey("November")){ customersAB = monthlyCustomersA.get("November"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("mfrn41g",customersJSONObject); //11月预计发展A类客户 } if(monthlyCustomersA.containsKey("December")){ customersAB = monthlyCustomersA.get("December"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("oVWP42w",customersJSONObject); //12月预计发展A类客户 } } monthlyCustomersB = expectedBusinessUserMonthlyCustomersB.get(businessUserUnionId); if (monthlyCustomersB != null && monthlyCustomersB.size() > 0){ if(monthlyCustomersB.containsKey("January")){ customersAB = monthlyCustomersB.get("January"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("30gOJMx",customersJSONObject); //1月预计发展B类客户 } if(monthlyCustomersB.containsKey("February")){ customersAB = monthlyCustomersB.get("February"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("Br5sY3H",customersJSONObject); //2月预计发展B类客户 } if(monthlyCustomersB.containsKey("March")){ customersAB = monthlyCustomersB.get("March"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("EXFZLuH",customersJSONObject); //3月预计发展B类客户 } if(monthlyCustomersB.containsKey("April")){ customersAB = monthlyCustomersB.get("April"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("fYeENmY",customersJSONObject); //4月预计发展B类客户 } if(monthlyCustomersB.containsKey("May")){ customersAB = monthlyCustomersB.get("May"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("eop3Tzh",customersJSONObject); //5月预计发展B类客户 } if(monthlyCustomersB.containsKey("June")){ customersAB = monthlyCustomersB.get("June"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("qbBBeNd",customersJSONObject); //6月预计发展B类客户 } if(monthlyCustomersB.containsKey("July")){ customersAB = monthlyCustomersB.get("July"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("uhPvNM7",customersJSONObject); //7月预计发展B类客户 } if(monthlyCustomersB.containsKey("August")){ customersAB = monthlyCustomersB.get("August"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("SFjaK7h",customersJSONObject); //8月预计发展B类客户 } if(monthlyCustomersB.containsKey("September")){ customersAB = monthlyCustomersB.get("September"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("qfoPhxY",customersJSONObject); //9月预计发展B类客户 } if(monthlyCustomersB.containsKey("October")){ customersAB = monthlyCustomersB.get("October"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("8IjYdVp",customersJSONObject); //10月预计发展B类客户 } if(monthlyCustomersB.containsKey("November")){ customersAB = monthlyCustomersB.get("November"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("qmNhYJw",customersJSONObject); //11月预计发展B类客户 } if(monthlyCustomersB.containsKey("December")){ customersAB = monthlyCustomersB.get("December"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("AkJ7cmM",customersJSONObject); //12月预计发展B类客户 } } //############################################# 实际部分 #################################################### monthlyCustomersA = actualBusinessUserMonthlyCustomersA.get(businessUserUnionId); if(monthlyCustomersA != null && monthlyCustomersA.size() > 0){ if(monthlyCustomersA.containsKey("January")){ //1月有A类客户 customersAB = monthlyCustomersA.get("January"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("YTlvvAf",customersJSONObject); //1月实际发展A类客户 } if(monthlyCustomersA.containsKey("February")){ customersAB = monthlyCustomersA.get("February"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("eepkwo0",customersJSONObject); //2月实际发展A类客户 } if(monthlyCustomersA.containsKey("March")){ customersAB = monthlyCustomersA.get("March"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("KZPu0ZW",customersJSONObject); //3月实际发展A类客户 } if(monthlyCustomersA.containsKey("April")){ customersAB = monthlyCustomersA.get("April"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("1f0NBqd",customersJSONObject); //4月实际发展A类客户 } if(monthlyCustomersA.containsKey("May")){ customersAB = monthlyCustomersA.get("May"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("HVh9cfe",customersJSONObject); //5月实际发展A类客户 } if(monthlyCustomersA.containsKey("June")){ customersAB = monthlyCustomersA.get("June"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("707bpOg",customersJSONObject); //6月实际发展A类客户 } if(monthlyCustomersA.containsKey("July")){ customersAB = monthlyCustomersA.get("July"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("PwLCU78",customersJSONObject); //7月实际发展A类客户 } if(monthlyCustomersA.containsKey("August")){ customersAB = monthlyCustomersB.get("August"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("xNHbJXj",customersJSONObject); //8月实际发展A类客户 } if(monthlyCustomersA.containsKey("September")){ customersAB = monthlyCustomersA.get("September"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("VFOq8Vs",customersJSONObject); //9月实际发展A类客户 } if(monthlyCustomersA.containsKey("October")){ customersAB = monthlyCustomersA.get("October"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("wjtGbvS",customersJSONObject); //10月实际发展A类客户 } if(monthlyCustomersA.containsKey("November")){ customersAB = monthlyCustomersA.get("November"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("C3EgOlJ",customersJSONObject); //11月实际发展A类客户 } if(monthlyCustomersA.containsKey("December")){ customersAB = monthlyCustomersA.get("December"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("xHQGsTr",customersJSONObject); //12月实际发展A类客户 } } monthlyCustomersB = actualBusinessUserMonthlyCustomersB.get(businessUserUnionId); if (monthlyCustomersB != null && monthlyCustomersB.size() > 0){ if(monthlyCustomersB.containsKey("January")){ customersAB = monthlyCustomersB.get("January"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("vdAO1UB",customersJSONObject); //1月实际发展B类客户 } if(monthlyCustomersB.containsKey("February")){ customersAB = monthlyCustomersB.get("February"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("rG01B6Q",customersJSONObject); //2月实际发展B类客户 } if(monthlyCustomersB.containsKey("March")){ customersAB = monthlyCustomersB.get("March"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("SxGUcyO",customersJSONObject); //3月实际发展B类客户 } if(monthlyCustomersB.containsKey("April")){ customersAB = monthlyCustomersB.get("April"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("2oRVsSm",customersJSONObject); //4月实际发展B类客户 } if(monthlyCustomersB.containsKey("May")){ customersAB = monthlyCustomersB.get("May"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("maDgfvk",customersJSONObject); //5月实际发展B类客户 } if(monthlyCustomersB.containsKey("June")){ customersAB = monthlyCustomersB.get("June"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("tIccLsX",customersJSONObject); //6月实际发展B类客户 } if(monthlyCustomersB.containsKey("July")){ customersAB = monthlyCustomersB.get("July"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("iiDKDfH",customersJSONObject); //7月实际发展B类客户 } if(monthlyCustomersB.containsKey("August")){ customersAB = monthlyCustomersB.get("August"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("3AH9EHn",customersJSONObject); //8月实际发展B类客户 } if(monthlyCustomersB.containsKey("September")){ customersAB = monthlyCustomersB.get("September"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("Is6LFpO",customersJSONObject); //9月实际发展B类客户 } if(monthlyCustomersB.containsKey("October")){ customersAB = monthlyCustomersB.get("October"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("EsaRpuM",customersJSONObject); //10月实际发展B类客户 } if(monthlyCustomersB.containsKey("November")){ customersAB = monthlyCustomersB.get("November"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("avw5Rkg",customersJSONObject); //11月实际发展B类客户 } if(monthlyCustomersB.containsKey("December")){ customersAB = monthlyCustomersB.get("December"); customersJSONObject = new JSONObject(); customersJSONObject.put("linkedRecordIds",customersAB); fields.put("B7Ogd5O",customersJSONObject); //12月实际发展B类客户 } } //添加客户2026年AB客户发展数(预计、实际) aitableService.addCustomerABDevData(fields); } } catch (Exception e) { log.error("添加AB客户发展数据异常",e); } log.info("计算月度预计和实际AB客户发展数完成"); } }