Commit 1f9ff2f7 authored by 姬鋆屾's avatar 姬鋆屾

tui

parents d8098646 4ba915c8
...@@ -147,7 +147,7 @@ export default { ...@@ -147,7 +147,7 @@ export default {
{ label: "员工姓名", prop: "staffName", fixed: "left", width: 100 }, { label: "员工姓名", prop: "staffName", fixed: "left", width: 100 },
{ label: "工号", prop: "workNum" }, { label: "工号", prop: "workNum" },
{ label: "部门", prop: "deptName" }, { label: "部门", prop: "deptName" },
{ label: "考勤组", prop: "attendanceGroupId" }, { label: "考勤组", prop: "attendanceGroupName" },
/* {label: "班次", prop: "shiftsName"},*/ /* {label: "班次", prop: "shiftsName"},*/
{ {
label: "异常状态", label: "异常状态",
......
package com.mortals.xhx.common.utils;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.model.vo.StaffCheckSummaryQuery;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import com.mortals.xhx.utils.SpringUtils;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
* 考勤核查后续处理线程
*
* @author:
* @date: 2023/7/17 14:42
*/
@RequiredArgsConstructor
@Slf4j
public class AttendSummaryThread implements Runnable {
@NonNull
private AttendanceStatService attendanceStatService;
@NonNull
private AttendanceSummaryQuery query;
@Override
public void run() {
// AttendanceSummaryQuery query = new AttendanceSummaryQuery();
// query.setStaffId(entity.getStaffId());
// query.setSummaryTime(DateUtils.getStrDate(entity.getErrorDateTime()));
if (StringUtils.isNotEmpty(query.getSummaryTimeStart()) && StringUtils.isNotEmpty(query.getSummaryTimeEnd())) {
List<String> dateList = getDatesBetween(query.getSummaryTimeStart(), query.getSummaryTimeEnd());
for (String day : dateList) {
AttendanceSummaryQuery temp = new AttendanceSummaryQuery(day);
attendanceStatService.doAttendanceSummary(temp);
}
} else {
attendanceStatService.doAttendanceSummary(query);
}
}
private List<String> getDatesBetween(String startDateStr, String endDateStr) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate startDate = LocalDate.parse(startDateStr, formatter);
LocalDate endDate = LocalDate.parse(endDateStr, formatter);
List<String> dates = new ArrayList<>();
//这里是判断开始日期是否在结束日期之后或者=结束日期
while (startDate.isBefore(endDate) || startDate.isEqual(endDate)) {
String add = startDate.format(formatter);
dates.add(add);
startDate = startDate.plusDays(1);
}
return dates;
}
}
package com.mortals.xhx.daemon.applicationservice;
import com.mortals.framework.springcloud.service.IApplicationStartedService;
import com.mortals.framework.util.ThreadPool;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class StartService implements IApplicationStartedService {
@Override
public void start() {
ThreadPool.getInstance().init(20);
}
@Override
public void stop() {
log.info("停止服务..");
}
@Override
public int getOrder() {
return 10;
}
}
package com.mortals.xhx.module.attendance.service.impl; package com.mortals.xhx.module.attendance.service.impl;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.utils.AttendSummaryThread;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -16,4 +22,19 @@ import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService; ...@@ -16,4 +22,19 @@ import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService;
@Service("attendanceLeaveRecordService") @Service("attendanceLeaveRecordService")
public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<AttendanceLeaveRecordDao, AttendanceLeaveRecordEntity, Long> implements AttendanceLeaveRecordService { public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<AttendanceLeaveRecordDao, AttendanceLeaveRecordEntity, Long> implements AttendanceLeaveRecordService {
@Autowired
private AttendanceStatService attendanceStatService;
@Override
protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException {
super.updateAfter(entity,context);
if(entity.getAuditResult()==1){
AttendanceSummaryQuery query = new AttendanceSummaryQuery();
query.setStaffId(entity.getLeavePersonId());
query.setSummaryTimeStart(DateUtils.getStrDate(entity.getStartTime()));
query.setSummaryTimeEnd(DateUtils.getStrDate(entity.getEndTime()));
AttendSummaryThread summaryThread = new AttendSummaryThread(attendanceStatService, query);
ThreadPool.getInstance().execute(summaryThread);
}
}
} }
\ No newline at end of file
...@@ -6,10 +6,12 @@ import com.mortals.framework.model.PageInfo; ...@@ -6,10 +6,12 @@ import com.mortals.framework.model.PageInfo;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.DateUtils; import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.busiz.h5.req.AttendSaveReq; import com.mortals.xhx.busiz.h5.req.AttendSaveReq;
import com.mortals.xhx.busiz.h5.web.ApiWebPerformController; import com.mortals.xhx.busiz.h5.web.ApiWebPerformController;
import com.mortals.xhx.common.code.ErrorStatusEnum; import com.mortals.xhx.common.code.ErrorStatusEnum;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.utils.AttendSummaryThread;
import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity; import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery; import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
import com.mortals.xhx.module.attendance.service.*; import com.mortals.xhx.module.attendance.service.*;
...@@ -149,7 +151,8 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -149,7 +151,8 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
AttendanceSummaryQuery query = new AttendanceSummaryQuery(); AttendanceSummaryQuery query = new AttendanceSummaryQuery();
query.setStaffId(entity.getStaffId()); query.setStaffId(entity.getStaffId());
query.setSummaryTime(DateUtils.getStrDate(entity.getErrorDateTime())); query.setSummaryTime(DateUtils.getStrDate(entity.getErrorDateTime()));
attendanceStatService.doAttendanceSummary(query); AttendSummaryThread summaryThread = new AttendSummaryThread(attendanceStatService, query);
ThreadPool.getInstance().execute(summaryThread);
} }
} }
} }
......
...@@ -155,7 +155,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -155,7 +155,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
if (StringUtils.isEmpty(query.getSummaryTime())) { if (StringUtils.isEmpty(query.getSummaryTime())) {
Calendar now = Calendar.getInstance(); Calendar now = Calendar.getInstance();
now.setTime(new Date()); now.setTime(new Date());
now.add(Calendar.DAY_OF_MONTH, -1); //默认查最近30天数据 now.add(Calendar.DAY_OF_MONTH, -1); //默认查前一天数据
query.setSummaryTime(DateUtils.getStrDate(now.getTime())); query.setSummaryTime(DateUtils.getStrDate(now.getTime()));
} }
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
......
...@@ -88,7 +88,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -88,7 +88,7 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
this.addDict(model, "processResult", ErrorStatusEnum.getEnumMap()); this.addDict(model, "processResult", ErrorStatusEnum.getEnumMap());
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError", "processStatus")); this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError", "processStatus"));
this.addDict(model, "deptId", deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeptName()))); this.addDict(model, "deptId", deptService.find(new DeptQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getDeptName())));
this.addDict(model, "groupId", attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getGroupName()))); this.addDict(model, "attendanceGroupId", attendanceGroupService.find(new AttendanceGroupQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getGroupName())));
this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName()))); this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName())));
super.init(model, context); super.init(model, context);
} }
......
...@@ -230,7 +230,7 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf ...@@ -230,7 +230,7 @@ public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<Perf
recordEntity.setCategoryName(rule.getCategoryName()); recordEntity.setCategoryName(rule.getCategoryName());
recordEntity.setDeductPerson("系统管理员"); recordEntity.setDeductPerson("系统管理员");
recordEntity.setDeductTime(new Date()); recordEntity.setDeductTime(new Date());
recordEntity.setCreateUserId(this.getContextUserId(context)); recordEntity.setCreateUserId(1L);
recordEntity.setCreateTime(new Date()); recordEntity.setCreateTime(new Date());
recordEntity.setWorkNum(staffEntity.getWorkNum()); recordEntity.setWorkNum(staffEntity.getWorkNum());
PerformRulesCategoryEntity categoryEntity = categoryService.get(rule.getCategoryId()); PerformRulesCategoryEntity categoryEntity = categoryService.get(rule.getCategoryId());
......
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