근태 관리 목록 조회시 1번의 쿼리로 조회되게 변경
This commit is contained in:
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
public class WebAttendanceSqlMapDAO extends SqlSessionDaoSupport{
|
||||
public class WebAttendanceSqlMapDAO extends SqlSessionDaoSupport {
|
||||
|
||||
@Autowired
|
||||
private SqlSessionTemplate sqlSessionTemplate;
|
||||
@@ -67,6 +67,21 @@ public class WebAttendanceSqlMapDAO extends SqlSessionDaoSupport{
|
||||
return getSqlSession().selectList(sqlId, paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 근태관리 정보 - 날짜별,직원 근태 전체 조회(최적화용) (List)
|
||||
*
|
||||
* @param Map
|
||||
* @return
|
||||
* @throws DataAccessException
|
||||
*/
|
||||
public List<Map<String, Object>> selectListAttendanceAll(HashMap<String, Object> paramMap)
|
||||
throws DataAccessException {
|
||||
logger.debug("WebAttendanceSqlMapDAO selectListAttendanceAll START");
|
||||
String sqlId = "WebAttendance.selectListAttendanceAll";
|
||||
logger.debug("WebAttendanceSqlMapDAO selectListAttendanceAll END");
|
||||
return getSqlSession().selectList(sqlId, paramMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 근태관리 정보 - 해당 날짜 등록여부 조회 (List)
|
||||
*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -76,6 +76,28 @@
|
||||
ORDER BY MA.MEMBER_CODE ASC
|
||||
</select>
|
||||
|
||||
<select id="selectListAttendanceAll" parameterType="hashmap" resultType="hashmap">
|
||||
SELECT MA.MU_ATTENDANCE_ID AS "muAttendanceId"
|
||||
,MA.MU_MEMBER_ID AS "muMemberId"
|
||||
,MA.ATTENDANCE_TYPE AS "attendanceType"
|
||||
,DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') AS "startDate"
|
||||
,DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') AS "endDate"
|
||||
,DATE_FORMAT(MA.ATTENDANCE_TIME, '%H:%i') AS "attendanceTime"
|
||||
,DATE_FORMAT(MA.START_TIME, '%H:%i') AS "startTime"
|
||||
,DATE_FORMAT(MA.END_TIME, '%H:%i') AS "endTime"
|
||||
,MA.MU_VACATION_ID AS "muVacationId"
|
||||
,IFNULL(MV.VACATION_NAME, '') AS "vacationName"
|
||||
FROM MU_ATTENDANCE AS MA
|
||||
LEFT JOIN MU_VACATION AS MV
|
||||
ON MV.MU_VACATION_ID = MA.MU_VACATION_ID
|
||||
AND MV.USE_YN = 'Y'
|
||||
WHERE MA.USE_YN = 'Y'
|
||||
AND MA.STATUS != 'D'
|
||||
AND ((DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') <= #{attendanceSearchStartDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{attendanceSearchStartDate})
|
||||
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') <= #{attendanceSearchEndDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') >= #{attendanceSearchEndDate})
|
||||
OR (DATE_FORMAT(MA.START_DATE,'%Y-%m-%d') > #{attendanceSearchStartDate} AND DATE_FORMAT(MA.END_DATE,'%Y-%m-%d') < #{attendanceSearchEndDate}))
|
||||
</select>
|
||||
|
||||
<select id="selectListAttendance" parameterType="hashmap" resultType="hashmap">
|
||||
SELECT MAX(MU_ATTENDANCE_ID) AS "muAttendanceId"
|
||||
,MA.MU_MEMBER_ID AS "muMemberId"
|
||||
|
||||
Reference in New Issue
Block a user