From fbcec141775eb486b2055a46c5e61be63a58e4a7 Mon Sep 17 00:00:00 2001 From: hylee Date: Fri, 16 Feb 2024 11:17:47 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8F=99=EC=A0=81=EC=9C=BC=EB=A1=9C=20table=20?= =?UTF-8?q?=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/commute/mapper/domain/CommuteVO.java | 2 +- .../commute/service/impl/CommuteServiceImpl.java | 16 ++++++++++++---- .../mapper/itn/commute/CommuteMapper.xml | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/itn/admin/itn/commute/mapper/domain/CommuteVO.java b/src/main/java/com/itn/admin/itn/commute/mapper/domain/CommuteVO.java index 84dacce..5ff3f89 100644 --- a/src/main/java/com/itn/admin/itn/commute/mapper/domain/CommuteVO.java +++ b/src/main/java/com/itn/admin/itn/commute/mapper/domain/CommuteVO.java @@ -60,5 +60,5 @@ public class CommuteVO implements Serializable { private String searchMonth; private String searchDay; - + private String tableNm; } diff --git a/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java b/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java index 8db7366..649cc5a 100644 --- a/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java +++ b/src/main/java/com/itn/admin/itn/commute/service/impl/CommuteServiceImpl.java @@ -13,9 +13,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Slf4j @@ -61,8 +59,18 @@ public class CommuteServiceImpl implements CommuteService { commuteVO.setStartDate(commuteVO.getSearchYear()+"-"+commuteVO.getSearchMonth()+"-"+commuteVO.getSearchDay()+" 06:00:00"); commuteVO.setEndDate(commuteVO.getSearchYear()+"-"+commuteVO.getSearchMonth()+"-"+commuteVO.getSearchDay()+" 23:59:59"); + // 테이블명 생성 + String tableNmM = commuteVO.getSearchMonth().length() <2 ? "0"+commuteVO.getSearchMonth() : commuteVO.getSearchMonth(); + commuteVO.setTableNm("t_lg"+commuteVO.getSearchYear()+tableNmM); - List commuteList = commuteMapper.findAll(commuteVO); + List commuteList = new ArrayList<>(); + try { + commuteList = commuteMapper.findAll(commuteVO); + }catch (Exception e){ + // 월별로 테이블이 생성되는데 + // 없는 테이블을 select하면 Exception이 발생함 + // 해당 exception 방지용 try-catch + } commuteList.stream().forEach(t->{ if(StringUtils.isNotEmpty(t.getUsrid())){ diff --git a/src/main/resources/mapper/itn/commute/CommuteMapper.xml b/src/main/resources/mapper/itn/commute/CommuteMapper.xml index ee90ae3..c2b9e32 100644 --- a/src/main/resources/mapper/itn/commute/CommuteMapper.xml +++ b/src/main/resources/mapper/itn/commute/CommuteMapper.xml @@ -11,7 +11,7 @@ MIN(SRVDT) AS firstActivityTime, MAX(SRVDT) AS lastActivityTime FROM - t_lg202402 + ${tableNm} WHERE SRVDT BETWEEN #{startDate} AND #{endDate} -- AND usrid IS NOT NULL AND LENGTH(USRID)>0