Пример #1
0
 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;
 }
Пример #2
0
 @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);
 }
Пример #3
0
 /** 供缓存使用 */
 private void cacheEveryTmkEverydayCameCustomers(String yearMonthString) {
   List<RC> tmks = ryxxDao.getRyxxCenterByRole(Role.ROLE_MARKET_TMK_WORKER);
   for (RC rc : tmks) {
     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());
     }
     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();
       }
     }
     putObjectInCache(
         tmkUtilsListCache,
         this.getCacheKeyFromRC(rc),
         TmkUtilsBaseVo.TMK_EVERYDAY_CAME_CUSTOMERS,
         result);
   }
 }