public List<TmkReportVo> getThisCenterEveryTmkReport(FzxDto fzx) { String yearMonthString = DateUtils.getCurYearMonthString(); List<TmkReportVo> rvs = new ArrayList<TmkReportVo>(); List<Ryxx> ryxxs = ryxxDao.getRyxxsByRole(Role.ROLE_MARKET_TMK_WORKER, fzx); for (Ryxx ryxx : ryxxs) { RC rc = new RC(); rc.setRyxx(ryxx); rc.setFzx(fzx); TmkReportVo vo = new TmkReportVo(); Integer target = tmkUtilsDao.getMyComeCustomerTargetInThisMonth(rc, yearMonthString); Integer finished = tmkUtilsDao.getMyHasComeCustomerCountInThisMonth(rc, yearMonthString); Integer money = tmkUtilsDao.getMyMoneyInThisMonth(rc, yearMonthString); vo.setMonthTarget(target); vo.setFinished(finished); vo.setName(rc.getRyxx().getYwm()); vo.setRyxx(rc.getRyxx()); vo.setMoney(money); vo.setRate(MathUtils.getPercentageString(finished, target)); rvs.add(vo); // rvs.add((TmkReportVo) getObjectFromCache(tmkUtilsListCache, this // .getCacheKeyFromRyxxAndFzx(ryxx, fzx), // TmkUtilsBaseVo.TMK_REPORT)); } return rvs; }
public Map<String, Object> getThisTmkResult(Ryxx ryxx, FzxDto fzx) { String yearMonthString = DateUtils.getCurYearMonthString(); Map<String, Object> result = new HashMap<String, Object>(); RC rc = new RC(); rc.setFzx(fzx); rc.setRyxx(ryxx); result.put(TmkUtilsBaseVo.TMK_TOTAL, tmkUtilsDao.getAllMyCustomerCount(rc)); result.put( TmkUtilsBaseVo.TMK_ADDED, tmkUtilsDao.getAddedMyCustomerCountInThisMonth(rc, yearMonthString)); result.put( TmkUtilsBaseVo.TMK_CAME, tmkUtilsDao.getMyHasComeCustomerCountInThisMonth(rc, yearMonthString)); result.put( TmkUtilsBaseVo.TMK_TARGET, tmkUtilsDao.getMyComeCustomerTargetInThisMonth(rc, yearMonthString)); result.put(TmkUtilsBaseVo.TMK_FROM_EXTPOOL, tmkUtilsDao.getTodayFromExtPool(ryxx, fzx)); result.put(TmkUtilsBaseVo.TMK_FROM_TMKPOOL, tmkUtilsDao.getTodayFromTmkPool(ryxx, fzx)); return result; }
public Map<CalendarDay, Map<Ryxx, BaseVo>> getEveryDayCameCustomersInOneMonth( FzxDto fzx, String yearMonthString) { List<Ryxx> tmks = ryxxDao.getRyxxsByRole(Role.ROLE_MARKET_TMK_WORKER, fzx); Map<CalendarDay, Map<Ryxx, BaseVo>> result = new TreeMap<CalendarDay, Map<Ryxx, BaseVo>>(); List<CalendarDay> days = DateUtils.getDaysInOneMonth(DateUtils.parseDate("yyyyMM", yearMonthString)); for (CalendarDay day : days) { result.put(day, new HashMap<Ryxx, BaseVo>()); for (Ryxx tmk : tmks) { result.get(day).put(tmk, null); } } for (Ryxx tmk : tmks) { RC rc = new RC(); rc.setRyxx(tmk); rc.setFzx(fzx); List<BaseVo> vs = tmkUtilsDao.getTmkCameCustomersInThisMonth(rc, yearMonthString); for (BaseVo v : vs) { CalendarDay cd = new CalendarDay(v.getSTime()); if (result.containsKey(cd)) { result.get(cd).put(tmk, v); } } } return result; }
/** 缓存每个TMK的报告 */ private void cacheEveryTmkReport(String yearMonthString) { List<RC> tmks = ryxxDao.getRyxxCenterByRole(Role.ROLE_MARKET_TMK_WORKER); for (RC rc : tmks) { TmkReportVo vo = new TmkReportVo(); Integer target = tmkUtilsDao.getMyComeCustomerTargetInThisMonth(rc, yearMonthString); Integer finished = tmkUtilsDao.getMyHasComeCustomerCountInThisMonth(rc, yearMonthString); Integer money = tmkUtilsDao.getMyMoneyInThisMonth(rc, yearMonthString); vo.setMonthTarget(target); vo.setFinished(finished); vo.setName(rc.getRyxx().getYwm()); vo.setRyxx(rc.getRyxx()); vo.setMoney(money); vo.setRate(MathUtils.getPercentageString(finished, target)); putObjectInCache( tmkUtilsListCache, this.getCacheKeyFromRC(rc), TmkUtilsBaseVo.TMK_REPORT, vo); } }
@SuppressWarnings("unchecked") public Map<String, Map<String, BaseVo>> getThisTmkEverydayCameCustomers(Ryxx ryxx, FzxDto fzx) { String yearMonthString = DateUtils.getCurYearMonthString(); Map<String, Map<String, BaseVo>> result = new TreeMap<String, Map<String, BaseVo>>(); List<String> days = DateUtils.getMonthDays(DateUtils.parseDate("yyyyMM", yearMonthString)); for (String day : days) { result.put(day, new HashMap<String, BaseVo>()); result.get(day).put(TmkUtilsBaseVo.TMK_EVERYDAY_CAME_CUSTOMERS, new BaseVo()); result.get(day).put(TmkUtilsBaseVo.TMK_TOTAL, new BaseVo()); } RC rc = new RC(); rc.setRyxx(ryxx); rc.setFzx(fzx); Integer tmpTotal = 0; List<BaseVo> vs = tmkUtilsDao.getTmkCameCustomersInThisMonth(rc, yearMonthString); Integer monthTarget = tmkUtilsDao.getMyComeCustomerTargetInThisMonth(rc, yearMonthString); BaseVo target = new BaseVo(); target.setSValue(monthTarget); for (BaseVo v : vs) { BaseVo todayTotal = new BaseVo(); if (result.containsKey(v.getSTime())) { todayTotal.setSValue(tmpTotal + v.getSValue()); result.get(v.getSTime()).put(TmkUtilsBaseVo.TMK_EVERYDAY_CAME_CUSTOMERS, v); } else { todayTotal.setSValue(tmpTotal); } result.get(v.getSTime()).put(TmkUtilsBaseVo.TMK_TOTAL, todayTotal); result.get(v.getSTime()).put(TmkUtilsBaseVo.TMK_TARGET, target); tmpTotal = todayTotal.getSValue(); } Integer maxTotal = 0; for (Map.Entry<String, Map<String, BaseVo>> r : result.entrySet()) { if (r.getValue().get(TmkUtilsBaseVo.TMK_TOTAL).getSValue() <= maxTotal) { r.getValue().get(TmkUtilsBaseVo.TMK_TOTAL).setSValue(maxTotal); } else { maxTotal = r.getValue().get(TmkUtilsBaseVo.TMK_TOTAL).getSValue(); } } return result; // return (Map<String, Map<String, BaseVo>>) getObjectFromCache( // tmkUtilsListCache, this.getCacheKeyFromRyxxAndFzx(ryxx, fzx), // TmkUtilsBaseVo.TMK_EVERYDAY_CAME_CUSTOMERS); }
private String getCacheKeyFromRC(RC rc) { return this.getCacheKeyFromRyxxAndFzx(rc.getRyxx(), rc.getFzx()); }