Commit 9298d6ee authored by 赵啸非's avatar 赵啸非

测试多线程优化考勤计算

parent 1ac2c160
...@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; ...@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.code.*; import com.mortals.xhx.common.code.*;
import com.mortals.xhx.module.attendance.model.*; import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.*; import com.mortals.xhx.module.attendance.service.*;
...@@ -152,7 +153,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -152,7 +153,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
*/ */
for (Map.Entry<Long, List<AttendanceRecordHikEntity>> itemEntry : listMap.entrySet()) { for (Map.Entry<Long, List<AttendanceRecordHikEntity>> itemEntry : listMap.entrySet()) {
//按人员 //按人员 todo 改为多线程并行计算
Runnable runnable = new Runnable() {
@Override
public void run() {
List<AttendanceRecordEntity> saveList = new ArrayList<>(); List<AttendanceRecordEntity> saveList = new ArrayList<>();
List<AttendanceRecordEntity> updateList = new ArrayList<>(); List<AttendanceRecordEntity> updateList = new ArrayList<>();
Long staffId = itemEntry.getKey(); Long staffId = itemEntry.getKey();
...@@ -177,7 +183,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -177,7 +183,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
attendanceRecordEntity.setWorkNum(item.getWorkNum()); attendanceRecordEntity.setWorkNum(item.getWorkNum());
attendanceRecordEntity.setAttendanceDate(item.getAttendanceDate()); attendanceRecordEntity.setAttendanceDate(item.getAttendanceDate());
attendanceRecordEntity.setCreateTime(item.getAttendanceDate()); attendanceRecordEntity.setCreateTime(item.getAttendanceDate());
attendanceRecordEntity.setCreateUserId(this.getContextUserId(context)); attendanceRecordEntity.setCreateUserId(attendanceRecordHikService.getContextUserId(context));
StaffEntity staffEntity = staffService.getExtCache(staffId.toString()); StaffEntity staffEntity = staffService.getExtCache(staffId.toString());
if (ObjectUtils.isEmpty(staffEntity)) { if (ObjectUtils.isEmpty(staffEntity)) {
...@@ -285,7 +291,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -285,7 +291,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if (!ObjectUtils.isEmpty(recordEntity)) { if (!ObjectUtils.isEmpty(recordEntity)) {
attendanceRecordEntity.setId(recordEntity.getId()); attendanceRecordEntity.setId(recordEntity.getId());
attendanceRecordEntity.setUpdateTime(new Date()); attendanceRecordEntity.setUpdateTime(new Date());
attendanceRecordEntity.setUpdateUserId(this.getContextUserId(context)); attendanceRecordEntity.setUpdateUserId(attendanceRecordHikService.getContextUserId(context));
updateList.add(attendanceRecordEntity); updateList.add(attendanceRecordEntity);
} else { } else {
saveList.add(attendanceRecordEntity); saveList.add(attendanceRecordEntity);
...@@ -305,9 +311,15 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -305,9 +311,15 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
attendanceRecordService.update(attendanceRecordEntity, context); attendanceRecordService.update(attendanceRecordEntity, context);
}*/ }*/
} }
} }
};
ThreadPool.getInstance().execute(runnable);
}
} }
......
...@@ -536,10 +536,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -536,10 +536,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorEntity attendanceRecordErrorEntity = errorService.selectOne(errorQuery, context); AttendanceRecordErrorEntity attendanceRecordErrorEntity = errorService.selectOne(errorQuery, context);
if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) { if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) {
errorService.save(errorEntity, context); errorService.save(errorEntity, context);
} else {
/* errorEntity.setId(attendanceRecordErrorEntity.getId());
errorService.update(errorEntity,context);*/
log.info("已经存在相同的已处理异常记录,不保存!");
} }
} }
} }
......
...@@ -37,8 +37,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord ...@@ -37,8 +37,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Content-Type: application/json Content-Type: application/json
{ {
"attendanceDateStart": "2024-07-19", "attendanceDateStart": "2024-07-01",
"attendanceDateEnd": "2024-07-19" "attendanceDateEnd": "2024-08-15"
} }
###海康考勤打卡记录计算1 ###海康考勤打卡记录计算1
......
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