Bladeren bron

1,考勤节假日不进行初始化,解决节假日缺勤的问题

2,新增查询所有visitor的接口
tags/B.2.6.7_20240112_base
yk 1 jaar geleden
bovenliggende
commit
e4ed222bac
18 gewijzigde bestanden met toevoegingen van 152 en 62 verwijderingen
  1. +2
    -2
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/domain/dto/DmHolidayDto.java
  2. +5
    -2
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/domain/po/DmHolidayPo.java
  3. +23
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/feign/FeignHolidayService.java
  4. +27
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/feign/factory/FeignHolidayFallbackFactory.java
  5. +3
    -0
      xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/staff/feign/RemoteVisitorService.java
  6. +2
    -0
      xueyi-api/xueyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  7. +19
    -7
      xueyi-modules/xueyi-job/src/main/java/com/xueyi/job/task/DgmanTask.java
  8. +14
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/controller/DmHolidayController.java
  9. +2
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/model/DmHolidayConverter.java
  10. +1
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/query/DmHolidayQuery.java
  11. +1
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/manager/IDmHolidayManager.java
  12. +2
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/manager/impl/DmHolidayManager.java
  13. +2
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/mapper/DmHolidayMapper.java
  14. +1
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/service/IDmHolidayService.java
  15. +1
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/service/impl/IDmHolidayServiceImpl.java
  16. +9
    -0
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorApiController.java
  17. +9
    -0
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorInnerApiController.java
  18. +29
    -39
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmStaffServiceImpl.java

xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/dto/DmHolidayDto.java → xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/domain/dto/DmHolidayDto.java Bestand weergeven

@@ -1,7 +1,7 @@
package com.xueyi.system.common.domain.dto;
package com.xueyi.system.api.holiday.domain.dto;


import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import lombok.Data;
import lombok.EqualsAndHashCode;


xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/po/DmHolidayPo.java → xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/domain/po/DmHolidayPo.java Bestand weergeven

@@ -1,4 +1,4 @@
package com.xueyi.system.common.domain.po;
package com.xueyi.system.api.holiday.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.xueyi.common.core.annotation.Excel;
@@ -9,7 +9,10 @@ import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.time.LocalDate;

import static com.xueyi.common.core.constant.basic.EntityConstants.*;
import static com.xueyi.common.core.constant.basic.EntityConstants.DEL_FLAG;
import static com.xueyi.common.core.constant.basic.EntityConstants.REMARK;
import static com.xueyi.common.core.constant.basic.EntityConstants.SORT;
import static com.xueyi.common.core.constant.basic.EntityConstants.STATUS;

@Data
@EqualsAndHashCode(callSuper = true)

+ 23
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/feign/FeignHolidayService.java Bestand weergeven

@@ -0,0 +1,23 @@
package com.xueyi.system.api.holiday.feign;


import com.xueyi.common.core.constant.basic.SecurityConstants;
import com.xueyi.common.core.constant.basic.ServiceConstants;
import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.system.api.holiday.feign.factory.FeignHolidayFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;

/**
* 短信发送服务
*
* @author yrx
*/
@FeignClient(contextId = "feignHolidayService", value = ServiceConstants.SYSTEM_SERVICE, fallbackFactory = FeignHolidayFallbackFactory.class)
public interface FeignHolidayService {

@GetMapping("/holiday/api/todayIsWorkDay")
AjaxResult todayIsWorkDay(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);

}

+ 27
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/holiday/feign/factory/FeignHolidayFallbackFactory.java Bestand weergeven

@@ -0,0 +1,27 @@
package com.xueyi.system.api.holiday.feign.factory;

import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.system.api.holiday.feign.FeignHolidayService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

/**
* 会议室服务 降级处理
*
* @author xueyi
*/
@Slf4j
@Component
public class FeignHolidayFallbackFactory implements FallbackFactory<FeignHolidayService> {

@Override
public FeignHolidayService create(Throwable throwable) {
return new FeignHolidayService() {
@Override
public AjaxResult todayIsWorkDay(String source) {
return AjaxResult.error("工作日服务调用失败:" + throwable.getMessage());
}
};
}
}

+ 3
- 0
xueyi-api/xueyi-api-system/src/main/java/com/xueyi/system/api/staff/feign/RemoteVisitorService.java Bestand weergeven

