From c4a661c28171e611012fc990045e8e41e2fc3d76 Mon Sep 17 00:00:00 2001
From: andy <1042025947@qq.com>
Date: Mon, 2 Jun 2025 13:31:22 +0800
Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=A1=E5=92=8C=E8=80=83=E5=8B=A4?=
=?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
evo-admin/pom.xml | 6 +-
.../RzAttendanceStatisticalController.java | 6 +-
.../evo/attendance/domain/RzAttendance.java | 12 +-
.../attendance/domain/RzAttendanceDetail.java | 79 +-
.../domain/RzAttendanceStatistical.java | 177 +---
.../domain/vo/RzAttendanceData.java | 7 +
.../attendance/domain/vo/RzAttendanceVo.java | 24 +-
.../mapper/RzAttendanceDetailMapper.java | 7 +-
.../attendance/mapper/RzAttendanceMapper.java | 6 +
.../mapper/RzSpecialAttendanceMapper.java | 8 +-
...unchTheClockStrategyExchangeProcessor.java | 88 ++
.../impl/KQDeviceExchangeProcessor.java | 385 +++++++
.../impl/TSDeviceExchangeProcessor.java | 173 ++++
.../IRzAttendanceStatisticalService.java | 6 +
.../impl/PunchTheClockServiceImpl.java | 936 ++++++++++--------
.../impl/RzAbnormalDetailServiceImpl.java | 44 +-
.../service/impl/RzAttendanceServiceImpl.java | 35 +-
.../RzAttendanceStatisticalServiceImpl.java | 90 +-
.../InsertAndUpdateMybatisHandler.java | 22 +-
.../java/com/evo/common/utils/DateUtils.java | 24 +
.../java/com/evo/common/utils/ParamUtils.java | 56 ++
.../com/evo/equipment/domain/EqButton.java | 62 +-
.../evo/equipment/mapper/EqButtonMapper.java | 3 +-
.../equipment/service/IEqSnDetailService.java | 2 +-
.../service/impl/EqSnDetailServiceImpl.java | 16 +-
.../framework/websocket/WebSocketServer.java | 4 +
.../domain/RzLeaveDetail.java | 5 +
.../personnelMatters/domain/RzOverTime.java | 3 +
.../mapper/EqOverStaffMapper.java | 2 +-
.../mapper/RzLeaveDetailMapper.java | 12 +
.../mapper/RzOverTimeDetailMapper.java | 11 +-
.../impl/RzLeaveDetailServiceImpl.java | 78 +-
.../evo/system/service/ISysStaffService.java | 8 +-
.../service/impl/SysStaffServiceImpl.java | 64 +-
.../system/utils/SubsidyCalculationUtils.java | 38 +-
.../java/com/evo/task/TaskController.java | 48 +-
.../mapper/attendance/RzAttendanceMapper.xml | 6 +
.../attendance/RzSpecialAttendanceMapper.xml | 15 +-
.../mapper/equipment/EqButtonMapper.xml | 1 +
.../personnelMatters/RzLeaveDetailMapper.xml | 17 +
.../RzOverTimeDetailMapper.xml | 21 +
.../mapper/system/SysStaffMapper.xml | 2 +-
42 files changed, 1699 insertions(+), 910 deletions(-)
create mode 100644 evo-admin/src/main/java/com/evo/attendance/processor/PunchTheClockStrategyExchangeProcessor.java
create mode 100644 evo-admin/src/main/java/com/evo/attendance/processor/impl/KQDeviceExchangeProcessor.java
create mode 100644 evo-admin/src/main/java/com/evo/attendance/processor/impl/TSDeviceExchangeProcessor.java
diff --git a/evo-admin/pom.xml b/evo-admin/pom.xml
index de09efc..7906769 100644
--- a/evo-admin/pom.xml
+++ b/evo-admin/pom.xml
@@ -209,7 +209,11 @@
lombok
provided
-
+
+ org.openjdk.nashorn
+ nashorn-core
+ 15.4
+
diff --git a/evo-admin/src/main/java/com/evo/attendance/controller/RzAttendanceStatisticalController.java b/evo-admin/src/main/java/com/evo/attendance/controller/RzAttendanceStatisticalController.java
index 6b66b90..83530c3 100644
--- a/evo-admin/src/main/java/com/evo/attendance/controller/RzAttendanceStatisticalController.java
+++ b/evo-admin/src/main/java/com/evo/attendance/controller/RzAttendanceStatisticalController.java
@@ -5,6 +5,7 @@ import com.evo.common.core.controller.BaseController;
import com.evo.common.core.domain.AjaxResult;
import com.evo.common.core.page.TableDataInfo;
import com.evo.common.enums.BusinessType;
+import com.evo.common.utils.StringUtils;
import com.evo.common.utils.poi.ExcelUtil;
import com.evo.attendance.domain.RzAttendanceStatistical;
import com.evo.attendance.service.IRzAttendanceStatisticalService;
@@ -81,7 +82,10 @@ public class RzAttendanceStatisticalController extends BaseController
@RequestMapping(value = "correct")
public AjaxResult correct(@RequestBody RzAttendanceStatistical rzAttendanceStatistical)
{
- return rzAttendanceStatisticalService.correct(rzAttendanceStatistical);
+ if (StringUtils.isNull(rzAttendanceStatistical) || StringUtils.isNull(rzAttendanceStatistical.getMonth())) {
+ return AjaxResult.error("请输入校正日期!!");
+ }
+ return rzAttendanceStatisticalService.autoCalculateTheDayBeforeAttendance(rzAttendanceStatistical.getMonth());
}
@PreAuthorize("@ss.hasPermi('attendance:statistics:import')")
diff --git a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendance.java b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendance.java
index 88135c0..4644bbc 100644
--- a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendance.java
+++ b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendance.java
@@ -1,9 +1,6 @@
package com.evo.attendance.domain;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -111,7 +108,14 @@ public class RzAttendance extends BaseEntity {
/**
* 删除标识
*/
+ @TableField(fill = FieldFill.INSERT)
private String delFlag;
+ /***
+ * 请假类型
+ */
+ private Long holidayType;
+
+
@TableField(exist = false)
private Date startTime;
@TableField(exist = false)
diff --git a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceDetail.java b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceDetail.java
index b4e83f8..4583b74 100644
--- a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceDetail.java
+++ b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceDetail.java
@@ -3,6 +3,7 @@ package com.evo.attendance.domain;
import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -14,6 +15,7 @@ import java.util.Date;
* @author chenyj
* @date 2024-09-14
*/
+@Data
public class RzAttendanceDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -25,6 +27,10 @@ public class RzAttendanceDetail extends BaseEntity
@Excel(name = "用户id")
private Long staffId;
+ /** 考勤记录Id */
+ @Excel(name = "考勤记录Id")
+ private Long attendanceId;
+
/** 姓名 */
@Excel(name = "姓名")
private String name;
@@ -47,79 +53,6 @@ public class RzAttendanceDetail extends BaseEntity
/** 删除标记 */
private String delFlag;
-
- public void setId(Long id)
- {
- this.id = id;
- }
-
- public Long getId()
- {
- return id;
- }
- public void setStaffId(Long staffId)
- {
- this.staffId = staffId;
- }
-
- public Long getStaffId()
- {
- return staffId;
- }
- public void setName(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
- public void setEquipmentCode(String equipmentCode)
- {
- this.equipmentCode = equipmentCode;
- }
-
- public String getEquipmentCode()
- {
- return equipmentCode;
- }
- public void setButtonType(String buttonType)
- {
- this.buttonType = buttonType;
- }
-
- public String getButtonType()
- {
- return buttonType;
- }
- public void setDateTime(Date dateTime)
- {
- this.dateTime = dateTime;
- }
-
- public Date getDateTime()
- {
- return dateTime;
- }
- public void setDelFlag(String delFlag)
- {
- this.delFlag = delFlag;
- }
-
- public String getDelFlag()
- {
- return delFlag;
- }
-
- public String getRemark() {
- return remark;
- }
-
- public void setRemark(String remark) {
- this.remark = remark;
- }
-
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceStatistical.java b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceStatistical.java
index b6c37a3..ebac7a4 100644
--- a/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceStatistical.java
+++ b/evo-admin/src/main/java/com/evo/attendance/domain/RzAttendanceStatistical.java
@@ -1,8 +1,11 @@
package com.evo.attendance.domain;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.evo.common.annotation.Excel;
import com.evo.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
@@ -15,6 +18,7 @@ import java.util.List;
* @author chenyj
* @date 2024-09-05
*/
+@Data
public class RzAttendanceStatistical extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -33,9 +37,10 @@ public class RzAttendanceStatistical extends BaseEntity
/** 所属部门 */
private Long deptId;
-
+ @TableField(exist = false)
private List deptIds;
@Excel(name = "所属部门")
+ @TableField(exist = false)
private String deptName;
/** 员工姓名 */
@@ -62,7 +67,7 @@ public class RzAttendanceStatistical extends BaseEntity
@Excel(name = "请假时长(小时)")
private BigDecimal absenteeism;
- /** 请假时长(小时) */
+ /** 特殊加班(小时) */
@Excel(name = "特殊加班(小时)")
private BigDecimal overTimeHours;
@@ -87,176 +92,10 @@ public class RzAttendanceStatistical extends BaseEntity
private Long middleShiftNumber;
/** 删除标识 */
+ @TableField(fill = FieldFill.INSERT)
private String delFlag;
- public BigDecimal getOverTimeHours() {
- return overTimeHours;
- }
- public void setOverTimeHours(BigDecimal overTimeHours) {
- this.overTimeHours = overTimeHours;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public List getDeptIds() {
- return deptIds;
- }
-
- public void setDeptIds(List deptIds) {
- this.deptIds = deptIds;
- }
-
- public void setId(Long id)
- {
- this.id = id;
- }
-
- public Long getId()
- {
- return id;
- }
- public void setStaffId(Long staffId)
- {
- this.staffId = staffId;
- }
-
- public Long getStaffId()
- {
- return staffId;
- }
- public void setMonth(Date month)
- {
- this.month = month;
- }
-
- public Date getMonth()
- {
- return month;
- }
-
- public Long getDeptId() {
- return deptId;
- }
-
- public void setDeptId(Long deptId) {
- this.deptId = deptId;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
- public void setShouldAttendance(BigDecimal shouldAttendance)
- {
- this.shouldAttendance = shouldAttendance;
- }
-
- public BigDecimal getShouldAttendance()
- {
- return shouldAttendance;
- }
- public void setRealAttendance(BigDecimal realAttendance)
- {
- this.realAttendance = realAttendance;
- }
-
- public BigDecimal getRealAttendance()
- {
- return realAttendance;
- }
- public void setEssentialAttendance(BigDecimal essentialAttendance)
- {
- this.essentialAttendance = essentialAttendance;
- }
-
- public BigDecimal getEssentialAttendance()
- {
- return essentialAttendance;
- }
- public void setWorkOvertimeNumber(BigDecimal workOvertimeNumber)
- {
- this.workOvertimeNumber = workOvertimeNumber;
- }
-
- public BigDecimal getWorkOvertimeNumber()
- {
- return workOvertimeNumber;
- }
- public void setAbsenteeism(BigDecimal absenteeism)
- {
- this.absenteeism = absenteeism;
- }
-
- public BigDecimal getAbsenteeism()
- {
- return absenteeism;
- }
- public void setLateNumber(Long lateNumber)
- {
- this.lateNumber = lateNumber;
- }
-
- public Long getLateNumber()
- {
- return lateNumber;
- }
- public void setLeaveEarly(Long leaveEarly)
- {
- this.leaveEarly = leaveEarly;
- }
-
- public Long getLeaveEarly()
- {
- return leaveEarly;
- }
- public void setLessNumber(Long lessNumber)
- {
- this.lessNumber = lessNumber;
- }
-
- public Long getLessNumber()
- {
- return lessNumber;
- }
- public void setNightNumber(Long nightNumber)
- {
- this.nightNumber = nightNumber;
- }
-
- public Long getNightNumber()
- {
- return nightNumber;
- }
- public void setMiddleShiftNumber(Long middleShiftNumber)
- {
- this.middleShiftNumber = middleShiftNumber;
- }
-
- public Long getMiddleShiftNumber()
- {
- return middleShiftNumber;
- }
- public void setDelFlag(String delFlag)
- {
- this.delFlag = delFlag;
- }
-
- public String getDelFlag()
- {
- return delFlag;
- }
@Override
public String toString() {
diff --git a/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceData.java b/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceData.java
index fae71ce..fe7cc3c 100644
--- a/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceData.java
+++ b/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceData.java
@@ -8,6 +8,13 @@ public class RzAttendanceData {
return button;
}
+ public RzAttendanceData() {
+ }
+
+ public RzAttendanceData(String button) {
+ this.button = button;
+ }
+
public void setButton(String button) {
this.button = button;
}
diff --git a/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceVo.java b/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceVo.java
index 0108026..b8e4aa0 100644
--- a/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceVo.java
+++ b/evo-admin/src/main/java/com/evo/attendance/domain/vo/RzAttendanceVo.java
@@ -1,28 +1,28 @@
package com.evo.attendance.domain.vo;
+import lombok.Data;
+
+@Data
public class RzAttendanceVo {
private int Result;
private String Msg;
private RzAttendanceData Content;
- public int getResult() {
- return Result;
+
+ public RzAttendanceVo() {
}
- public void setResult(int result) {
+
+ public RzAttendanceVo(int result, String msg) {
Result = result;
- }
- public String getMsg() {
- return Msg;
- }
- public void setMsg(String msg) {
Msg = msg;
}
- public RzAttendanceData getContent() {
- return Content;
- }
- public void setContent(RzAttendanceData content) {
+
+ public RzAttendanceVo(int result, String msg, RzAttendanceData content) {
+ Result = result;
+ Msg = msg;
Content = content;
}
+
@Override
public String toString() {
return "RzAttendanceVo [Result=" + Result + ", Msg=" + Msg + ", Content=" + Content + "]";
diff --git a/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceDetailMapper.java b/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceDetailMapper.java
index be5118c..a08cdbc 100644
--- a/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceDetailMapper.java
+++ b/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceDetailMapper.java
@@ -41,15 +41,12 @@ public interface RzAttendanceDetailMapper extends BaseMapper
public int updateRzAttendanceDetail(RzAttendanceDetail rzAttendanceDetail);
/**
- * 查询员工最后一次上班打卡 计算工时
+ * 查询员工最后一次上班打卡 计算工时 其他地方不可使用
*
* @param staffId
* @return 考勤明细集合
*/
- public default RzAttendanceDetail selectRzAttendanceDetailByStaffId(@Param("staffId") Long staffId) {
- return null;
- }
+ public RzAttendanceDetail selectRzAttendanceDetailByStaffId(@Param("staffId") Long staffId);
public List selectRzAttendanceDetailByMonth(Date date);
-
}
diff --git a/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceMapper.java b/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceMapper.java
index 71821c3..1318af4 100644
--- a/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceMapper.java
+++ b/evo-admin/src/main/java/com/evo/attendance/mapper/RzAttendanceMapper.java
@@ -1,10 +1,14 @@
package com.evo.attendance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.mapper.Mapper;
import com.evo.attendance.domain.RzAttendance;
import org.apache.ibatis.annotations.Param;
+import org.springframework.security.core.parameters.P;
+
import java.util.Date;
import java.util.List;
+import java.util.Map;
/**
* 考勤记录Mapper接口
@@ -80,4 +84,6 @@ public interface RzAttendanceMapper extends BaseMapper {
*/
public List currentDateAllAttendance();
+ List