feat(attendance): 添加考勤检查数据更新功能
- 在 IWmsAttendanceCheckService 中新增 updateByBo 方法 - 扩展 WmsAttendanceCheckBo 类继承 BaseEntity 并添加多个考勤字段 - 添加考勤状态、迟到早退分钟数、扣款金额等相关属性 - 在控制器中实现 PUT 请求的编辑接口 - 添加 EditGroup 验证组支持 - 实现服务层 updateByBo 方法进行数据库更新操作
This commit is contained in:
@@ -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<Void> edit(@Validated(EditGroup.class) @RequestBody WmsAttendanceCheckBo bo) {
|
||||
return toAjax(iWmsAttendanceCheckService.updateByBo(bo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -20,4 +20,6 @@ public interface IWmsAttendanceCheckService {
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
void checkAttendance(AttendanceCheckBo bo);
|
||||
|
||||
Boolean updateByBo(WmsAttendanceCheckBo bo);
|
||||
}
|
||||
|
||||
@@ -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<WmsAttendanceCheck> buildQueryWrapper(WmsAttendanceCheckBo bo) {
|
||||
LambdaQueryWrapper<WmsAttendanceCheck> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getUserId() != null, WmsAttendanceCheck::getUserId, bo.getUserId());
|
||||
|
||||
Reference in New Issue
Block a user