Merge remote-tracking branch 'origin/main'

This commit is contained in:
史宗金 2025-01-22 13:08:43 +08:00
commit 37416e2539
4 changed files with 27 additions and 7 deletions

View File

@ -661,7 +661,6 @@ public class ExportFileController {
}
}
}
MultiSheetExcelExporter exporter = new MultiSheetExcelExporter();
//将表格时间区间取出来做标题
String title = bean.getMonth();
@ -712,6 +711,11 @@ public class ExportFileController {
dayTable.setEndDate(monthFirstAndLast.get(1));
if (bean.getOrgId() != null) {
dayTable.setOrgId(String.valueOf(bean.getOrgId()));
}else{
//受限于当前登录人
if(!bean.getOrgList().isEmpty()){
dayTable.setOrgList(bean.getOrgList());
}
}
dayTable.setName(bean.getUserName());
headers.entrySet()
@ -721,6 +725,11 @@ public class ExportFileController {
att.setAttCurrentMonth(bean.getMonth());
if (bean.getOrgId() != null) {
att.setOrgId(bean.getOrgId());
}else{
//受限于当前登录人
if(!bean.getOrgList().isEmpty()){
att.setOrgList(bean.getOrgList());
}
}
att.setUserName(bean.getUserName());
List<AttDataDetailsBean> list = attendanceDetailsService.getOutCountList(att);

View File

@ -39,4 +39,6 @@ public interface LeaveReportingDao {
List<LeaveReportingBean> getUserList(@Param("params")LeaveReportingBean bean);
List<LeaveReportingBean> getFestivalAndHoliday(LeaveReportingBean bean);
String getAttTypeByUserId(Long userId);
}

View File

@ -123,24 +123,26 @@ public class LeaveReportingServiceImpl implements LeaveReportingService {
@Override
public LeaveReportingBean getDays(LeaveReportingBean bean) {
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> holidaySet = new HashSet<>();
for (LeaveReportingBean holiday : holidays) {
holidaySet.add(holiday.getDate());
}
Date startDate = null;
startDate = parseDate(String.valueOf(bean.getLeaveStartDate()));
Date endDate = parseDate(String.valueOf(bean.getLeaveEndDate()));
Calendar calendar = Calendar.getInstance();
calendar.setTime(startDate);
int totalDays = 0;
while (!calendar.getTime().after(endDate)) {
String currentDate = formatDate(calendar.getTime());
if (!holidaySet.contains(currentDate)) {

View File

@ -198,4 +198,11 @@
sys_holiday
where type ='1'
</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>