测试bug修改
This commit is contained in:
parent
2bd3cfd8d9
commit
9cc90a50b8
|
|
@ -139,4 +139,10 @@ public interface AttGroupDao {
|
||||||
* @date 2025/2/18 13:49
|
* @date 2025/2/18 13:49
|
||||||
*/
|
*/
|
||||||
List<AttDataBean> getUserInfo(@Param("params") AttGroupBean bean, @Param("list") List<AttGroupCheckOrgBean> addList);
|
List<AttDataBean> getUserInfo(@Param("params") AttGroupBean bean, @Param("list") List<AttGroupCheckOrgBean> addList);
|
||||||
|
/**
|
||||||
|
* 查询用户是否有考勤组
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getPersonAttGroup(Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,4 +127,11 @@ public interface AttCalService {
|
||||||
* @param attSourceList 考勤数据
|
* @param attSourceList 考勤数据
|
||||||
*/
|
*/
|
||||||
void insertAttSourceData(List<AttSourceDataBean> attSourceList);
|
void insertAttSourceData(List<AttSourceDataBean> attSourceList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户是否有考勤组
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getPersonAttGroup(Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -476,6 +476,11 @@ public class AttCalServiceImpl implements AttCalService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPersonAttGroup(Long userId) {
|
||||||
|
return attGroupDao.getPersonAttGroup(userId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查出每一个考勤组的应出勤天数以及考勤组的规则
|
* 查出每一个考勤组的应出勤天数以及考勤组的规则
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@ public class AttGroupServiceImpl implements AttGroupService {
|
||||||
if (!delList.isEmpty()) {
|
if (!delList.isEmpty()) {
|
||||||
//删除考勤组绑定人员
|
//删除考勤组绑定人员
|
||||||
attGroupDao.deleteAttGroupPersonByUserId(delList);
|
attGroupDao.deleteAttGroupPersonByUserId(delList);
|
||||||
|
//删除考勤组修改月考勤天数
|
||||||
|
delAttGroup(delList);
|
||||||
}
|
}
|
||||||
if (!addList.isEmpty()) {
|
if (!addList.isEmpty()) {
|
||||||
//添加考勤组绑定人员
|
//添加考勤组绑定人员
|
||||||
|
|
@ -153,6 +155,49 @@ public class AttGroupServiceImpl implements AttGroupService {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void delAttGroup(List<AttGroupCheckOrgBean> delList) {
|
||||||
|
String nowDate = DateUtil.today();
|
||||||
|
delList.forEach(m -> {
|
||||||
|
int i = attCalService.getMonthReportTempData(m.getUserId(),nowDate);
|
||||||
|
AtomicLong requiredDays = new AtomicLong();
|
||||||
|
StringBuilder requiredDaysRemark = new StringBuilder();
|
||||||
|
//查询历史考勤规则,方便分组计算
|
||||||
|
List<AttGroupBean> dataList = attCalService.getAttSettingHistoryByUserAndDate(m.getUserId(),nowDate);
|
||||||
|
if (!dataList.isEmpty()) {
|
||||||
|
List<List<AttGroupBean>> result = new ArrayList<>();
|
||||||
|
List<AttGroupBean> currentList = new ArrayList<>();
|
||||||
|
//查出考勤组
|
||||||
|
List<AttGroupBean> groupList = attCalService.getSimplyGroupData();
|
||||||
|
List<Holiday> holidays = attSourceDataDao.selectHolidayByMonth(nowDate);
|
||||||
|
Long currentGroupId = dataList.get(0).getGroupId();
|
||||||
|
for (AttGroupBean data : dataList) {
|
||||||
|
if (!Objects.equals(data.getGroupId(), currentGroupId)) {
|
||||||
|
result.add(currentList);
|
||||||
|
currentList = new ArrayList<>();
|
||||||
|
currentGroupId = data.getGroupId();
|
||||||
|
}
|
||||||
|
currentList.add(data);
|
||||||
|
}
|
||||||
|
result.add(currentList);
|
||||||
|
result.forEach(v -> {
|
||||||
|
List<AttGroupBean> collect = groupList.stream().filter(g -> Objects.equals(g.getGroupId(), v.get(0).getGroupId())).collect(Collectors.toList());
|
||||||
|
if(!collect.isEmpty()){
|
||||||
|
//应考勤天数
|
||||||
|
List<String> attDayList = WorkdayCalculator.getWorkDay(collect.get(0).getAttDay(),
|
||||||
|
collect.get(0).getIsHaveHoliday(), holidays, v.get(0).getCurrentDay(),v.get(v.size()-1).getCurrentDay());
|
||||||
|
requiredDays.addAndGet(attDayList.size());
|
||||||
|
requiredDaysRemark.append(v.get(0).getCurrentDay()).append("-").append(v.get(v.size()-1).getCurrentDay())
|
||||||
|
.append("在").append(collect.get(0).getGroupName()).append(",应考勤").append(attDayList.size()).append("天;");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(i>0){
|
||||||
|
//存在,属于修改考勤组需要修改月报表考勤天数
|
||||||
|
attCalService.updateMonthReportRequiredDay(m.getUserId(),nowDate,requiredDays.get(),requiredDaysRemark.toString());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增的人员
|
* 新增的人员
|
||||||
* 考勤人员列表
|
* 考勤人员列表
|
||||||
|
|
|
||||||
|
|
@ -362,7 +362,10 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
||||||
String attCurrentMonth = bean.getAttCurrentMonth() + "-01";
|
String attCurrentMonth = bean.getAttCurrentMonth() + "-01";
|
||||||
//查询历史考勤规则,方便分组计算
|
//查询历史考勤规则,方便分组计算
|
||||||
List<AttGroupBean> dataList = attCalService.getAttSettingHistoryByUserAndDate(String.valueOf(bean.getUserId()),attCurrentMonth);
|
List<AttGroupBean> dataList = attCalService.getAttSettingHistoryByUserAndDate(String.valueOf(bean.getUserId()),attCurrentMonth);
|
||||||
|
//查询那个人是否还在考勤组,如果不再了,就不需要不全当月剩余时间
|
||||||
|
int i = attCalService.getPersonAttGroup(bean.getUserId());
|
||||||
AtomicLong requiredDays = new AtomicLong();
|
AtomicLong requiredDays = new AtomicLong();
|
||||||
|
if(i>0){
|
||||||
//以最后一个考勤规则补全剩下当月日期所有考勤规则数据
|
//以最后一个考勤规则补全剩下当月日期所有考勤规则数据
|
||||||
// 获取最后一个数据的日期
|
// 获取最后一个数据的日期
|
||||||
AttGroupBean lastData = dataList.get(dataList.size() - 1);
|
AttGroupBean lastData = dataList.get(dataList.size() - 1);
|
||||||
|
|
@ -374,6 +377,7 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService {
|
||||||
LocalDate newDate = lastDate.withDayOfMonth(day);
|
LocalDate newDate = lastDate.withDayOfMonth(day);
|
||||||
dataList.add(new AttGroupBean(lastData.getUserId(), lastData.getGroupId(), newDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
|
dataList.add(new AttGroupBean(lastData.getUserId(), lastData.getGroupId(), newDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!dataList.isEmpty()) {
|
if (!dataList.isEmpty()) {
|
||||||
List<List<AttGroupBean>> result = new ArrayList<>();
|
List<List<AttGroupBean>> result = new ArrayList<>();
|
||||||
List<AttGroupBean> currentList = new ArrayList<>();
|
List<AttGroupBean> currentList = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public class NewAttTask {
|
||||||
/**
|
/**
|
||||||
* 考勤模版数据定时器 凌晨10分启动一次,一天仅仅一次
|
* 考勤模版数据定时器 凌晨10分启动一次,一天仅仅一次
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 10 0 * * ?")
|
// @Scheduled(cron = "0 10 0 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getAttTempDataTask() {
|
public void getAttTempDataTask() {
|
||||||
log.info("--------考勤模版数据定时器开启------");
|
log.info("--------考勤模版数据定时器开启------");
|
||||||
|
|
@ -44,7 +44,7 @@ public class NewAttTask {
|
||||||
* 1.数据拉取(考勤)定时器 每隔1个小时获取一次数据(从早上 5 点开始,每小时执行一次)
|
* 1.数据拉取(考勤)定时器 每隔1个小时获取一次数据(从早上 5 点开始,每小时执行一次)
|
||||||
* 2.考勤数据应用(步骤一:考勤数据更新)
|
* 2.考勤数据应用(步骤一:考勤数据更新)
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 5-23 * * ?")
|
// @Scheduled(cron = "0 0 5-23 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getAttDataPullTask() {
|
public void getAttDataPullTask() {
|
||||||
log.info("--------数据拉取(考勤)定时器开启------");
|
log.info("--------数据拉取(考勤)定时器开启------");
|
||||||
|
|
@ -59,7 +59,7 @@ public class NewAttTask {
|
||||||
* 1.数据拉取(考勤)定时器
|
* 1.数据拉取(考勤)定时器
|
||||||
* 2.考勤数据应用(步骤一:考勤数据更新)
|
* 2.考勤数据应用(步骤一:考勤数据更新)
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 40 8 * * ?")
|
// @Scheduled(cron = "0 40 8 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getEightAttDataPullTask() {
|
public void getEightAttDataPullTask() {
|
||||||
log.info("--------数据拉取(考勤)定时器开启------");
|
log.info("--------数据拉取(考勤)定时器开启------");
|
||||||
|
|
@ -75,7 +75,7 @@ public class NewAttTask {
|
||||||
* 每天12点将当天未打卡考勤人员上班置为旷工
|
* 每天12点将当天未打卡考勤人员上班置为旷工
|
||||||
* 每天晚上22点,将下班未打卡置为旷工
|
* 每天晚上22点,将下班未打卡置为旷工
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 12,22 * * ?")
|
// @Scheduled(cron = "0 0 12,22 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getAbsenteeismDataTask() {
|
public void getAbsenteeismDataTask() {
|
||||||
log.info("--------旷工判断定时器开启------");
|
log.info("--------旷工判断定时器开启------");
|
||||||
|
|
@ -89,7 +89,7 @@ public class NewAttTask {
|
||||||
* 昨日下班卡更新
|
* 昨日下班卡更新
|
||||||
* 每天7点将昨天数据更新一下
|
* 每天7点将昨天数据更新一下
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 7 * * ?")
|
// @Scheduled(cron = "0 0 7 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getYesterdayAttDataTask() {
|
public void getYesterdayAttDataTask() {
|
||||||
log.info("--------昨日下班卡更新定时器开启------");
|
log.info("--------昨日下班卡更新定时器开启------");
|
||||||
|
|
@ -107,7 +107,7 @@ public class NewAttTask {
|
||||||
* 请假数据应用--法假
|
* 请假数据应用--法假
|
||||||
* 每天更新一次,1点更新
|
* 每天更新一次,1点更新
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 1 * * ?")
|
// @Scheduled(cron = "0 0 1 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getLegalHolidayDataTask() {
|
public void getLegalHolidayDataTask() {
|
||||||
log.info("--------请假数据应用--法假定时器开启------");
|
log.info("--------请假数据应用--法假定时器开启------");
|
||||||
|
|
@ -120,7 +120,7 @@ public class NewAttTask {
|
||||||
* 请假数据应用--请假
|
* 请假数据应用--请假
|
||||||
* 每天更新两次上午8点,下午18点(45天前数据)
|
* 每天更新两次上午8点,下午18点(45天前数据)
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 8,18 * * ?")
|
// @Scheduled(cron = "0 0 8,18 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getLeaveDataTask() {
|
public void getLeaveDataTask() {
|
||||||
log.info("--------请假数据应用--请假定时器开启------");
|
log.info("--------请假数据应用--请假定时器开启------");
|
||||||
|
|
@ -134,7 +134,7 @@ public class NewAttTask {
|
||||||
* 报表数据生成--日报表
|
* 报表数据生成--日报表
|
||||||
* 6点10分开始,一小时更新一次
|
* 6点10分开始,一小时更新一次
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 10 6-23 * * ?")
|
// @Scheduled(cron = "0 10 6-23 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getDayReportDataTask() {
|
public void getDayReportDataTask() {
|
||||||
log.info("--------报表数据生成--日报表定时器开启------");
|
log.info("--------报表数据生成--日报表定时器开启------");
|
||||||
|
|
@ -148,7 +148,7 @@ public class NewAttTask {
|
||||||
* 报表数据生成--月报表
|
* 报表数据生成--月报表
|
||||||
* 月初生成,之后修改
|
* 月初生成,之后修改
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 15 1 1 * ?")
|
// @Scheduled(cron = "0 15 1 1 * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getMonthReportDataTempTask() {
|
public void getMonthReportDataTempTask() {
|
||||||
log.info("--------报表数据生成--月报表定时器开启------");
|
log.info("--------报表数据生成--月报表定时器开启------");
|
||||||
|
|
@ -161,7 +161,7 @@ public class NewAttTask {
|
||||||
* 报表数据生成--月报表
|
* 报表数据生成--月报表
|
||||||
* 每日数据变化修改之后修改
|
* 每日数据变化修改之后修改
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 8,10,17,19,23 * * ?")
|
// @Scheduled(cron = "0 0 8,10,17,19,23 * * ?")
|
||||||
@Async
|
@Async
|
||||||
public void getMonthReportDataTask() {
|
public void getMonthReportDataTask() {
|
||||||
log.info("--------报表数据生成--月报表定时器开启------");
|
log.info("--------报表数据生成--月报表定时器开启------");
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ public class WechatTasks {
|
||||||
/**
|
/**
|
||||||
* 人员基础数据同步定时器
|
* 人员基础数据同步定时器
|
||||||
*/
|
*/
|
||||||
@Scheduled(initialDelay = 60000, fixedDelay = 60000 * 15)
|
// @Scheduled(initialDelay = 60000, fixedDelay = 60000 * 15)
|
||||||
@Async
|
@Async
|
||||||
public void pushPersonTask() {
|
public void pushPersonTask() {
|
||||||
log.info("--------人员基础数据同步定时器开启------");
|
log.info("--------人员基础数据同步定时器开启------");
|
||||||
|
|
@ -84,7 +84,7 @@ public class WechatTasks {
|
||||||
/**
|
/**
|
||||||
* 休假出差数据同步定时器
|
* 休假出差数据同步定时器
|
||||||
*/
|
*/
|
||||||
@Scheduled(initialDelay = 60000 * 6, fixedDelay = 60000 * 15)
|
// @Scheduled(initialDelay = 60000 * 6, fixedDelay = 60000 * 15)
|
||||||
@Async
|
@Async
|
||||||
public void leaveTask() {
|
public void leaveTask() {
|
||||||
log.info("--------休假出差数据定时器开启------");
|
log.info("--------休假出差数据定时器开启------");
|
||||||
|
|
@ -169,7 +169,7 @@ public class WechatTasks {
|
||||||
/**
|
/**
|
||||||
* 考勤数据同步定时器
|
* 考勤数据同步定时器
|
||||||
*/
|
*/
|
||||||
@Scheduled(initialDelay = 60000 * 12, fixedDelay = 60000 * 15)
|
// @Scheduled(initialDelay = 60000 * 12, fixedDelay = 60000 * 15)
|
||||||
@Async
|
@Async
|
||||||
public void wechatAttTask() {
|
public void wechatAttTask() {
|
||||||
log.info("--------考勤数据定时器开启------");
|
log.info("--------考勤数据定时器开启------");
|
||||||
|
|
|
||||||
|
|
@ -222,6 +222,7 @@ public class ExportFileController {
|
||||||
HolidayBean vo = personLists.get(i);
|
HolidayBean vo = personLists.get(i);
|
||||||
vo.setId((i + 1));
|
vo.setId((i + 1));
|
||||||
vo.setExamineStatus(BusinessConstants.WAIT_CHECK.equals(vo.getExamineStatus()) ? "待审核" : BusinessConstants.PASS_CHECK.equals(vo.getExamineStatus()) ? "已通过" : BusinessConstants.NOT_PASS_CHECK.equals(vo.getExamineStatus()) ? "未通过" : "撤回");
|
vo.setExamineStatus(BusinessConstants.WAIT_CHECK.equals(vo.getExamineStatus()) ? "待审核" : BusinessConstants.PASS_CHECK.equals(vo.getExamineStatus()) ? "已通过" : BusinessConstants.NOT_PASS_CHECK.equals(vo.getExamineStatus()) ? "未通过" : "撤回");
|
||||||
|
vo.setIsTrain("1".equals(vo.getIsTrain())?"是" : "否");
|
||||||
//事件处理
|
//事件处理
|
||||||
if ("1".equals(vo.getLeaveStartInterval())) {
|
if ("1".equals(vo.getLeaveStartInterval())) {
|
||||||
vo.setLeaveStartInterval(vo.getLeaveStartDate() + " 上午");
|
vo.setLeaveStartInterval(vo.getLeaveStartDate() + " 上午");
|
||||||
|
|
@ -288,6 +289,13 @@ public class ExportFileController {
|
||||||
}
|
}
|
||||||
|
|
||||||
List<AttDataDetailsBean> attList;
|
List<AttDataDetailsBean> attList;
|
||||||
|
//结束日期过滤,最新日期不能大于当天
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
LocalDate endDate = LocalDate.parse(bean.getEndDate(), formatter);
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
|
if (endDate.isAfter(today)) {
|
||||||
|
bean.setEndDate(today.toString());
|
||||||
|
}
|
||||||
if ("考勤明细".equals(bean.getExportType())) {
|
if ("考勤明细".equals(bean.getExportType())) {
|
||||||
attList = attendanceDetailsService.exportAttDetailsList(bean);
|
attList = attendanceDetailsService.exportAttDetailsList(bean);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -362,7 +370,7 @@ public class ExportFileController {
|
||||||
.anyMatch(attDay -> dayStr.equals(attDay.getCurrentDay()));
|
.anyMatch(attDay -> dayStr.equals(attDay.getCurrentDay()));
|
||||||
// 如果不存在,则添加新的 AttDayBean 记录
|
// 如果不存在,则添加新的 AttDayBean 记录
|
||||||
if (!dayExists) {
|
if (!dayExists) {
|
||||||
listAttDay.add(new AttDayBean(dayStr, "旷", ""));
|
listAttDay.add(new AttDayBean(dayStr, "/", ""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -412,22 +420,13 @@ public class ExportFileController {
|
||||||
|
|
||||||
// 导出标题
|
// 导出标题
|
||||||
ExcelWriter writer = ExcelUtil.getWriter(true);
|
ExcelWriter writer = ExcelUtil.getWriter(true);
|
||||||
// writer.merge(0,0,0,2 + days.size(),
|
|
||||||
// "考勤表",true);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// writer.merge(1,1,0,2 + days.size(),
|
|
||||||
// bean.getStartDate() + "至" + bean.getEndDate() + "考勤",true);
|
|
||||||
// writer.merge(2,2,0,2 + days.size(),
|
|
||||||
// "部门:",true);
|
|
||||||
|
|
||||||
writer.merge(2 + days.size(),
|
writer.merge(2 + days.size(),
|
||||||
bean.getStartDate() + "至" + bean.getEndDate() + "考勤", true);
|
bean.getStartDate() + "至" + bean.getEndDate() + "考勤", true);
|
||||||
int rowNum = 2;
|
int rowNum = 2;
|
||||||
writer.merge(rowNum + listData.size(), rowNum + listData.size() + 1, 0, 0,
|
writer.merge(rowNum + listData.size(), rowNum + listData.size() + 1, 0, 0,
|
||||||
"说明", false);
|
"说明", false);
|
||||||
writer.merge(rowNum + listData.size(), rowNum + listData.size(), 1, 2 + days.size(),
|
writer.merge(rowNum + listData.size(), rowNum + listData.size(), 1, 2 + days.size(),
|
||||||
"1.考勤记录:出勤记“√”,出差记“Δ”,年休假记“年”,探亲假记“探”,事假记“事”,法定假记“法”,病假记“病”,产假记“产”,婚假记“婚”,丧假记“丧”,育儿假记“育”,陪护假记“陪”,补休记“补”,旷工记“旷”,迟到记“迟”,早退记“退”,流产假记“流”,哺乳假记“哺”,节育假记“节”,父母护理假记“护”,其他记“其他”,省内工地记“工”,省外工地记“外”,出差需在备注栏备注清楚出差地点。", false);
|
"1.考勤记录:出勤记“√”,出差记“Δ”,年休假记“年”,探亲假记“探”,事假记“事”,法定假记“法”,病假记“病”,产假记“产”,婚假记“婚”,丧假记“丧”,育儿假记“育”,陪护假记“陪”,补休记“补”,旷工记“旷”,迟到记“迟”,早退记“退”,流产假记“流”,哺乳假记“哺”,节育假记“节”,父母护理假记“护”,其他记“其他”,省内工地记“工”,省外工地记“外”,未在考勤组记“/”,出差需在备注栏备注清楚出差地点。", false);
|
||||||
writer.merge(rowNum + listData.size() + 1, rowNum + listData.size() + 1, 1, 2 + days.size(),
|
writer.merge(rowNum + listData.size() + 1, rowNum + listData.size() + 1, 1, 2 + days.size(),
|
||||||
"2.员工有关请假凭证,记录清楚准确,与本表于次月3日前一并报人力资源管理部门(专业分公司报送时间为30日前)。", false);
|
"2.员工有关请假凭证,记录清楚准确,与本表于次月3日前一并报人力资源管理部门(专业分公司报送时间为30日前)。", false);
|
||||||
writer.autoSizeColumn(3);
|
writer.autoSizeColumn(3);
|
||||||
|
|
@ -526,11 +525,13 @@ public class ExportFileController {
|
||||||
try {
|
try {
|
||||||
List<SysOrgHistoryBean> orgHistoryList = sysOrgService.getOrgHistoryList(bean);
|
List<SysOrgHistoryBean> orgHistoryList = sysOrgService.getOrgHistoryList(bean);
|
||||||
for (int i = 0; i < orgHistoryList.size(); i++) {
|
for (int i = 0; i < orgHistoryList.size(); i++) {
|
||||||
|
SysOrgHistoryBean o = orgHistoryList.get(i);
|
||||||
|
o.setId(i + 1L);
|
||||||
// 创建一个 SimpleDateFormat 对象,用于格式化日期
|
// 创建一个 SimpleDateFormat 对象,用于格式化日期
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
// 将 Date 转换为 String
|
// 将 Date 转换为 String
|
||||||
String dateString = formatter.format(orgHistoryList.get(i).getChangeTime());
|
String dateString = formatter.format(o.getChangeTime());
|
||||||
orgHistoryList.get(i).setUpdateTime(dateString);
|
o.setUpdateTime(dateString);
|
||||||
}
|
}
|
||||||
extracted(orgHistoryList, SysOrgHistoryBean.class, "组织变更记录", "组织变更记录", "组织变更记录导出", response);
|
extracted(orgHistoryList, SysOrgHistoryBean.class, "组织变更记录", "组织变更记录", "组织变更记录导出", response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,7 @@ public class HolidayBean extends BaseBean {
|
||||||
/**
|
/**
|
||||||
* 是否培训 1 是 0 否
|
* 是否培训 1 是 0 否
|
||||||
*/
|
*/
|
||||||
|
@Excel(name = "是否培训", width = 20.0,height = 20.0, orderNum = "8")
|
||||||
private String isTrain;
|
private String isTrain;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,12 @@
|
||||||
#{item.userId}
|
#{item.userId}
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getPersonAttGroup" resultType="java.lang.Integer">
|
||||||
|
select count(1)
|
||||||
|
from att_group_person_relation agpr
|
||||||
|
where agpr.user_id = #{userId}
|
||||||
|
and agpr.is_active = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteAttGroup">
|
<delete id="deleteAttGroup">
|
||||||
update att_group
|
update att_group
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@
|
||||||
lat as attLat,
|
lat as attLat,
|
||||||
IF(attendance_external = '外勤打卡', 1, 2) as isOutsideAtt,
|
IF(attendance_external = '外勤打卡', 1, 2) as isOutsideAtt,
|
||||||
'1' as dataSource
|
'1' as dataSource
|
||||||
from gz_cloud.fc_sup_attendance sup
|
from gz_cloud_test.fc_sup_attendance sup
|
||||||
where sup.attendance_date = #{pushDate}
|
where sup.attendance_date = #{pushDate}
|
||||||
and is_wechat != 1
|
and is_wechat != 1
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -363,7 +363,7 @@
|
||||||
AND la.examine_status = 1
|
AND la.examine_status = 1
|
||||||
AND sdd.dict_value IS NOT NULL
|
AND sdd.dict_value IS NOT NULL
|
||||||
AND
|
AND
|
||||||
(leave_start_date BETWEEN #{pushDate} - INTERVAL 15 DAY
|
(leave_start_date BETWEEN #{pushDate} - INTERVAL 1 DAY
|
||||||
and #{pushDate}
|
and #{pushDate}
|
||||||
or #{pushDate} between leave_start_date and leave_end_date
|
or #{pushDate} between leave_start_date and leave_end_date
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
<insert id="pushAttDataToQsy">
|
<insert id="pushAttDataToQsy">
|
||||||
<foreach collection="list" item="item" separator=";">
|
<foreach collection="list" item="item" separator=";">
|
||||||
replace INTO gz_cloud.fc_sup_attendance (
|
replace INTO gz_cloud_test.fc_sup_attendance (
|
||||||
name,
|
name,
|
||||||
id_number,
|
id_number,
|
||||||
org_id,
|
org_id,
|
||||||
|
|
@ -203,7 +203,7 @@
|
||||||
If(PROJECT_ID is null,0,PROJECT_ID) AS proId,
|
If(PROJECT_ID is null,0,PROJECT_ID) AS proId,
|
||||||
If(ORG_ID is null,0,ORG_ID) AS orgId
|
If(ORG_ID is null,0,ORG_ID) AS orgId
|
||||||
FROM
|
FROM
|
||||||
gz_cloud.bm_sup_attend_history
|
gz_cloud_test.bm_sup_attend_history
|
||||||
WHERE
|
WHERE
|
||||||
ID_NUMBER = #{idNumber}
|
ID_NUMBER = #{idNumber}
|
||||||
limit 1
|
limit 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue