| | |
| | | package com.ruoyi.staff.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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; |
| | |
| | | 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){ |
| | | return R.ok(personalAttendanceLocationConfigService.page(page)); |
| | | 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)); |