| | |
| | | |
| | | public List<JSONObject> queryPlanList() { |
| | | List<JSONObject> list = assemblyPlanDao.queryPlanList(); |
| | | Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 使用并发安全的Map |
| | | /*Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 使用并发安全的Map |
| | | for (JSONObject item : list) { |
| | | String planId = String.valueOf(item.getObj("planId")); |
| | | JSONObject innerObject = new JSONObject() |
| | |
| | | map.put(planId, outObject); |
| | | } |
| | | } |
| | | return map.values().stream().collect(Collectors.toList()); |
| | | return map.values().stream().collect(Collectors.toList());*/ |
| | | return list; |
| | | } |
| | | |
| | | public void test() { |
| | | |
| | | //OthStatisticWorkloadMapper workloadMapper = SpringContextUtil.getBean(OthStatisticWorkloadMapper.class); |
| | | //找到最大一条日期记录 |
| | | Date maxDate = workloadDao.selectMaxDate(); |
| | | //往后循环天数汇总 |
| | | if (maxDate != null) { |
| | | //循环统计 |
| | | LocalDate firstDay = maxDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate today = LocalDate.now(); |
| | | LocalDate nextDate = firstDay.plusDays(1); |
| | | //today 要统计 firstday不统计 |
| | | long daysBetween = ChronoUnit.DAYS.between(firstDay, today); |
| | | if (daysBetween > 30) { |
| | | daysBetween = 30; |
| | | nextDate = firstDay.plusDays(daysBetween); |
| | | } |
| | | for (int i = 1; i <= daysBetween; i++) { |
| | | Date startDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(0, 0, 0)).atZone(ZoneId.systemDefault()).toInstant()); |
| | | Date endDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(23, 59, 59)).atZone(ZoneId.systemDefault()).toInstant()); |
| | | workloadDao.insertBatch(startDt, endDt); |
| | | nextDate = firstDay.plusDays(i); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |