Commit 11e6d06f authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents 4c64198e 0ae0e771
...@@ -195,6 +195,16 @@ ...@@ -195,6 +195,16 @@
</properties> </properties>
</profile> </profile>
<profile>
<id>qiling</id>
<properties>
<profiles.active>qiling</profiles.active>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.sms.smsSendUrl>http://sms.wx3.com.cn/api/index/index</profiles.sms.smsSendUrl>
<profiles.sms.apiId>ADsUXLrS81vZDU95</profiles.sms.apiId>
</properties>
</profile>
</profiles> </profiles>
<dependencies> <dependencies>
......
package com.mortals.xhx.module.attendance.model; package com.mortals.xhx.module.attendance.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.xhx.module.attendance.model.vo.AttendanceVacationRecordVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceVacationRecordVo;
......
...@@ -81,6 +81,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -81,6 +81,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
@Override @Override
public void doHandleWork(CommonData commonData) { public void doHandleWork(CommonData commonData) {
this.commonData = commonData; this.commonData = commonData;
//todo 从缓存中获取
AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(new AttendanceGroupFixedworkQuery() AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(new AttendanceGroupFixedworkQuery()
.groupId(commonData.getAttendanceGroupEntity().getId())); .groupId(commonData.getAttendanceGroupEntity().getId()));
Map<Long, AttendanceClassEntity> classEntityMap = commonData.getClassEntityMap(); Map<Long, AttendanceClassEntity> classEntityMap = commonData.getClassEntityMap();
...@@ -94,7 +95,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -94,7 +95,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
String week = super.getWeek(DateUtil.parseDate(commonData.getDateStr())); String week = super.getWeek(DateUtil.parseDate(commonData.getDateStr()));
//获取当前日期的详细班次 //获取当前日期的详细班次
Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week); Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week);
//weekClassId为-1 则不在考勤 //weekClassId为-1 则不在考勤 todo 优化
Boolean checkWorkByHoliday = checkWorkByHoliday(commonData.getDateStr()); Boolean checkWorkByHoliday = checkWorkByHoliday(commonData.getDateStr());
Boolean checkHolidayByWorkDay = checkHolidayByWorkDay(commonData.getDateStr()); Boolean checkHolidayByWorkDay = checkHolidayByWorkDay(commonData.getDateStr());
if (weekClassId == -1L) { if (weekClassId == -1L) {
...@@ -117,6 +118,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -117,6 +118,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
leaveRecordQuery.setLeavePersonId(commonData.getStaffId()); leaveRecordQuery.setLeavePersonId(commonData.getStaffId());
leaveRecordQuery.setAuditResultList(Arrays.asList(1, 4)); leaveRecordQuery.setAuditResultList(Arrays.asList(1, 4));
boolean isLeave = false; boolean isLeave = false;
//todo 从缓存中获取
List<AttendanceLeaveRecordEntity> leaveRecordEntities = attendanceLeaveRecordService.find(leaveRecordQuery); List<AttendanceLeaveRecordEntity> leaveRecordEntities = attendanceLeaveRecordService.find(leaveRecordQuery);
List<AttendanceLeaveRecordEntity> leaveRecords = null; List<AttendanceLeaveRecordEntity> leaveRecords = null;
if (!ObjectUtils.isEmpty(leaveRecordEntities)) { if (!ObjectUtils.isEmpty(leaveRecordEntities)) {
...@@ -453,17 +455,17 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -453,17 +455,17 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
} }
//删除当前员工当日未处理的异常后,重新添加 处理的 不做删除 //删除当前员工当日未处理的异常后,重新添加 处理的 不做删除
//deleteErrorRecord(dateStr, attendanceRecordEntity.getStaffId(), context); deleteErrorRecord(dateStr, attendanceRecordEntity.getStaffId(), context);
//todo 级联删除优化 耗时50秒 //todo 级联删除优化 耗时50秒
deleteErrorRecordCache(attendanceRecordEntity.getStaffId(), context); //deleteErrorRecordCache(attendanceRecordEntity.getStaffId(), context);
if (!ObjectUtils.isEmpty(errorEntityList)) { if (!ObjectUtils.isEmpty(errorEntityList)) {
//过滤异常列表中存在相同的记录 //过滤异常列表中存在相同的记录
errorEntityList = errorEntityList.stream().distinct().collect(Collectors.toList()); errorEntityList = errorEntityList.stream().distinct().collect(Collectors.toList());
for (AttendanceRecordErrorEntity errorEntity : errorEntityList) { for (AttendanceRecordErrorEntity errorEntity : errorEntityList) {
//查看是否存在相同的异常记录,如果存在 则不添加 todo 非数据库查询方式判断优化 //查看是否存在相同的异常记录,如果存在 则不添加 todo 非数据库查询方式判断优化
List<AttendanceRecordErrorEntity> attendanceRecordErrorEntities = commonData.getErrorGroupStaffMap().getOrDefault(attendanceRecordEntity.getStaffId(), new ArrayList<>(0)); List<AttendanceRecordErrorEntity> attendanceRecordErrorEntities = commonData.getErrorGroupStaffMap().getOrDefault(attendanceRecordEntity.getStaffId(), new ArrayList<>(0));
checkAndSaveCache(context, attendanceRecordErrorEntities, errorEntity); // checkAndSaveCache(context, attendanceRecordErrorEntities, errorEntity);
// checkAndSave(context, errorEntity); checkAndSave(context, errorEntity);
} }
} }
} }
...@@ -493,8 +495,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -493,8 +495,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
Long[] errorIds = delErrorList.stream().map(i -> i.getId()).toArray(Long[]::new); Long[] errorIds = delErrorList.stream().map(i -> i.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(errorIds)) { if (!ObjectUtils.isEmpty(errorIds)) {
//log.info("删除 {} 人员:{} 异常记录:{}",dateStr,staffId, JSON.toJSONString(attendanceRecordErrorEntities)); //log.info("删除 {} 人员:{} 异常记录:{}",dateStr,staffId, JSON.toJSONString(attendanceRecordErrorEntities));
// StopWatch stopWatch = new StopWatch(); // StopWatch stopWatch = new StopWatch();
// stopWatch.start("删除异常记录耗时"); // stopWatch.start("删除异常记录耗时");
//todo 耗时长,删除优化 //todo 耗时长,删除优化
errorService.getDao().delete(errorIds); errorService.getDao().delete(errorIds);
/* /*
...@@ -547,8 +549,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -547,8 +549,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
} }
} }
// stopWatch.stop(); // stopWatch.stop();
// log.info("删除异常记录耗时:{}ms", stopWatch.getLastTaskTimeMillis()); // log.info("删除异常记录耗时:{}ms", stopWatch.getLastTaskTimeMillis());
} }
} }
......
...@@ -29,6 +29,6 @@ public class ScheduleWorkAttendance extends AttendanceWorkAbstract { ...@@ -29,6 +29,6 @@ public class ScheduleWorkAttendance extends AttendanceWorkAbstract {
@Override @Override
public void doHandleWork(CommonData commonData) { public void doHandleWork(CommonData commonData) {
//todo //todo
} }
} }
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
...@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* *
...@@ -35,4 +37,10 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC ...@@ -35,4 +37,10 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC
super.init(model, context); super.init(model, context);
} }
@Override
protected void doListAfter(AttendanceVacationRecordEntity query, List<AttendanceVacationRecordEntity> list, Context context) throws AppException {
super.doListAfter(query, list, context);
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment