|
|
|
@ -8,6 +8,9 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.bas.group.model.BasGroupModel; |
|
|
|
|
import com.palnet.biz.jpa.repository.pty.*; |
|
|
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -19,6 +22,7 @@ import com.palnet.biz.jpa.repository.ctr.CtrCntrlBasRepository;
|
|
|
|
|
import com.palnet.biz.jpa.repository.ctr.CtrCntrlQueryRepository; |
|
|
|
|
|
|
|
|
|
@Service |
|
|
|
|
@Slf4j |
|
|
|
|
public class MainDashService { |
|
|
|
|
|
|
|
|
|
private Logger logger = LoggerFactory.getLogger(getClass()); |
|
|
|
@ -96,6 +100,95 @@ public class MainDashService {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 김포공항, 날짜별 통계 |
|
|
|
|
* @param yyyymm |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public List<MainDashStcsModel> mainKacDashStcsDay(String yyyymm, String[] formatParam){ |
|
|
|
|
|
|
|
|
|
List<MainDashStcsModel> resultList = query.mainKacDashStcsDay(yyyymm, formatParam); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return resultList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 파라미터 체크 |
|
|
|
|
* 1. 연단위 검색 -> Parameter Null일 경우 |
|
|
|
|
* 2. 월단위 검색 -> Parameter 2023등 연도만 있는경우 |
|
|
|
|
* 3. 일단위 검색 -> Parameter 2023-09 등 월까지 있는경우 |
|
|
|
|
* 4. 일일단위 검색 -> Parameter 2023-09-01 등 한 날짜에 대한 검색 |
|
|
|
|
* 이하 모든 데이터는 Exception 발생 |
|
|
|
|
* @param yyyyMM |
|
|
|
|
* @throws NumberFormatException |
|
|
|
|
*/ |
|
|
|
|
public String[] paramCheck(String yyyymm) throws NumberFormatException{ |
|
|
|
|
|
|
|
|
|
String[] result = new String[2]; |
|
|
|
|
String[] paramStrings = null; |
|
|
|
|
|
|
|
|
|
// 1. 연단위 검색 -> Parameter Null일 경우
|
|
|
|
|
// 2. 월단위 검색 -> Parameter 2023등 연도만 있는경우
|
|
|
|
|
// 3. 일단위 검색 -> Parameter 2023-09 등 월까지 있는경우
|
|
|
|
|
// 이하 모든 데이터는 Exception 발생
|
|
|
|
|
|
|
|
|
|
yyyymm = yyyymm.trim(); |
|
|
|
|
|
|
|
|
|
switch (yyyymm.length()) { |
|
|
|
|
// 2. 월단위 검색 -> Parameter 2023등 연도만 있는경우
|
|
|
|
|
case 4: |
|
|
|
|
Integer.parseInt(yyyymm.trim()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result[0] = "%Y"; |
|
|
|
|
result[1] = "%m"; |
|
|
|
|
break; |
|
|
|
|
// 3. 일단위 검색 -> Parameter 2023-09 등 월까지 있는경우
|
|
|
|
|
case 7: |
|
|
|
|
paramStrings = yyyymm.split("-"); |
|
|
|
|
|
|
|
|
|
if(paramStrings.length == 2){ |
|
|
|
|
for(String param : paramStrings){ |
|
|
|
|
Integer.parseInt(param.trim()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
result[0] = "%Y-%m"; |
|
|
|
|
result[1] = "%d"; |
|
|
|
|
} else { |
|
|
|
|
throw new NumberFormatException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
case 10: |
|
|
|
|
paramStrings = yyyymm.split("-"); |
|
|
|
|
|
|
|
|
|
if(paramStrings.length == 3){ |
|
|
|
|
for(String param : paramStrings){ |
|
|
|
|
Integer.parseInt(param.trim()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
result[0] = "%Y-%m-%d"; |
|
|
|
|
result[1] = ""; |
|
|
|
|
} else { |
|
|
|
|
throw new NumberFormatException(); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
default: // 1. 연단위 검색 -> Parameter Null일 경우
|
|
|
|
|
|
|
|
|
|
result[0] = ""; |
|
|
|
|
result[1] = "%y"; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|