From 10d2b693b28f6b780191961da2f9d076f6395718 Mon Sep 17 00:00:00 2001
From: guoshengxiong <1923636941@qq.com>
Date: Wed, 25 Jun 2025 16:44:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=87=91=E6=B9=BE=EF=BC=8C=E6=96=B0?=
=?UTF-8?q?=E8=80=83=E5=8B=A4bug=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../worker/entity/WorkerAttendanceRuleV2ChangeLog.java | 4 ++--
.../mapper/xml/WorkerAttendanceRuleV2ChangeLogMapper.xml | 4 ++--
.../impl/WorkerAttendanceRuleV2ChangeLogServiceImpl.java | 4 +++-
.../impl/WorkerDailyAttendanceStatisticsV2ServiceImpl.java | 3 +++
4 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerAttendanceRuleV2ChangeLog.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerAttendanceRuleV2ChangeLog.java
index e37661274..d10c63fe6 100644
--- a/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerAttendanceRuleV2ChangeLog.java
+++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/WorkerAttendanceRuleV2ChangeLog.java
@@ -55,14 +55,14 @@ public class WorkerAttendanceRuleV2ChangeLog implements Serializable {
@ApiModelProperty(value = "生效时间开始")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private java.util.Date effect_begin;
+ private java.util.Date effectBegin;
/**
* 生效时间结束
*/
@ApiModelProperty(value = "生效时间结束")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private java.util.Date effect_end;
+ private java.util.Date effectEnd;
/**
* 创建时间
*/
diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceRuleV2ChangeLogMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceRuleV2ChangeLogMapper.xml
index c4b5d0101..d5096f04f 100644
--- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceRuleV2ChangeLogMapper.xml
+++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceRuleV2ChangeLogMapper.xml
@@ -19,14 +19,14 @@
UPDATE worker_attendance_rule_v2_change_log w1
JOIN (
- SELECT worker_id, MAX(effect_end) AS latest_time
+ SELECT worker_id, MAX(effect_begin) AS latest_time
FROM worker_attendance_rule_v2_change_log
where worker_id in
#{item}
GROUP BY worker_id
- ) w2 ON w1.worker_id = w2.worker_id AND w1.effect_end = w2.latest_time
+ ) w2 ON w1.worker_id = w2.worker_id AND w1.effect_begin = w2.latest_time
SET w1.effect_end = NOW()
diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceRuleV2ChangeLogServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceRuleV2ChangeLogServiceImpl.java
index 4dc28c069..3fd5006d5 100644
--- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceRuleV2ChangeLogServiceImpl.java
+++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceRuleV2ChangeLogServiceImpl.java
@@ -19,6 +19,7 @@ import com.zhgd.xmgl.util.RefUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -51,7 +52,7 @@ public class WorkerAttendanceRuleV2ChangeLogServiceImpl extends ServiceImpl getQueryWrapper(HashMap param) {
QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(WorkerAttendanceRuleV2ChangeLogVo.class, param, true);
- queryWrapper.orderByDesc(RefUtil.fieldNameUlc(WorkerAttendanceRuleV2ChangeLogVo::getId));
+ queryWrapper.orderByDesc(RefUtil.fieldNameUlc(WorkerAttendanceRuleV2ChangeLogVo::getEffectBegin));
return queryWrapper;
}
@@ -104,6 +105,7 @@ public class WorkerAttendanceRuleV2ChangeLogServiceImpl extends ServiceImpl 1) {
//计算跨夜工时按零点结算到前后两天
for (int i = 1; i < attendances.size(); i++) {
+ if (attendances.get(i).getPassType() != 2) {
+ continue;
+ }
long betweenMs = DateUtil.betweenMs(attendances.get(i - 1).getDate(), attendances.get(i).getDate());
BigDecimal hours = new BigDecimal(betweenMs).divide(new BigDecimal(DateUnit.HOUR.getMillis()), 2, RoundingMode.HALF_UP);
hour = hour.add(hours);