SELECT
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '01' THEN 1 END) AS D01,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '02' THEN 1 END) AS D02,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '03' THEN 1 END) AS D03,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '04' THEN 1 END) AS D04,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '05' THEN 1 END) AS D05,
...
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '31' THEN 1 END) AS D31
FROM TBPA_CALCSTDRTPSITNWORKDTL
WHERE 1=1
AND CUSE_YN = 'Y'
AND CINSN_CD = 'B554385'
AND CEMPNO = 'A20241004000001'
AND CNTRCT_FG_CD = '05'
AND CPAY_DATE = '20250922';
SELECT
LEFT(WORK_DATE, 6) AS YM,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '01' THEN 1 END) AS D01,
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '02' THEN 1 END) AS D02,
...
MAX(CASE WHEN SUBSTRING(WORK_DATE, 7, 2) = '31' THEN 1 END) AS D31
FROM TBPA_CALCSTDRTPSITNWORKDTL
WHERE ...
GROUP BY LEFT(WORK_DATE, 6)
ORDER BY YM;
public List<Map<String, Object>> selectlaborEmplymReqstCn(Map<String, Object> param) throws Exception {
NfisUserVO nfisUserVO = (NfisUserVO) NfisUserDetailsHelper.getAuthenticatedUser();
String insnCd = nfisUserVO.getInsnCd();
List<Map<String, Object>> dylrrSalaryPymntList =
NfisCommUtil.convertJsonList((String) param.get("dylrrSalaryPymntList"));
List<Map<String, Object>> resultList = new ArrayList<>();
if (!dylrrSalaryPymntList.isEmpty()) {
for (Map<String, Object> dylrrSalaryPymntMap : dylrrSalaryPymntList) {
// 필요한 경우 안쪽 data 꺼내기
dylrrSalaryPymntMap = (Map<String, Object>) dylrrSalaryPymntMap.get("data");
dylrrSalaryPymntMap.put("insnCd", insnCd);
// DAO가 반환하는 타입에 맞게 선언하세요.
List<Map<String, Object>> emplymReqstCnList =
(List<Map<String, Object>>) hrhbiDylrrSttusDAO.selectlaborEmplymReqstCn(dylrrSalaryPymntMap);
if (emplymReqstCnList != null) {
resultList.addAll(emplymReqstCnList);
}
}
}
return resultList;
}
카테고리 없음