Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
37416e2539
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -39,4 +39,6 @@ public interface LeaveReportingDao {
|
|||
List<LeaveReportingBean> getUserList(@Param("params")LeaveReportingBean bean);
|
||||
|
||||
List<LeaveReportingBean> getFestivalAndHoliday(LeaveReportingBean bean);
|
||||
|
||||
String getAttTypeByUserId(Long userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
Loading…
Reference in New Issue