근태 관리 목록 조회시 1번의 쿼리로 조회되게 변경
This commit is contained in:
@@ -67,6 +67,21 @@ public class WebAttendanceSqlMapDAO extends SqlSessionDaoSupport{
|
|||||||
return getSqlSession().selectList(sqlId, paramMap);
|
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)
|
* 근태관리 정보 - 해당 날짜 등록여부 조회 (List)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -87,8 +87,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -100,7 +99,8 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
@@ -112,14 +112,12 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("updateUseYn", authMenuRelationlistMap.get(0).get("updateUseYn"));
|
map.put("updateUseYn", authMenuRelationlistMap.get(0).get("updateUseYn"));
|
||||||
map.put("deleteUseYn", authMenuRelationlistMap.get(0).get("deleteUseYn"));
|
map.put("deleteUseYn", authMenuRelationlistMap.get(0).get("deleteUseYn"));
|
||||||
map.put("downloadUseYn", authMenuRelationlistMap.get(0).get("downloadUseYn"));
|
map.put("downloadUseYn", authMenuRelationlistMap.get(0).get("downloadUseYn"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -166,8 +164,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -179,20 +176,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMap.size()) {
|
if (1 == authMenuRelationlistMap.size()) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -208,6 +204,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
// 날짜 조회
|
// 날짜 조회
|
||||||
List<Map<String, Object>> dateListMap = webAttendanceSqlMapDAO.selectListAttendanceDate(paramMap);
|
List<Map<String, Object>> dateListMap = webAttendanceSqlMapDAO.selectListAttendanceDate(paramMap);
|
||||||
|
|
||||||
|
// N+1 문제 해결을 위한 월간 전체 근태 내역 1회 조회 후 멤버별 인메모리 매핑
|
||||||
|
List<Map<String, Object>> allAttendanceList = webAttendanceSqlMapDAO.selectListAttendanceAll(paramMap);
|
||||||
|
Map<String, List<Map<String, Object>>> attendanceByMember = new HashMap<String, List<Map<String, Object>>>();
|
||||||
|
if (allAttendanceList != null) {
|
||||||
|
for (Map<String, Object> record : allAttendanceList) {
|
||||||
|
String memberId = String.valueOf(record.get("muMemberId"));
|
||||||
|
if (!attendanceByMember.containsKey(memberId)) {
|
||||||
|
attendanceByMember.put(memberId, new ArrayList<Map<String, Object>>());
|
||||||
|
}
|
||||||
|
attendanceByMember.get(memberId).add(record);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (int j = 0; j < memberListMap.size(); j++) {
|
for (int j = 0; j < memberListMap.size(); j++) {
|
||||||
String muMemberId = String.valueOf(memberListMap.get(j).get("muMemberId"));
|
String muMemberId = String.valueOf(memberListMap.get(j).get("muMemberId"));
|
||||||
String memberName = String.valueOf(memberListMap.get(j).get("memberName"));
|
String memberName = String.valueOf(memberListMap.get(j).get("memberName"));
|
||||||
@@ -217,19 +226,23 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("muGroupId", muGroupId);
|
paramMap.put("muGroupId", muGroupId);
|
||||||
paramMap.put("muDutyId", muDutyId);
|
paramMap.put("muDutyId", muDutyId);
|
||||||
|
|
||||||
|
List<Map<String, Object>> memberAllRecords = attendanceByMember.containsKey(muMemberId)
|
||||||
|
? attendanceByMember.get(muMemberId)
|
||||||
|
: new ArrayList<Map<String, Object>>();
|
||||||
|
|
||||||
for (int i = 0; i < dateListMap.size(); i++) {
|
for (int i = 0; i < dateListMap.size(); i++) {
|
||||||
Map<String, Object> addResultMap = new HashMap<String, Object>();
|
Map<String, Object> addResultMap = new HashMap<String, Object>();
|
||||||
|
|
||||||
String searchDate = String.valueOf(dateListMap.get(i).get("resultDate"));
|
String searchDate = String.valueOf(dateListMap.get(i).get("resultDate"));
|
||||||
paramMap.put("searchDate", searchDate);
|
paramMap.put("searchDate", searchDate);
|
||||||
|
|
||||||
// 근태 내역 조회
|
// 근태 내역 메모리 기반 조립
|
||||||
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectListAttendance(paramMap);
|
List<Map<String, Object>> attendanceListMap = buildDailyAttendanceList(memberAllRecords,
|
||||||
|
muMemberId, searchDate);
|
||||||
|
|
||||||
if (attendanceListMap.size() > 0) {
|
if (attendanceListMap.size() > 0) {
|
||||||
addResultMap.put("attendanceListMap", attendanceListMap);
|
addResultMap.put("attendanceListMap", attendanceListMap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
addResultMap.put("attendanceListMap", null);
|
addResultMap.put("attendanceListMap", null);
|
||||||
}
|
}
|
||||||
addResultMap.put("muGroupId", muGroupId);
|
addResultMap.put("muGroupId", muGroupId);
|
||||||
@@ -249,8 +262,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("memberRows", memberListMap);
|
map.put("memberRows", memberListMap);
|
||||||
map.put("rows", listMap);
|
map.put("rows", listMap);
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -299,8 +311,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -312,20 +323,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMap.size()) {
|
if (1 == authMenuRelationlistMap.size()) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("downloadUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("downloadUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "내려받기 권한 정보가 없습니다.");
|
map.put("msgDesc", "내려받기 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -341,6 +351,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
// 날짜 조회
|
// 날짜 조회
|
||||||
List<Map<String, Object>> dateListMap = webAttendanceSqlMapDAO.selectListAttendanceDate(paramMap);
|
List<Map<String, Object>> dateListMap = webAttendanceSqlMapDAO.selectListAttendanceDate(paramMap);
|
||||||
|
|
||||||
|
// N+1 문제 해결을 위한 월간 전체 근태 내역 1회 조회 후 멤버별 인메모리 매핑
|
||||||
|
List<Map<String, Object>> allAttendanceList = webAttendanceSqlMapDAO.selectListAttendanceAll(paramMap);
|
||||||
|
Map<String, List<Map<String, Object>>> attendanceByMember = new HashMap<String, List<Map<String, Object>>>();
|
||||||
|
if (allAttendanceList != null) {
|
||||||
|
for (Map<String, Object> record : allAttendanceList) {
|
||||||
|
String memberId = String.valueOf(record.get("muMemberId"));
|
||||||
|
if (!attendanceByMember.containsKey(memberId)) {
|
||||||
|
attendanceByMember.put(memberId, new ArrayList<Map<String, Object>>());
|
||||||
|
}
|
||||||
|
attendanceByMember.get(memberId).add(record);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (int j = 0; j < memberListMap.size(); j++) {
|
for (int j = 0; j < memberListMap.size(); j++) {
|
||||||
String muMemberId = String.valueOf(memberListMap.get(j).get("muMemberId"));
|
String muMemberId = String.valueOf(memberListMap.get(j).get("muMemberId"));
|
||||||
String memberName = String.valueOf(memberListMap.get(j).get("memberName"));
|
String memberName = String.valueOf(memberListMap.get(j).get("memberName"));
|
||||||
@@ -350,19 +373,23 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("muGroupId", muGroupId);
|
paramMap.put("muGroupId", muGroupId);
|
||||||
paramMap.put("muDutyId", muDutyId);
|
paramMap.put("muDutyId", muDutyId);
|
||||||
|
|
||||||
|
List<Map<String, Object>> memberAllRecords = attendanceByMember.containsKey(muMemberId)
|
||||||
|
? attendanceByMember.get(muMemberId)
|
||||||
|
: new ArrayList<Map<String, Object>>();
|
||||||
|
|
||||||
for (int i = 0; i < dateListMap.size(); i++) {
|
for (int i = 0; i < dateListMap.size(); i++) {
|
||||||
Map<String, Object> addResultMap = new HashMap<String, Object>();
|
Map<String, Object> addResultMap = new HashMap<String, Object>();
|
||||||
|
|
||||||
String searchDate = String.valueOf(dateListMap.get(i).get("resultDate"));
|
String searchDate = String.valueOf(dateListMap.get(i).get("resultDate"));
|
||||||
paramMap.put("searchDate", searchDate);
|
paramMap.put("searchDate", searchDate);
|
||||||
|
|
||||||
// 근태 내역 조회
|
// 근태 내역 메모리 기반 조립
|
||||||
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectListAttendance(paramMap);
|
List<Map<String, Object>> attendanceListMap = buildDailyAttendanceList(memberAllRecords,
|
||||||
|
muMemberId, searchDate);
|
||||||
|
|
||||||
if (attendanceListMap.size() > 0) {
|
if (attendanceListMap.size() > 0) {
|
||||||
addResultMap.put("attendanceListMap", attendanceListMap);
|
addResultMap.put("attendanceListMap", attendanceListMap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
addResultMap.put("attendanceListMap", null);
|
addResultMap.put("attendanceListMap", null);
|
||||||
}
|
}
|
||||||
addResultMap.put("muGroupId", muGroupId);
|
addResultMap.put("muGroupId", muGroupId);
|
||||||
@@ -383,8 +410,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("rows", listMap);
|
map.put("rows", listMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -393,6 +419,104 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 전체 통계 메모리 내역상출 로직 (SQL UNION 변환기)
|
||||||
|
*/
|
||||||
|
private List<Map<String, Object>> buildDailyAttendanceList(List<Map<String, Object>> allList, String muMemberId,
|
||||||
|
String searchDate) {
|
||||||
|
List<Map<String, Object>> dailyList = new ArrayList<Map<String, Object>>();
|
||||||
|
Map<String, Object> commuteMap = null;
|
||||||
|
|
||||||
|
for (Map<String, Object> record : allList) {
|
||||||
|
String recMemberId = String.valueOf(record.get("muMemberId"));
|
||||||
|
String recStartDate = String.valueOf(record.get("startDate"));
|
||||||
|
String recEndDate = String.valueOf(record.get("endDate"));
|
||||||
|
|
||||||
|
if (recMemberId.equals(muMemberId) && searchDate.compareTo(recStartDate) >= 0
|
||||||
|
&& searchDate.compareTo(recEndDate) <= 0) {
|
||||||
|
String attType = String.valueOf(record.get("attendanceType"));
|
||||||
|
|
||||||
|
if ("A".equals(attType) || "B".equals(attType)) {
|
||||||
|
if (commuteMap == null) {
|
||||||
|
commuteMap = new HashMap<String, Object>();
|
||||||
|
commuteMap.put("muAttendanceId", null);
|
||||||
|
commuteMap.put("muMemberId", muMemberId);
|
||||||
|
commuteMap.put("attendanceType", "A"); // UI 출/퇴근 row는 원래 항상 'A'로 내려감 (SQL과 동일)
|
||||||
|
commuteMap.put("searchDate", searchDate);
|
||||||
|
commuteMap.put("startTime", "-");
|
||||||
|
commuteMap.put("muAttendanceId2", null);
|
||||||
|
commuteMap.put("endTime", "-");
|
||||||
|
commuteMap.put("totalWorkHour", "-");
|
||||||
|
commuteMap.put("muVacationId", "");
|
||||||
|
commuteMap.put("vacationName", "");
|
||||||
|
}
|
||||||
|
if ("A".equals(attType)) {
|
||||||
|
commuteMap.put("muAttendanceId", record.get("muAttendanceId"));
|
||||||
|
commuteMap.put("startTime",
|
||||||
|
record.get("attendanceTime") != null && !"".equals(record.get("attendanceTime"))
|
||||||
|
? record.get("attendanceTime")
|
||||||
|
: "-");
|
||||||
|
} else if ("B".equals(attType)) {
|
||||||
|
commuteMap.put("muAttendanceId2", record.get("muAttendanceId"));
|
||||||
|
commuteMap.put("endTime",
|
||||||
|
record.get("attendanceTime") != null && !"".equals(record.get("attendanceTime"))
|
||||||
|
? record.get("attendanceTime")
|
||||||
|
: "-");
|
||||||
|
}
|
||||||
|
} else if ("C".equals(attType)) {
|
||||||
|
Map<String, Object> cMap = new HashMap<String, Object>();
|
||||||
|
cMap.put("muAttendanceId", record.get("muAttendanceId"));
|
||||||
|
cMap.put("muMemberId", muMemberId);
|
||||||
|
cMap.put("attendanceType", "C");
|
||||||
|
cMap.put("searchDate", searchDate);
|
||||||
|
cMap.put("startTime", "");
|
||||||
|
cMap.put("muAttendanceId2", "");
|
||||||
|
cMap.put("endTime", "");
|
||||||
|
cMap.put("totalWorkHour", "");
|
||||||
|
cMap.put("muVacationId", "");
|
||||||
|
cMap.put("vacationName", "");
|
||||||
|
dailyList.add(cMap);
|
||||||
|
} else if ("D".equals(attType) || "E".equals(attType)) {
|
||||||
|
Map<String, Object> vMap = new HashMap<String, Object>();
|
||||||
|
vMap.put("muAttendanceId", record.get("muAttendanceId"));
|
||||||
|
vMap.put("muMemberId", muMemberId);
|
||||||
|
vMap.put("attendanceType", attType);
|
||||||
|
vMap.put("searchDate", searchDate);
|
||||||
|
vMap.put("startTime", record.get("startTime") != null ? record.get("startTime") : "");
|
||||||
|
vMap.put("muAttendanceId2", "");
|
||||||
|
vMap.put("endTime", record.get("endTime") != null ? record.get("endTime") : "");
|
||||||
|
vMap.put("totalWorkHour", "");
|
||||||
|
vMap.put("muVacationId", record.get("muVacationId"));
|
||||||
|
vMap.put("vacationName", record.get("vacationName"));
|
||||||
|
dailyList.add(vMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (commuteMap != null) {
|
||||||
|
String sTime = String.valueOf(commuteMap.get("startTime"));
|
||||||
|
String eTime = String.valueOf(commuteMap.get("endTime"));
|
||||||
|
if (!"-".equals(sTime) && !"-".equals(eTime) && sTime != null && eTime != null && !"null".equals(sTime)
|
||||||
|
&& !"null".equals(eTime)) {
|
||||||
|
try {
|
||||||
|
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("HH:mm");
|
||||||
|
java.util.Date d1 = sdf.parse(sTime);
|
||||||
|
java.util.Date d2 = sdf.parse(eTime);
|
||||||
|
long diff = d2.getTime() - d1.getTime();
|
||||||
|
if (diff < 0)
|
||||||
|
diff += 24 * 60 * 60 * 1000;
|
||||||
|
long hours = diff / (60 * 60 * 1000);
|
||||||
|
long minutes = (diff / (60 * 1000)) % 60;
|
||||||
|
commuteMap.put("totalWorkHour", String.format("%02d시간%02d분", hours, minutes));
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dailyList.add(0, commuteMap); // 출근 기록을 리눅스결과 제일 상단에 위치시킴 (UNION 순서)
|
||||||
|
}
|
||||||
|
|
||||||
|
return dailyList;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 금일 근무현황 리스트 조회
|
* 금일 근무현황 리스트 조회
|
||||||
*
|
*
|
||||||
@@ -422,8 +546,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -435,20 +558,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMap.size()) {
|
if (1 == authMenuRelationlistMap.size()) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -462,8 +584,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("success", "true");
|
map.put("success", "true");
|
||||||
map.put("rows", listMap);
|
map.put("rows", listMap);
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -522,14 +643,12 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "근태유형 정보가 없습니다.");
|
map.put("msgDesc", "근태유형 정보가 없습니다.");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (("C").equals(attendanceType)) {
|
if (("C").equals(attendanceType)) {
|
||||||
// 휴무일경우
|
// 휴무일경우
|
||||||
attendanceTime = null;
|
attendanceTime = null;
|
||||||
paramMap.put("attendanceTime", null);
|
paramMap.put("attendanceTime", null);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (true != ValidationCheckUtil.emptyCheck(attendanceTime)) {
|
if (true != ValidationCheckUtil.emptyCheck(attendanceTime)) {
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
@@ -557,8 +676,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -570,21 +688,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("insertUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("insertUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "등록 권한 정보가 없습니다.");
|
map.put("msgDesc", "등록 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -599,8 +716,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (1 == memberListMapSize) {
|
if (1 == memberListMapSize) {
|
||||||
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
||||||
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
||||||
@@ -610,12 +726,12 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (true == check) {
|
if (true == check) {
|
||||||
// 겹치는 일자 안 들어가도록 조회
|
// 겹치는 일자 안 들어가도록 조회
|
||||||
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
||||||
int attendanceListMapSize = Integer.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
int attendanceListMapSize = Integer
|
||||||
|
.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
||||||
|
|
||||||
if (0 == attendanceListMapSize) {
|
if (0 == attendanceListMapSize) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
||||||
@@ -657,8 +773,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("msgCode", Constants.OK);
|
map.put("msgCode", Constants.OK);
|
||||||
map.put("msgDesc", "등록되었습니다.");
|
map.put("msgDesc", "등록되었습니다.");
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -695,7 +810,8 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
String muAttendanceId = String.valueOf(paramMap.get("muAttendanceId"));
|
String muAttendanceId = String.valueOf(paramMap.get("muAttendanceId"));
|
||||||
String muAttendanceId2 = String.valueOf(paramMap.get("muAttendanceId2"));
|
String muAttendanceId2 = String.valueOf(paramMap.get("muAttendanceId2"));
|
||||||
|
|
||||||
if(true != ValidationCheckUtil.emptyCheck(muAttendanceId) && true != ValidationCheckUtil.emptyCheck(muAttendanceId2)){
|
if (true != ValidationCheckUtil.emptyCheck(muAttendanceId)
|
||||||
|
&& true != ValidationCheckUtil.emptyCheck(muAttendanceId2)) {
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "근태 정보가 없습니다.");
|
map.put("msgDesc", "근태 정보가 없습니다.");
|
||||||
@@ -708,8 +824,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -721,20 +836,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMap.size()) {
|
if (1 == authMenuRelationlistMap.size()) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -749,8 +863,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("rows", listMap);
|
map.put("rows", listMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -803,7 +916,8 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
LocalTime fommat_startTime = LocalTime.parse(startTime, formatter);
|
LocalTime fommat_startTime = LocalTime.parse(startTime, formatter);
|
||||||
LocalTime fommat_endTime = LocalTime.parse(endTime, formatter);
|
LocalTime fommat_endTime = LocalTime.parse(endTime, formatter);
|
||||||
|
|
||||||
if(true != ValidationCheckUtil.emptyCheck(muAttendanceId) && true != ValidationCheckUtil.emptyCheck(muAttendanceId2)){
|
if (true != ValidationCheckUtil.emptyCheck(muAttendanceId)
|
||||||
|
&& true != ValidationCheckUtil.emptyCheck(muAttendanceId2)) {
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "근태 정보가 없습니다.");
|
map.put("msgDesc", "근태 정보가 없습니다.");
|
||||||
@@ -844,8 +958,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -857,21 +970,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -886,8 +998,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (1 == memberListMapSize) {
|
if (1 == memberListMapSize) {
|
||||||
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
||||||
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
||||||
@@ -907,8 +1018,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("endDate", attendanceDate);
|
paramMap.put("endDate", attendanceDate);
|
||||||
paramMap.put("attendanceTime", startTime);
|
paramMap.put("attendanceTime", startTime);
|
||||||
webAttendanceSqlMapDAO.insertAttendance(paramMap);
|
webAttendanceSqlMapDAO.insertAttendance(paramMap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
paramMap.put("muAttendanceId", muAttendanceId);
|
paramMap.put("muAttendanceId", muAttendanceId);
|
||||||
paramMap.put("attendanceTime", startTime);
|
paramMap.put("attendanceTime", startTime);
|
||||||
webAttendanceSqlMapDAO.updateAttendanceCommute(paramMap);
|
webAttendanceSqlMapDAO.updateAttendanceCommute(paramMap);
|
||||||
@@ -923,8 +1033,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("endDate", attendanceDate);
|
paramMap.put("endDate", attendanceDate);
|
||||||
paramMap.put("attendanceTime", endTime);
|
paramMap.put("attendanceTime", endTime);
|
||||||
webAttendanceSqlMapDAO.insertAttendance(paramMap);
|
webAttendanceSqlMapDAO.insertAttendance(paramMap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
paramMap.put("muAttendanceId", muAttendanceId2);
|
paramMap.put("muAttendanceId", muAttendanceId2);
|
||||||
paramMap.put("attendanceTime", endTime);
|
paramMap.put("attendanceTime", endTime);
|
||||||
webAttendanceSqlMapDAO.updateAttendanceCommute(paramMap);
|
webAttendanceSqlMapDAO.updateAttendanceCommute(paramMap);
|
||||||
@@ -934,8 +1043,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("msgDesc", "수정되었습니다.");
|
map.put("msgDesc", "수정되었습니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -991,8 +1099,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -1003,20 +1110,19 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMap.size()) {
|
if (1 == authMenuRelationlistMap.size()) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("selectUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
map.put("msgDesc", "조회 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -1030,8 +1136,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("rows", listMap);
|
map.put("rows", listMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e){
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -1112,8 +1217,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -1125,21 +1229,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("insertUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("insertUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "등록 권한 정보가 없습니다.");
|
map.put("msgDesc", "등록 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -1154,8 +1257,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (1 == memberListMapSize) {
|
if (1 == memberListMapSize) {
|
||||||
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
paramMap.put("muGroupId", memberListMap.get(0).get("muGroupId"));
|
||||||
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
paramMap.put("muDutyId", memberListMap.get(0).get("muDutyId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "직원 정보가 올바르지 않습니다.");
|
||||||
@@ -1172,13 +1274,11 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (("A").equals(hourType)) {
|
if (("A").equals(hourType)) {
|
||||||
paramMap.put("attendanceType", "D");
|
paramMap.put("attendanceType", "D");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// 반차
|
// 반차
|
||||||
paramMap.put("attendanceType", "E");
|
paramMap.put("attendanceType", "E");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "연차사용단위 정보가 없습니다.");
|
map.put("msgDesc", "연차사용단위 정보가 없습니다.");
|
||||||
@@ -1188,12 +1288,12 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (true == check) {
|
if (true == check) {
|
||||||
// 겹치는 일자 안 들어가도록 조회
|
// 겹치는 일자 안 들어가도록 조회
|
||||||
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
||||||
int attendanceListMapSize = Integer.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
int attendanceListMapSize = Integer
|
||||||
|
.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
||||||
|
|
||||||
if (0 == attendanceListMapSize) {
|
if (0 == attendanceListMapSize) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
||||||
@@ -1223,27 +1323,28 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (true == check) {
|
if (true == check) {
|
||||||
// 잔여 연차 확인
|
// 잔여 연차 확인
|
||||||
List<Map<String, Object>> vacationManagementListMap = webVacationManagementSqlMapDAO.selectVacationManagementLeftDays(paramMap);
|
List<Map<String, Object>> vacationManagementListMap = webVacationManagementSqlMapDAO
|
||||||
|
.selectVacationManagementLeftDays(paramMap);
|
||||||
int vacationManagementListMapListMapSize = vacationManagementListMap.size();
|
int vacationManagementListMapListMapSize = vacationManagementListMap.size();
|
||||||
|
|
||||||
if (vacationManagementListMapListMapSize == 1) {
|
if (vacationManagementListMapListMapSize == 1) {
|
||||||
double leftDays = Double.parseDouble(String.valueOf(vacationManagementListMap.get(0).get("leftDays")));
|
double leftDays = Double
|
||||||
|
.parseDouble(String.valueOf(vacationManagementListMap.get(0).get("leftDays")));
|
||||||
double useDays = 0.5;
|
double useDays = 0.5;
|
||||||
if ("D".equals(paramMap.get("attendanceType"))) {
|
if ("D".equals(paramMap.get("attendanceType"))) {
|
||||||
useDays = getDateDays(startDate, endDate);
|
useDays = getDateDays(startDate, endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leftDays >= useDays) {
|
if (leftDays >= useDays) {
|
||||||
paramMap.put("muVacationManagementId", vacationManagementListMap.get(0).get("muVacationManagementId"));
|
paramMap.put("muVacationManagementId",
|
||||||
|
vacationManagementListMap.get(0).get("muVacationManagementId"));
|
||||||
paramMap.put("days", useDays);
|
paramMap.put("days", useDays);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "잔여연차는 " + leftDays + "일 입니다. 연차기간을 확인해주세요.");
|
map.put("msgDesc", "잔여연차는 " + leftDays + "일 입니다. 연차기간을 확인해주세요.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "발행된 연차 정보가 없습니다. 관리자에게 문의하십시오.");
|
map.put("msgDesc", "발행된 연차 정보가 없습니다. 관리자에게 문의하십시오.");
|
||||||
@@ -1267,8 +1368,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("msgCode", Constants.OK);
|
map.put("msgCode", Constants.OK);
|
||||||
map.put("msgDesc", "등록되었습니다.");
|
map.put("msgDesc", "등록되었습니다.");
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -1358,8 +1458,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -1371,21 +1470,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -1402,13 +1500,11 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (("A").equals(hourType)) {
|
if (("A").equals(hourType)) {
|
||||||
paramMap.put("attendanceType", "D");
|
paramMap.put("attendanceType", "D");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// 반차
|
// 반차
|
||||||
paramMap.put("attendanceType", "E");
|
paramMap.put("attendanceType", "E");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "연차사용단위 정보가 없습니다.");
|
map.put("msgDesc", "연차사용단위 정보가 없습니다.");
|
||||||
@@ -1418,12 +1514,12 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
if (true == check) {
|
if (true == check) {
|
||||||
// 겹치는 일자 안 들어가도록 조회
|
// 겹치는 일자 안 들어가도록 조회
|
||||||
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
List<Map<String, Object>> attendanceListMap = webAttendanceSqlMapDAO.selectAttendanceDate(paramMap);
|
||||||
int attendanceListMapSize = Integer.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
int attendanceListMapSize = Integer
|
||||||
|
.parseInt(String.valueOf(attendanceListMap.get(0).get("totalCount")));
|
||||||
|
|
||||||
if (0 == attendanceListMapSize) {
|
if (0 == attendanceListMapSize) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
map.put("msgDesc", "이미 등록된 근태정보가 있습니다.");
|
||||||
@@ -1437,16 +1533,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == attendanceListMapSize) {
|
if (1 == attendanceListMapSize) {
|
||||||
// 수정 전 데이터
|
// 수정 전 데이터
|
||||||
String oldMuVacationManagementId = String.valueOf(attendanceListMap.get(0).get("muVacationManagementId"));
|
String oldMuVacationManagementId = String
|
||||||
|
.valueOf(attendanceListMap.get(0).get("muVacationManagementId"));
|
||||||
Double oldDays = Double.parseDouble(String.valueOf(attendanceListMap.get(0).get("days")));
|
Double oldDays = Double.parseDouble(String.valueOf(attendanceListMap.get(0).get("days")));
|
||||||
// 발행된 연차 및 잔여 연차 확인
|
// 발행된 연차 및 잔여 연차 확인
|
||||||
// 수정 시 기존연차와 남은 연차 합해서 확인
|
// 수정 시 기존연차와 남은 연차 합해서 확인
|
||||||
List<Map<String, Object>> vacationManagementListMap = webVacationManagementSqlMapDAO.selectVacationManagementLeftDays(paramMap);
|
List<Map<String, Object>> vacationManagementListMap = webVacationManagementSqlMapDAO
|
||||||
|
.selectVacationManagementLeftDays(paramMap);
|
||||||
int vacationManagementListMapListMapSize = vacationManagementListMap.size();
|
int vacationManagementListMapListMapSize = vacationManagementListMap.size();
|
||||||
|
|
||||||
if (vacationManagementListMapListMapSize == 1) {
|
if (vacationManagementListMapListMapSize == 1) {
|
||||||
String muVacationManagementId = String.valueOf(vacationManagementListMap.get(0).get("muVacationManagementId"));
|
String muVacationManagementId = String
|
||||||
double leftDays = Double.parseDouble(String.valueOf(vacationManagementListMap.get(0).get("leftDays")));
|
.valueOf(vacationManagementListMap.get(0).get("muVacationManagementId"));
|
||||||
|
double leftDays = Double
|
||||||
|
.parseDouble(String.valueOf(vacationManagementListMap.get(0).get("leftDays")));
|
||||||
double useDays = 0.5;
|
double useDays = 0.5;
|
||||||
if ("D".equals(paramMap.get("attendanceType"))) {
|
if ("D".equals(paramMap.get("attendanceType"))) {
|
||||||
useDays = getDateDays(startDate, endDate);
|
useDays = getDateDays(startDate, endDate);
|
||||||
@@ -1454,7 +1554,8 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if ((leftDays + oldDays) >= useDays) {
|
if ((leftDays + oldDays) >= useDays) {
|
||||||
|
|
||||||
paramMap.put("muVacationManagementId", vacationManagementListMap.get(0).get("muVacationManagementId"));
|
paramMap.put("muVacationManagementId",
|
||||||
|
vacationManagementListMap.get(0).get("muVacationManagementId"));
|
||||||
paramMap.put("days", useDays);
|
paramMap.put("days", useDays);
|
||||||
|
|
||||||
webAttendanceSqlMapDAO.updateAttendanceVacation(paramMap);
|
webAttendanceSqlMapDAO.updateAttendanceVacation(paramMap);
|
||||||
@@ -1467,8 +1568,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("days", useDays - oldDays);
|
paramMap.put("days", useDays - oldDays);
|
||||||
paramMap.put("muVacationManagementId", muVacationManagementId);
|
paramMap.put("muVacationManagementId", muVacationManagementId);
|
||||||
webVacationManagementSqlMapDAO.updateVacationManagementLeftDays(paramMap);
|
webVacationManagementSqlMapDAO.updateVacationManagementLeftDays(paramMap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// 연차사용단위가 변경되었을 경우
|
// 연차사용단위가 변경되었을 경우
|
||||||
// 1. 이전 남은연차 갯수 수정
|
// 1. 이전 남은연차 갯수 수정
|
||||||
paramMap.put("days", -oldDays);
|
paramMap.put("days", -oldDays);
|
||||||
@@ -1480,28 +1580,24 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
paramMap.put("muVacationManagementId", muVacationManagementId);
|
paramMap.put("muVacationManagementId", muVacationManagementId);
|
||||||
webVacationManagementSqlMapDAO.updateVacationManagementLeftDays(paramMap);
|
webVacationManagementSqlMapDAO.updateVacationManagementLeftDays(paramMap);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "잔여연차가 없거나 부족합니다. 연차기간을 확인해주세요.");
|
map.put("msgDesc", "잔여연차가 없거나 부족합니다. 연차기간을 확인해주세요.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "발행된 연차 정보가 없습니다. 관리자에게 문의하십시오.");
|
map.put("msgDesc", "발행된 연차 정보가 없습니다. 관리자에게 문의하십시오.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "연차 정보가 없습니다.");
|
map.put("msgDesc", "연차 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@@ -1557,8 +1653,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (1 == userListMapSize) {
|
if (1 == userListMapSize) {
|
||||||
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
paramMap.put("menuClassAuthId", userListMap.get(0).get("muAuthId"));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
map.put("msgDesc", "사용자 정보가 올바르지 않습니다.");
|
||||||
@@ -1570,21 +1665,20 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
HashMap<String, Object> authCheckParamMap = new HashMap<String, Object>();
|
||||||
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
authCheckParamMap.put("menuClass", paramMap.get("menuClass"));
|
||||||
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
authCheckParamMap.put("muAuthId", paramMap.get("menuClassAuthId"));
|
||||||
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO.selectAuthMenuRelation(authCheckParamMap);
|
List<Map<String, Object>> authMenuRelationlistMap = webAuthMenuRelationSqlMapDAO
|
||||||
|
.selectAuthMenuRelation(authCheckParamMap);
|
||||||
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
int authMenuRelationlistMapSize = authMenuRelationlistMap.size();
|
||||||
|
|
||||||
if (1 == authMenuRelationlistMapSize) {
|
if (1 == authMenuRelationlistMapSize) {
|
||||||
|
|
||||||
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
if (("Y").equals(authMenuRelationlistMap.get(0).get("updateUseYn"))) {
|
||||||
|
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
map.put("msgDesc", "수정 권한 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
check = false;
|
check = false;
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "권한 정보가 없습니다.");
|
map.put("msgDesc", "권한 정보가 없습니다.");
|
||||||
@@ -1597,11 +1691,11 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
|
|
||||||
if (attendanceListMap.size() == 1) {
|
if (attendanceListMap.size() == 1) {
|
||||||
Double days = Double.parseDouble(String.valueOf(attendanceListMap.get(0).get("days")));
|
Double days = Double.parseDouble(String.valueOf(attendanceListMap.get(0).get("days")));
|
||||||
String muVacationManagementId = String.valueOf(attendanceListMap.get(0).get("muVacationManagementId"));
|
String muVacationManagementId = String
|
||||||
|
.valueOf(attendanceListMap.get(0).get("muVacationManagementId"));
|
||||||
String muMemberId = String.valueOf(attendanceListMap.get(0).get("muMemberId"));
|
String muMemberId = String.valueOf(attendanceListMap.get(0).get("muMemberId"));
|
||||||
String status = String.valueOf(attendanceListMap.get(0).get("status"));
|
String status = String.valueOf(attendanceListMap.get(0).get("status"));
|
||||||
|
|
||||||
|
|
||||||
if (("D").equals(status)) {
|
if (("D").equals(status)) {
|
||||||
map.put("msgCode", Constants.FAIL);
|
map.put("msgCode", Constants.FAIL);
|
||||||
map.put("msgDesc", "이미 취소된 연차입니다.");
|
map.put("msgDesc", "이미 취소된 연차입니다.");
|
||||||
@@ -1624,8 +1718,7 @@ public class WebAttendanceServiceImpl implements WebAttendanceService {
|
|||||||
map.put("msgDesc", "휴무관리 정보가 없습니다.");
|
map.put("msgDesc", "휴무관리 정보가 없습니다.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,28 @@
|
|||||||
ORDER BY MA.MEMBER_CODE ASC
|
ORDER BY MA.MEMBER_CODE ASC
|
||||||
</select>
|
</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 id="selectListAttendance" parameterType="hashmap" resultType="hashmap">
|
||||||
SELECT MAX(MU_ATTENDANCE_ID) AS "muAttendanceId"
|
SELECT MAX(MU_ATTENDANCE_ID) AS "muAttendanceId"
|
||||||
,MA.MU_MEMBER_ID AS "muMemberId"
|
,MA.MU_MEMBER_ID AS "muMemberId"
|
||||||
|
|||||||
Reference in New Issue
Block a user