gaoluyang
3 天以前 23ec64ed997fc206fba9f0d6a84975f7b36c47be
src/main/java/com/ruoyi/staff/controller/PersonalAttendanceLocationConfigController.java
@@ -1,8 +1,10 @@
package com.ruoyi.staff.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.staff.pojo.PersonalAttendanceLocationConfig;
import com.ruoyi.staff.service.PersonalAttendanceLocationConfigService;
@@ -30,28 +32,34 @@
    private final PersonalAttendanceLocationConfigService personalAttendanceLocationConfigService;
    @Operation(summary = "新增/修改人员打卡规则配置")
    @Log(title = "新增/修改人员打卡规则配置", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public R add(@RequestBody PersonalAttendanceLocationConfig personalAttendanceLocationConfig){
        // 班次需要不能够重复
        if (personalAttendanceLocationConfig.getId() == null && personalAttendanceLocationConfigService.lambdaQuery().eq(PersonalAttendanceLocationConfig::getShift, personalAttendanceLocationConfig.getShift()).one() != null) {
            return R.fail("班次不能重复");
        // 同一部门内班次不能重复(不同部门可使用同名班次)
        if (personalAttendanceLocationConfig.getId() == null
                && personalAttendanceLocationConfigService.lambdaQuery()
                    .eq(PersonalAttendanceLocationConfig::getSysDeptId, personalAttendanceLocationConfig.getSysDeptId())
                    .eq(PersonalAttendanceLocationConfig::getShift, personalAttendanceLocationConfig.getShift())
                    .one() != null) {
            return R.fail("该部门下该班次不能重复");
        }
        return R.ok(personalAttendanceLocationConfigService.saveOrUpdate(personalAttendanceLocationConfig));
    }
    @Operation(summary = "分页查询人员打卡规则配置")
    @GetMapping("/listPage")
    public R listPage(Page page){
        page.addOrder(OrderItem.desc("id"));
        return R.ok(personalAttendanceLocationConfigService.page(page,
                new LambdaQueryWrapper<PersonalAttendanceLocationConfig>()
                        .ne(PersonalAttendanceLocationConfig::getId, 999)));
    public R listPage(Page page, Integer sysDeptId, String shift){
        LambdaQueryWrapper<PersonalAttendanceLocationConfig> qw = Wrappers.lambdaQuery();
        qw.eq(sysDeptId != null, PersonalAttendanceLocationConfig::getSysDeptId, sysDeptId);
        qw.like(shift != null && !shift.isEmpty(), PersonalAttendanceLocationConfig::getShift, shift);
        return R.ok(personalAttendanceLocationConfigService.page(page, qw));
    }
    @Operation(summary = "删除人员打卡规则配置")
    @Log(title = "删除人员打卡规则配置", businessType = BusinessType.DELETE)
    @DeleteMapping("/del")
    public R del(@RequestBody List<Integer> ids) {
        return R.ok(personalAttendanceLocationConfigService.removeBatchByIds(ids));