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.PageQuery;
|
||||||
import com.klp.common.core.domain.R;
|
import com.klp.common.core.domain.R;
|
||||||
import com.klp.common.core.page.TableDataInfo;
|
import com.klp.common.core.page.TableDataInfo;
|
||||||
|
import com.klp.common.core.validate.EditGroup;
|
||||||
import com.klp.common.enums.BusinessType;
|
import com.klp.common.enums.BusinessType;
|
||||||
import com.klp.domain.bo.AttendanceCheckBo;
|
import com.klp.domain.bo.AttendanceCheckBo;
|
||||||
import com.klp.domain.bo.WmsAttendanceCheckBo;
|
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.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
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.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -55,4 +57,10 @@ public class WmsAttendanceCheckController extends BaseController {
|
|||||||
iWmsAttendanceCheckService.checkAttendance(bo);
|
iWmsAttendanceCheckService.checkAttendance(bo);
|
||||||
return R.ok();
|
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;
|
package com.klp.domain.bo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.klp.common.core.domain.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class WmsAttendanceCheckBo {
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class WmsAttendanceCheckBo extends BaseEntity {
|
||||||
|
|
||||||
|
private Long checkId;
|
||||||
private Long userId;
|
private Long userId;
|
||||||
private String employeeName;
|
private String employeeName;
|
||||||
private Long shiftId;
|
private Long shiftId;
|
||||||
@@ -20,4 +25,20 @@ public class WmsAttendanceCheckBo {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date endDate;
|
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);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
void checkAttendance(AttendanceCheckBo bo);
|
void checkAttendance(AttendanceCheckBo bo);
|
||||||
|
|
||||||
|
Boolean updateByBo(WmsAttendanceCheckBo bo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.klp.service.impl;
|
package com.klp.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -77,6 +78,13 @@ public class WmsAttendanceCheckServiceImpl implements IWmsAttendanceCheckService
|
|||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
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) {
|
private LambdaQueryWrapper<WmsAttendanceCheck> buildQueryWrapper(WmsAttendanceCheckBo bo) {
|
||||||
LambdaQueryWrapper<WmsAttendanceCheck> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<WmsAttendanceCheck> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.eq(bo.getUserId() != null, WmsAttendanceCheck::getUserId, bo.getUserId());
|
lqw.eq(bo.getUserId() != null, WmsAttendanceCheck::getUserId, bo.getUserId());
|
||||||
|
|||||||
Reference in New Issue
Block a user