Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
37416e2539
|
|
@ -661,7 +661,6 @@ public class ExportFileController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MultiSheetExcelExporter exporter = new MultiSheetExcelExporter();
|
MultiSheetExcelExporter exporter = new MultiSheetExcelExporter();
|
||||||
//将表格时间区间取出来做标题
|
//将表格时间区间取出来做标题
|
||||||
String title = bean.getMonth();
|
String title = bean.getMonth();
|
||||||
|
|
@ -712,6 +711,11 @@ public class ExportFileController {
|
||||||
dayTable.setEndDate(monthFirstAndLast.get(1));
|
dayTable.setEndDate(monthFirstAndLast.get(1));
|
||||||
if (bean.getOrgId() != null) {
|
if (bean.getOrgId() != null) {
|
||||||
dayTable.setOrgId(String.valueOf(bean.getOrgId()));
|
dayTable.setOrgId(String.valueOf(bean.getOrgId()));
|
||||||
|
}else{
|
||||||
|
//受限于当前登录人
|
||||||
|
if(!bean.getOrgList().isEmpty()){
|
||||||
|
dayTable.setOrgList(bean.getOrgList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dayTable.setName(bean.getUserName());
|
dayTable.setName(bean.getUserName());
|
||||||
headers.entrySet()
|
headers.entrySet()
|
||||||
|
|
@ -721,6 +725,11 @@ public class ExportFileController {
|
||||||
att.setAttCurrentMonth(bean.getMonth());
|
att.setAttCurrentMonth(bean.getMonth());
|
||||||
if (bean.getOrgId() != null) {
|
if (bean.getOrgId() != null) {
|
||||||
att.setOrgId(bean.getOrgId());
|
att.setOrgId(bean.getOrgId());
|
||||||
|
}else{
|
||||||
|
//受限于当前登录人
|
||||||
|
if(!bean.getOrgList().isEmpty()){
|
||||||
|
att.setOrgList(bean.getOrgList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
att.setUserName(bean.getUserName());
|
att.setUserName(bean.getUserName());
|
||||||
List<AttDataDetailsBean> list = attendanceDetailsService.getOutCountList(att);
|
List<AttDataDetailsBean> list = attendanceDetailsService.getOutCountList(att);
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,6 @@ public interface LeaveReportingDao {
|
||||||
List<LeaveReportingBean> getUserList(@Param("params")LeaveReportingBean bean);
|
List<LeaveReportingBean> getUserList(@Param("params")LeaveReportingBean bean);
|
||||||
|
|
||||||
List<LeaveReportingBean> getFestivalAndHoliday(LeaveReportingBean bean);
|
List<LeaveReportingBean> getFestivalAndHoliday(LeaveReportingBean bean);
|
||||||
|
|
||||||
|
String getAttTypeByUserId(Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -123,24 +123,26 @@ public class LeaveReportingServiceImpl implements LeaveReportingService {
|
||||||
@Override
|
@Override
|
||||||
public LeaveReportingBean getDays(LeaveReportingBean bean) {
|
public LeaveReportingBean getDays(LeaveReportingBean bean) {
|
||||||
try {
|
try {
|
||||||
|
//只能查自己部门的人
|
||||||
|
Long userId = SecurityUtils.getLoginUser().getSysUser().getUserId();
|
||||||
|
//1 公司机关 2 项目部
|
||||||
|
String attType= leaveReportingDao.getAttTypeByUserId(userId);
|
||||||
// 查询出所有周末以及节假日的日期
|
// 查询出所有周末以及节假日的日期
|
||||||
List<LeaveReportingBean> holidays = leaveReportingDao.getFestivalAndHoliday(bean);
|
List<LeaveReportingBean> holidays = leaveReportingDao.getFestivalAndHoliday(bean);
|
||||||
|
if("2".equals(attType)){
|
||||||
|
holidays.clear();
|
||||||
|
}
|
||||||
// 将节假日转换为 Set<String>,提高查找效率
|
// 将节假日转换为 Set<String>,提高查找效率
|
||||||
Set<String> holidaySet = new HashSet<>();
|
Set<String> holidaySet = new HashSet<>();
|
||||||
for (LeaveReportingBean holiday : holidays) {
|
for (LeaveReportingBean holiday : holidays) {
|
||||||
holidaySet.add(holiday.getDate());
|
holidaySet.add(holiday.getDate());
|
||||||
}
|
}
|
||||||
|
|
||||||
Date startDate = null;
|
Date startDate = null;
|
||||||
startDate = parseDate(String.valueOf(bean.getLeaveStartDate()));
|
startDate = parseDate(String.valueOf(bean.getLeaveStartDate()));
|
||||||
Date endDate = parseDate(String.valueOf(bean.getLeaveEndDate()));
|
Date endDate = parseDate(String.valueOf(bean.getLeaveEndDate()));
|
||||||
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
calendar.setTime(startDate);
|
calendar.setTime(startDate);
|
||||||
|
|
||||||
int totalDays = 0;
|
int totalDays = 0;
|
||||||
|
|
||||||
while (!calendar.getTime().after(endDate)) {
|
while (!calendar.getTime().after(endDate)) {
|
||||||
String currentDate = formatDate(calendar.getTime());
|
String currentDate = formatDate(calendar.getTime());
|
||||||
if (!holidaySet.contains(currentDate)) {
|
if (!holidaySet.contains(currentDate)) {
|
||||||
|
|
|
||||||
|
|
@ -198,4 +198,11 @@
|
||||||
sys_holiday
|
sys_holiday
|
||||||
where type ='1'
|
where type ='1'
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getAttTypeByUserId" resultType="java.lang.String">
|
||||||
|
SELECT att_type
|
||||||
|
FROM
|
||||||
|
att_group_person_relation agpr
|
||||||
|
left join att_group ag on agpr.group_id = ag.id
|
||||||
|
where user_id = #{userId} and agpr.is_active = '1'
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue