导出问题修改

组织问题修改
This commit is contained in:
fl 2025-01-24 18:03:32 +08:00
parent 692d9d5a86
commit c9e4a817b4
7 changed files with 61 additions and 8 deletions

View File

@ -209,7 +209,12 @@ public class AttDetailByMonthController extends BaseController {
dayTable.setEndDate(monthFirstAndLast.get(1));
if(bean.getOrgId() != null){
dayTable.setOrgId(String.valueOf(bean.getOrgId()));
}else{
//受限于当前登录人
if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){
dayTable.setOrgList(bean.getOrgList());
}
}
dayTable.setName(bean.getName());
headers.entrySet()
.forEach(entry -> {
@ -218,9 +223,15 @@ public class AttDetailByMonthController extends BaseController {
att.setAttCurrentMonth(bean.getAttCurrentMonth());
if(bean.getOrgId() != null){
att.setOrgId(Long.valueOf(bean.getOrgId()));
}else{
//受限于当前登录人
if(bean.getOrgList() != null && !bean.getOrgList().isEmpty()){
att.setOrgList(bean.getOrgList());
}
}
att.setUserName(bean.getName());
List<AttDataDetailsBean> list = attendanceDetailsService.getOutCountList(att);
//存在人员换组织情况先查人再去查工作外出
List<AttDataDetailsBean> list = attendanceDetailsService.getOrgUserOutCountList(att);
Sheet departmentSheet2 = exporter.createSheet(entry.getValue());
List<String> departmentHeaders2 = Arrays.asList("序号", "考勤日期", "姓名", "所属部门", "打卡时间", "打卡地址");
exporter.addHeaderRowAndTitle(departmentSheet2, departmentHeaders2, title);

View File

@ -91,4 +91,6 @@ public interface AttendanceDetailsDao {
List<AttDataDetailsBean> getAttDayReportDetailsListData(AttDataDetailsBean bean);
List<AttDataDetailsBean> getAttCountList(AttDataDetailsBean bean);
List<AttDataDetailsBean> getOrgUserOutCountList(@Param("bean") AttDataDetailsBean bean);
}

View File

@ -105,4 +105,6 @@ public interface AttendanceDetailsService {
List<AttDataDetailsBean> getAttDayList(AttDataDetailsBean bean);
List<AttDataDetailsBean> getAttCountList(AttDataDetailsBean bean);
List<AttDataDetailsBean> getOrgUserOutCountList(AttDataDetailsBean bean);
}

View File

@ -230,6 +230,11 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
return attendanceDetailsDao.getAttCountList(bean);
}
@Override
public List<AttDataDetailsBean> getOrgUserOutCountList(AttDataDetailsBean bean) {
return attendanceDetailsDao.getOrgUserOutCountList(bean);
}
public List<AttDayReportBean> getAttDayReportListAll(List<AttDayReportBean> list) {
List<AttDayReportBean> allList = new ArrayList<>();
Map<String, AttDayReportBean> map = list.stream()

View File

@ -163,15 +163,16 @@ public class MsgTasks {
@Async
public void getAttSettingHistoryTask(){
log.info("--------考勤设置历史时间消息推送定时器开启------");
String startDate = "2024-10-01";
String endDate = "2025-01-20";
String startDate = DateUtil.today();
// String endDate = "2025-01-19";
String endDate = DateUtil.today();
List<String> dateList = getStrDateListBetween(startDate, endDate);
if(dateList.isEmpty()){
dateList.add(DateUtil.today());
}
for (String s : dateList) {
List<AttGroupBean> attList = noticeService.getAttSettingHistoryDate(s);
noticeService.insertAttSettingHistoryData(attList);
if(!attList.isEmpty()){
noticeService.insertAttSettingHistoryData(attList);
}
}
log.info("--------考勤设置历史时间消息推送定时器开启------");
}

View File

@ -733,7 +733,8 @@ public class ExportFileController {
}
}
att.setUserName(bean.getUserName());
List<AttDataDetailsBean> list = attendanceDetailsService.getOutCountList(att);
//存在人员换组织情况先查人再去查工作外出
List<AttDataDetailsBean> list = attendanceDetailsService.getOrgUserOutCountList(att);
Sheet departmentSheet2 = exporter.createSheet(entry.getValue());
List<String> departmentHeaders2 = Arrays.asList("序号", "考勤日期", "姓名", "所属部门", "打卡时间", "打卡地址");
exporter.addHeaderRowAndTitle(departmentSheet2, departmentHeaders2, title);

View File

@ -431,6 +431,37 @@
att_current_time ASC
</select>
<select id="getOrgUserOutCountList" resultType="com.bonus.system.att.entity.AttDataDetailsBean">
SELECT
awa.user_name,
so.org_name,
awa.att_current_day,
awa.att_current_time,
awa.att_address
FROM
sys_user_org suo
INNER JOIN att_work_abnormal awa ON suo.user_id = awa.user_id
LEFT JOIN sys_organization so ON so.id = suo.org_id
<where>
suo.is_active = '1'
<if test="bean.attCurrentDay != null and bean.attCurrentDay != ''">
and awa.att_current_day = #{bean.attCurrentDay}
</if>
<if test="bean.attCurrentMonth != null and bean.attCurrentMonth != ''">
and locate(#{bean.attCurrentMonth},awa.att_current_day)
</if>
<if test='bean.orgList != null and bean.orgList.size() > 0'>
and so.id in (
<foreach collection="bean.orgList" item="item" separator=",">
#{item}
</foreach>
)
</if>
</where>
ORDER BY
awa.att_current_day DESC
</select>
<update id="updateAttDetailsData">
<foreach collection="list" item="params" separator=";">
update att_data_update set update_att_current_time = #{params.toWorkAttCurrentTime},