|
|
@ -77,18 +77,20 @@ public class ClockingInService implements IClockingInService { |
|
|
|
List<Long> memberIdList = new ArrayList<>(); |
|
|
|
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId); |
|
|
|
memberIdList.add(userOfMemberId); |
|
|
|
ProMember member = memberDao.selectByPrimaryKey(userOfMemberId); |
|
|
|
ProMember member = memberDao.queryMemberOfRole(userOfMemberId,params.getRoleId()); |
|
|
|
if (CollectionUtil.isEmpty(params.getMemberIdList())){ |
|
|
|
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId); |
|
|
|
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId,params.getRoleId()); |
|
|
|
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList())); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo : list) { |
|
|
|
CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord(); |
|
|
|
clockRecord.setMemberId(member.getId()); |
|
|
|
clockRecord.setMemberName(member.getName()); |
|
|
|
clockRecord.setMemberUserId(member.getUserId()); |
|
|
|
clockingInInfo.getRecordList().add(clockRecord); |
|
|
|
if (member.getUserId().equals(clockRecord.getMemberUserId())) { |
|
|
|
clockRecord.setIsMine((byte)1); |
|
|
|
if (ObjectUtil.isNotNull(member)) { |
|
|
|
CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord(); |
|
|
|
clockRecord.setMemberId(member.getId()); |
|
|
|
clockRecord.setMemberName(member.getName()); |
|
|
|
clockRecord.setMemberUserId(member.getUserId()); |
|
|
|
clockingInInfo.getRecordList().add(clockRecord); |
|
|
|
if (member.getUserId().equals(clockRecord.getMemberUserId())) { |
|
|
|
clockRecord.setIsMine((byte)1); |
|
|
|
} |
|
|
|
} |
|
|
|
for (CClockingInVo.ClockRecord record : clockRecordList) { |
|
|
|
CClockingInVo.ClockRecord otherClockRecord = new CClockingInVo.ClockRecord(); |
|
|
@ -97,53 +99,59 @@ public class ClockingInService implements IClockingInService { |
|
|
|
otherClockRecord.setMemberUserId(record.getMemberUserId()); |
|
|
|
clockingInInfo.getRecordList().add(otherClockRecord); |
|
|
|
if (member.getUserId().equals(otherClockRecord.getMemberUserId())) { |
|
|
|
clockRecord.setIsMine((byte)1); |
|
|
|
record.setIsMine((byte)1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
//2.筛选成员
|
|
|
|
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList()); |
|
|
|
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList())); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo : list) { |
|
|
|
for (CClockingInVo.ClockRecord clockRecord : clockRecordList) { |
|
|
|
CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord(); |
|
|
|
filterRecord.setMemberId(clockRecord.getMemberId()); |
|
|
|
filterRecord.setMemberName(clockRecord.getMemberName()); |
|
|
|
filterRecord.setMemberUserId(clockRecord.getMemberUserId()); |
|
|
|
if (filterRecord.getMemberUserId().equals(userId)) { |
|
|
|
filterRecord.setIsMine((byte)1); |
|
|
|
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList(),params.getRoleId()); |
|
|
|
if (CollectionUtil.isNotEmpty(clockRecordList)) { |
|
|
|
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList())); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo : list) { |
|
|
|
for (CClockingInVo.ClockRecord clockRecord : clockRecordList) { |
|
|
|
CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord(); |
|
|
|
filterRecord.setMemberId(clockRecord.getMemberId()); |
|
|
|
filterRecord.setMemberName(clockRecord.getMemberName()); |
|
|
|
filterRecord.setMemberUserId(clockRecord.getMemberUserId()); |
|
|
|
if (filterRecord.getMemberUserId().equals(userId)) { |
|
|
|
filterRecord.setIsMine((byte)1); |
|
|
|
} |
|
|
|
clockingInInfo.getRecordList().add(filterRecord); |
|
|
|
} |
|
|
|
clockingInInfo.getRecordList().add(filterRecord); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//查询所有成员打卡记录
|
|
|
|
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) { |
|
|
|
for (CClockingInVo.ClockRecord record : clockRecords) { |
|
|
|
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) { |
|
|
|
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) { |
|
|
|
if (clockRecord.getMemberId().equals(record.getMemberId())) { |
|
|
|
if (CollectionUtil.isNotEmpty(memberIdList)) { |
|
|
|
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) { |
|
|
|
for (CClockingInVo.ClockRecord record : clockRecords) { |
|
|
|
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) { |
|
|
|
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) { |
|
|
|
if (clockRecord.getMemberId().equals(record.getMemberId())) { |
|
|
|
|
|
|
|
clockRecord.setId(record.getId()); |
|
|
|
clockRecord.setMemberName(record.getMemberName()); |
|
|
|
clockRecord.setMemberId(record.getMemberId()); |
|
|
|
clockRecord.setCheckerName(record.getCheckerName()); |
|
|
|
clockRecord.setCheckerId(record.getCheckerId()); |
|
|
|
clockRecord.setMorning(record.getMorning()); |
|
|
|
clockRecord.setMorningStatus(record.getMorningStatus()); |
|
|
|
clockRecord.setNight(record.getNight()); |
|
|
|
clockRecord.setNightStatus(record.getNightStatus()); |
|
|
|
if (record.getCheckerId().equals(member.getId())) { |
|
|
|
clockRecord.setIsChecker((byte)1); |
|
|
|
clockRecord.setId(record.getId()); |
|
|
|
clockRecord.setMemberName(record.getMemberName()); |
|
|
|
clockRecord.setMemberId(record.getMemberId()); |
|
|
|
clockRecord.setCheckerName(record.getCheckerName()); |
|
|
|
clockRecord.setCheckerId(record.getCheckerId()); |
|
|
|
clockRecord.setMorning(record.getMorning()); |
|
|
|
clockRecord.setMorningStatus(record.getMorningStatus()); |
|
|
|
clockRecord.setNight(record.getNight()); |
|
|
|
clockRecord.setNightStatus(record.getNightStatus()); |
|
|
|
if (record.getCheckerId().equals(member.getId())) { |
|
|
|
clockRecord.setIsChecker((byte)1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
List<CClockingInVo.ClockingInInfo> collect = list.stream().distinct().collect(Collectors.toList()); |
|
|
|
//查询上次检查人
|
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo : collect) { |
|
|
@ -290,7 +298,7 @@ public class ClockingInService implements IClockingInService { |
|
|
|
list.add(firstCells); |
|
|
|
list.add(secondCells); |
|
|
|
for (CClockingInVo.ClockingInInfo clockingInInfo : clockingInInfos) { |
|
|
|
//添加考勤信息
|
|
|
|
//添加考勤人员信息
|
|
|
|
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo.getRecordList()) { |
|
|
|
List<PoiUtil.PoiUtilCell> memberCells = new ArrayList<>(); |
|
|
|
PoiUtil.PoiUtilCell cell = new PoiUtil.PoiUtilCell(); |
|
|
@ -308,17 +316,22 @@ public class ClockingInService implements IClockingInService { |
|
|
|
PoiUtil.PoiUtilCell morning = new PoiUtil.PoiUtilCell(); |
|
|
|
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getMorning()) || 0 == clockingInInfo.getRecordList().get(i).getMorning()){ |
|
|
|
morning.setValue("未打卡"); |
|
|
|
}else{ |
|
|
|
}else if (2 == clockingInInfo.getRecordList().get(i).getMorningStatus()){ |
|
|
|
morning.setValue("已驳回"); |
|
|
|
}else { |
|
|
|
morning.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getMorning()))); |
|
|
|
} |
|
|
|
poiUtilCells.add(morning); |
|
|
|
PoiUtil.PoiUtilCell night = new PoiUtil.PoiUtilCell(); |
|
|
|
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getNight()) || 0 == clockingInInfo.getRecordList().get(i).getNight()){ |
|
|
|
night.setValue("未打卡"); |
|
|
|
}else{ |
|
|
|
}else if (2 == clockingInInfo.getRecordList().get(i).getNightStatus()){ |
|
|
|
night.setValue("已驳回"); |
|
|
|
}else { |
|
|
|
night.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getNight()))); |
|
|
|
} |
|
|
|
poiUtilCells.add(night); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|