@@ -40,6 +40,9 @@ public interface RemoteVisitorService {
public JSONObject visitList(@RequestParam(value = "empId") Long empId,
@RequestHeader(SecurityConstants.ENTERPRISE_ID) Long enterpriseId, @RequestHeader(SecurityConstants.SOURCE_NAME) String sourceName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);

@GetMapping(value = "/visit/inner-api/visitors")
public JSONObject visitors(@RequestHeader(SecurityConstants.ENTERPRISE_ID) Long enterpriseId, @RequestHeader(SecurityConstants.SOURCE_NAME) String sourceName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);

@GetMapping(value = "/visit/inner-api/list-all")
public JSONObject visitListAll(@RequestHeader(SecurityConstants.ENTERPRISE_ID) Long enterpriseId, @RequestHeader(SecurityConstants.SOURCE_NAME) String sourceName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);



+ 2
- 0
xueyi-api/xueyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Bestand weergeven

@@ -11,3 +11,5 @@ com.xueyi.system.api.meeting.feign.factory.RemoteMeetingFallbackFactory
com.xueyi.system.api.resource.feign.factory.RemoteH5ConfigFallbackFactory
com.xueyi.system.api.interfaces.airport.feign.factory.RemotePlaneFallbackFactory
com.xueyi.system.api.sms.feign.factory.RemoteSmsFallbackFactory
com.xueyi.system.api.holiday.feign.factory.RemoteHolidayFallbackFactory
com.xueyi.system.api.holiday.feign.factory.FeignHolidayFallbackFactory

+ 19
- 7
xueyi-modules/xueyi-job/src/main/java/com/xueyi/job/task/DgmanTask.java Bestand weergeven

@@ -3,15 +3,15 @@ package com.xueyi.job.task;
import com.alibaba.fastjson2.JSON;
import com.xueyi.common.cache.utils.SourceUtil;
import com.xueyi.common.core.constant.basic.SecurityConstants;
import com.xueyi.common.core.utils.core.StrUtil;
import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.common.core.web.result.R;
import com.xueyi.common.security.service.TokenService;
import com.xueyi.system.api.digitalmans.feign.RemoteManDeviceService;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import com.xueyi.system.api.holiday.feign.FeignHolidayService;
import com.xueyi.system.api.model.Source;
import com.xueyi.system.api.staff.feign.RemoteStaffService;
import com.xueyi.tenant.api.tenant.domain.dto.TeTenantDto;
import com.xueyi.tenant.api.tenant.feign.RemoteTenantService;
import org.antlr.runtime.Token;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -36,8 +36,11 @@ public class DgmanTask {
@Autowired
RemoteStaffService staffService;

@Autowired
FeignHolidayService feignHolidayService;

public void ryParams(String params) {
log.info(StrUtil.format("执行有参方法:参数{}", params));
log.info("执行有参方法:参数{}", params);
}

public void dgmanMonitor() {
@@ -46,10 +49,10 @@ public class DgmanTask {
log.info("租户列表获取失败");
return;
}
listR.getData().forEach(item->{
listR.getData().forEach(item->
// 更新租户内数字人信息
remoteManDeviceService.manDeviceListInnerSync(item.getId());
});
remoteManDeviceService.manDeviceListInnerSync(item.getId())
);
log.info("监控心跳执行完成");
}

@@ -65,6 +68,15 @@ public class DgmanTask {

public void initStaffAttendances() {
log.info("=======考勤数据初始化开始。。。。========");
AjaxResult result = feignHolidayService.todayIsWorkDay(SecurityConstants.INNER);
if (result !=null && result.get("data") != null){
DmHolidayPo po = JSON.parseObject(JSON.toJSONString(result.get("data")), DmHolidayPo.class);
if (po.getHoliday() == 1){
log.info("=======今天不是工作日,不进行考勤数据初始化========");
return;
}
}

R<List<TeTenantDto>> listR = tenantService.tenantList();
if (listR.isFail()) {
log.info("租户列表获取失败");


+ 14
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/controller/DmHolidayController.java Bestand weergeven

@@ -2,9 +2,11 @@ package com.xueyi.system.common.controller;

import com.alibaba.fastjson2.JSONObject;
import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.common.security.annotation.InnerAuth;
import com.xueyi.common.web.annotation.TenantIgnore;
import com.xueyi.common.web.entity.controller.BaseController;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.feign.RemoteHolidayService;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.query.DmHolidayQuery;
import com.xueyi.system.common.service.IDmHolidayService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,17 +32,27 @@ public class DmHolidayController extends BaseController<DmHolidayQuery, DmHolida
* 获取今天是否为工作日
*/
@GetMapping("/api/getTodayIsWorkDay")
@TenantIgnore(tenantLine = true)
AjaxResult getTodayIsWorkDay() {
return success(baseService.getTodayHoliday());
}

@GetMapping("/api/todayIsWorkDay")
@TenantIgnore(tenantLine = true)
@InnerAuth
AjaxResult todayIsWorkDay() {
return success(baseService.getTodayHoliday());
}

/**
* 调用外部接口,获取本年度节假日信息
*/
@GetMapping("/getHolidays")
AjaxResult getHolidays() {
JSONObject holidays = holidayService.getHolidays();
return AjaxResult.success();
return AjaxResult.success(holidays);
}



}

+ 2
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/model/DmHolidayConverter.java Bestand weergeven

@@ -1,8 +1,8 @@
package com.xueyi.system.common.domain.model;

import com.xueyi.common.core.web.entity.model.BaseConverter;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import com.xueyi.system.common.domain.query.DmHolidayQuery;
import org.mapstruct.Mapper;
import org.mapstruct.MappingConstants;


+ 1
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/domain/query/DmHolidayQuery.java Bestand weergeven

@@ -1,5 +1,5 @@
package com.xueyi.system.common.domain.query;
import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import lombok.Data;
import lombok.EqualsAndHashCode;



+ 1
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/manager/IDmHolidayManager.java Bestand weergeven

@@ -1,7 +1,7 @@
package com.xueyi.system.common.manager;

import com.xueyi.common.web.entity.manager.IBaseManager;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.query.DmHolidayQuery;

/**


+ 2
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/manager/impl/DmHolidayManager.java Bestand weergeven

@@ -3,9 +3,9 @@ package com.xueyi.system.common.manager.impl;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xueyi.common.web.entity.manager.impl.BaseManagerImpl;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import com.xueyi.system.common.domain.model.DmHolidayConverter;
import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.common.domain.query.DmHolidayQuery;
import com.xueyi.system.common.manager.IDmHolidayManager;
import com.xueyi.system.common.mapper.DmHolidayMapper;


+ 2
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/mapper/DmHolidayMapper.java Bestand weergeven

@@ -2,8 +2,8 @@ package com.xueyi.system.common.mapper;

import com.xueyi.common.datasource.annotation.Master;
import com.xueyi.common.web.entity.mapper.BaseMapper;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import com.xueyi.system.common.domain.query.DmHolidayQuery;

/**


+ 1
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/service/IDmHolidayService.java Bestand weergeven

@@ -1,7 +1,7 @@
package com.xueyi.system.common.service;

import com.xueyi.common.web.entity.service.IBaseService;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.query.DmHolidayQuery;

import java.util.Date;


+ 1
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/common/service/impl/IDmHolidayServiceImpl.java Bestand weergeven

@@ -2,7 +2,7 @@ package com.xueyi.system.common.service.impl;

import cn.hutool.core.date.LocalDateTimeUtil;
import com.xueyi.common.web.entity.service.impl.BaseServiceImpl;
import com.xueyi.system.common.domain.dto.DmHolidayDto;
import com.xueyi.system.api.holiday.domain.dto.DmHolidayDto;
import com.xueyi.system.common.domain.query.DmHolidayQuery;
import com.xueyi.system.common.manager.IDmHolidayManager;
import com.xueyi.system.common.service.IDmHolidayService;


+ 9
- 0
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorApiController.java Bestand weergeven

@@ -6,6 +6,7 @@ import com.xueyi.common.core.web.vo.DeviceTenantSourceMergeVo;
import com.xueyi.system.api.staff.domain.dto.DmVisitCommonDto;
import com.xueyi.system.api.staff.feign.RemoteVisitorService;
import com.xueyi.system.resource.controller.api.MyBaseApiController;
import com.xueyi.system.staff.domain.query.DmVisitorsQuery;
import com.xueyi.system.staff.mapper.DmStaffMapper;
import com.xueyi.system.staff.mapper.DmVisitRecordsMapper;
import com.xueyi.system.staff.mapper.DmVisitorsMapper;
@@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@@ -68,6 +70,13 @@ public class DmVisitorApiController extends MyBaseApiController {

}

@GetMapping(value = "visitors")
@ResponseBody
public JSONObject visitors(@RequestParam("devId") String devId){
DeviceTenantSourceMergeVo vo = super.getDeviceTenantSourceMergeVo(devId);
return visitorService.visitors(vo.getTenantId(), vo.getSourceSlave(), SecurityConstants.INNER);
}

@PostMapping(value = "new-visitor")
@ResponseBody
public JSONObject newVisit(@RequestBody DmVisitCommonDto commonDto){


+ 9
- 0
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmVisitorInnerApiController.java Bestand weergeven

@@ -364,6 +364,15 @@ public class DmVisitorInnerApiController extends MyBaseApiController {
return outputSuccess(json).toJSON();
}

@InnerAuth
@GetMapping(value = "visitors")
public com.alibaba.fastjson2.JSONObject visitors(){
JSONObject json = new JSONObject();
List<DmVisitorsPo> v = dmVisitorsMapper.selectList(null);
json.put("data", v);
return outputSuccess(json).toJSON();
}


@Autowired
private SmsProperties smsProperties;


+ 29
- 39
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmStaffServiceImpl.java Bestand weergeven

@@ -2,15 +2,16 @@ package com.xueyi.system.staff.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.xueyi.common.core.utils.core.ObjectUtil;
import com.xueyi.common.web.annotation.TenantIgnore;
import com.xueyi.common.web.entity.service.impl.BaseServiceImpl;
import com.xueyi.common.web.utils.MyDateUtils;
import com.xueyi.system.api.holiday.domain.po.DmHolidayPo;
import com.xueyi.system.api.organize.domain.vo.SysDeptExt;
import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo;
import com.xueyi.system.api.staff.domain.dto.DmStaffDto;
import com.xueyi.system.api.staff.domain.po.DmStaffPo;
import com.xueyi.system.api.staff.domain.vo.DmStaffFeature;
import com.xueyi.system.common.domain.po.DmHolidayPo;
import com.xueyi.system.common.service.IDmHolidayService;
import com.xueyi.system.organize.mapper.SysDeptExtMapper;
import com.xueyi.system.staff.domain.po.DmEmpAttendancePo;
@@ -24,12 +25,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* 人员管理 服务层处理
@@ -39,26 +37,19 @@ import java.util.Map;
@Service
public class DmStaffServiceImpl extends BaseServiceImpl<DmStaffQuery, DmStaffDto, IDmStaffManager> implements IDmStaffService {

// Map<String, Integer> STATUS_TYPE = MapUtil.;

private Logger logger = LoggerFactory.getLogger(DmStaffServiceImpl.class);
private Map<String, Integer> statusMap;

public static final Integer ATTENDANCE_STATUS_NORMAL = 0;
public static final Integer ATTENDANCE_STATUS_BE_LATER = 1;
public static final Integer ATTENDANCE_STATUS_LEAVE_EARLY = 2;
public static final Integer ATTENDANCE_STATUS_ABSENCE = 3;
public static final Integer ATTENDANCE_STATUS_OVERTIME = 4;
public static final Integer ATTENDANCE_STATUS_LATER_AND_EARLY = 6;


@Autowired
private IDmHolidayService holidayService;

@PostConstruct
public void initializeMap() {
// 初始化Map
statusMap = new HashMap<>();
statusMap.put("NORMAL", 0);
statusMap.put("BE_LATER", 1);
statusMap.put("LEAVE_EARLY", 2);
statusMap.put("ABSENCE", 3);
statusMap.put("OVERTIME", 4);
statusMap.put("LATER_AND_EARLY", 6);
// 继续初始化其他常量...
}
@Autowired
DmStaffMapper staffMapper;

@@ -88,7 +79,6 @@ public class DmStaffServiceImpl extends BaseServiceImpl<DmStaffQuery, DmStaffDto
@TenantIgnore(tenantLine = true)
public List<DmStaffPo> selectStaffList(DmStaffPo staff) {
List<DmStaffPo> result = staffMapper.selectStaffList(staff);
List<DmStaffPo> po = staffMapper.selectList(null);
return result;
}

@@ -140,19 +130,21 @@ public class DmStaffServiceImpl extends BaseServiceImpl<DmStaffQuery, DmStaffDto
attendancePo.setUserId(po.getId());
attendancePo.setUserName(po.getUserName());
attendancePo.setTenantId(po.getTenantId());
attendancePo.setDescStatus(3);
attendancePo.setDescStatus(ATTENDANCE_STATUS_ABSENCE);
attendancePo.setUserType(Long.parseLong(po.getUserType()));
attendancePo.setDeptId(po.getDeptId());
attendancePo.setDateStr(MyDateUtils.formatDate(new Date(), MyDateUtils.DEFAULT_DATE_PATTERN));
attendancePos.add(attendancePo);
}
}
if (attendancePos.size() > 0) {
if (!attendancePos.isEmpty()) {
dmEmpAttendanceMapper.insertBatch(attendancePos);
}
}


public void updateOrInsertAttendance(DmRecognizedRecordsPo checkRecords) {
if (null == checkRecords.getUserId()) {
if (ObjectUtil.isNull(checkRecords.getUserId())) {
return ;
}
Long userId = checkRecords.getUserId();
@@ -189,35 +181,33 @@ public class DmStaffServiceImpl extends BaseServiceImpl<DmStaffQuery, DmStaffDto
}

if (MyDateUtils.formatDate(checkTime, MyDateUtils.DEFAULT_TIME_PATTERN).compareTo(ext.getOffDutyHourStart()) < 0) {
if (statusMap.get("NORMAL") == empAttendance.getDescStatus()) {
empAttendance.setDescStatus(statusMap.get("LEAVE_EARLY"));
} else if (statusMap.get("BE_LATER") == empAttendance.getDescStatus()){
empAttendance.setDescStatus(statusMap.get("LATER_AND_EARLY"));
if (ATTENDANCE_STATUS_NORMAL == empAttendance.getDescStatus()) {
empAttendance.setDescStatus(ATTENDANCE_STATUS_LEAVE_EARLY);
} else if (ATTENDANCE_STATUS_BE_LATER == empAttendance.getDescStatus()){
empAttendance.setDescStatus(ATTENDANCE_STATUS_LATER_AND_EARLY);
}
} else { //如果修改考勤时间,则对应修改考勤状态
if (statusMap.get("LATER_AND_EARLY") == empAttendance.getDescStatus()) {
empAttendance.setDescStatus(statusMap.get("BE_LATER"));
} else if (statusMap.get("LEAVE_EARLY") == empAttendance.getDescStatus()){
empAttendance.setDescStatus(statusMap.get("NORMAL"));
if (ATTENDANCE_STATUS_LATER_AND_EARLY == empAttendance.getDescStatus()) {
empAttendance.setDescStatus(ATTENDANCE_STATUS_BE_LATER);
} else if (ATTENDANCE_STATUS_LEAVE_EARLY == empAttendance.getDescStatus()){
empAttendance.setDescStatus(ATTENDANCE_STATUS_NORMAL);
}
}
QueryWrapper<DmEmpAttendancePo> wrapper = new QueryWrapper<>();
wrapper.eq("id",empAttendance.getId());
dmEmpAttendanceMapper.update(empAttendance, wrapper);
dmEmpAttendanceMapper.updateById(empAttendance);

} else {
DmEmpAttendancePo ea = new DmEmpAttendancePo();
Date checkDate = checkTime;
ea.setCheckInTime(checkDate);
DmHolidayPo holidayPo = holidayService.isHoliday(checkDate);
if (MyDateUtils.formatDate(checkDate, MyDateUtils.DEFAULT_TIME_PATTERN).compareTo(ext.getOnDutyHourEnd()) > 0) {
ea.setDescStatus(statusMap.get("BE_LATER")); // 迟到
if (MyDateUtils.formatDate(checkDate, MyDateUtils.DEFAULT_TIME_PATTERN).compareTo(ext.getOnDutyHourEnd()) > 0) {//识别时间比考勤上班打卡最晚时间更晚
ea.setDescStatus(ATTENDANCE_STATUS_BE_LATER); // 迟到
if (holidayPo.getHoliday() == 1) {
ea.setDescStatus(statusMap.get("OVERTIME"));
ea.setDescStatus(ATTENDANCE_STATUS_OVERTIME);
}
} else {
} else {//识别时间比考勤上班打卡最晚时间早
if (holidayPo.getHoliday() == 1) {
ea.setDescStatus(statusMap.get("OVERTIME"));
ea.setDescStatus(ATTENDANCE_STATUS_OVERTIME);
}
}



Laden…
Annuleren
Opslaan