From c5c478b1e997cb23c356d3085c8112e61feabe0c Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 15 May 2026 13:13:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(attendance):=20=E6=B7=BB=E5=8A=A0=E8=80=83?= =?UTF-8?q?=E5=8B=A4=E6=A3=80=E6=9F=A5=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsAttendanceCheckService 中新增 updateByBo 方法 - 扩展 WmsAttendanceCheckBo 类继承 BaseEntity 并添加多个考勤字段 - 添加考勤状态、迟到早退分钟数、扣款金额等相关属性 - 在控制器中实现 PUT 请求的编辑接口 - 添加 EditGroup 验证组支持 - 实现服务层 updateByBo 方法进行数据库更新操作 --- .../WmsAttendanceCheckController.java | 8 +++++++ .../klp/domain/bo/WmsAttendanceCheckBo.java | 23 ++++++++++++++++++- .../service/IWmsAttendanceCheckService.java | 2 ++ .../impl/WmsAttendanceCheckServiceImpl.java | 8 +++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceCheckController.java b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceCheckController.java index bce2b9b0..5548eddf 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceCheckController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceCheckController.java @@ -5,6 +5,7 @@ import com.klp.common.core.controller.BaseController; import com.klp.common.core.domain.PageQuery; import com.klp.common.core.domain.R; import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.domain.bo.AttendanceCheckBo; import com.klp.domain.bo.WmsAttendanceCheckBo; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -55,4 +57,10 @@ public class WmsAttendanceCheckController extends BaseController { iWmsAttendanceCheckService.checkAttendance(bo); return R.ok(); } + + @Log(title = "考勤比对", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@Validated(EditGroup.class) @RequestBody WmsAttendanceCheckBo bo) { + return toAjax(iWmsAttendanceCheckService.updateByBo(bo)); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceCheckBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceCheckBo.java index 94d75732..079fbfed 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceCheckBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsAttendanceCheckBo.java @@ -1,14 +1,19 @@ package com.klp.domain.bo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.core.domain.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; @Data -public class WmsAttendanceCheckBo { +@EqualsAndHashCode(callSuper = true) +public class WmsAttendanceCheckBo extends BaseEntity { + private Long checkId; private Long userId; private String employeeName; private Long shiftId; @@ -20,4 +25,20 @@ public class WmsAttendanceCheckBo { @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date endDate; + + private Integer p1LateMinutes; + private Integer p1EarlyMinutes; + private String p1Status; + private BigDecimal p1Deduct; + + private Integer p2LateMinutes; + private Integer p2EarlyMinutes; + private String p2Status; + private BigDecimal p2Deduct; + + private String absentType; + private Integer continuousAbsentDays; + private BigDecimal totalDeduct; + private String overallStatus; + private String remark; } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceCheckService.java b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceCheckService.java index f392c3f2..5a78ba07 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceCheckService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceCheckService.java @@ -20,4 +20,6 @@ public interface IWmsAttendanceCheckService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); void checkAttendance(AttendanceCheckBo bo); + + Boolean updateByBo(WmsAttendanceCheckBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java index 2f090a30..c69278a3 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceCheckServiceImpl.java @@ -1,5 +1,6 @@ package com.klp.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -77,6 +78,13 @@ public class WmsAttendanceCheckServiceImpl implements IWmsAttendanceCheckService return baseMapper.deleteBatchIds(ids) > 0; } + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(WmsAttendanceCheckBo bo) { + WmsAttendanceCheck update = BeanUtil.toBean(bo, WmsAttendanceCheck.class); + return baseMapper.updateById(update) > 0; + } + private LambdaQueryWrapper buildQueryWrapper(WmsAttendanceCheckBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getUserId() != null, WmsAttendanceCheck::getUserId, bo.getUserId());