From be4f4278ba7a5e8c99d84dc881bdee49d096df7a Mon Sep 17 00:00:00 2001 From: aikai Date: Thu, 18 Apr 2024 14:37:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=B7=9D=E7=A6=BB=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=B7=A5=E5=85=B7=E7=B1=BB=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=80=83=E5=8B=A4=E7=BB=84=E7=8F=AD=E6=AC=A1=E5=AD=90=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/util/distance/GeoUtil.java | 52 +++++++++++ .../fixed/AttendanceFixedController.java | 2 +- .../group/AttendanceGroupController.java | 2 +- .../AttendanceGroupShiftController.java | 2 +- .../vo/AttendanceGroupShiftPageReqVO.java | 3 - .../vo/AttendanceGroupShiftRespVO.java | 4 - .../vo/AttendanceGroupShiftSaveReqVO.java | 3 - .../AttendanceGroupShiftItemController.java | 93 +++++++++++++++++++ .../vo/AttendanceGroupShiftItemPageReqVO.java | 54 +++++++++++ .../vo/AttendanceGroupShiftItemRespVO.java | 64 +++++++++++++ .../vo/AttendanceGroupShiftItemSaveReqVO.java | 46 +++++++++ .../AttendanceGroupUserController.java | 2 +- .../AttendancePunchRecordController.java | 2 +- .../AttendanceSchedulingController.java | 2 +- .../dto/AttendancePunchPageDTO.java | 2 +- .../fixed/AttendanceFixedDO.java | 2 +- .../group/AttendanceGroupDO.java | 2 +- .../groupshift/AttendanceGroupShiftDO.java | 7 +- .../AttendanceGroupShiftItemDO.java | 71 ++++++++++++++ .../groupuser/AttendanceGroupUserDO.java | 2 +- .../punchrecord/AttendancePunchRecordDO.java | 2 +- .../scheduling/AttendanceSchedulingDO.java | 2 +- .../fixed/AttendanceFixedMapper.java | 4 +- .../group/AttendanceGroupMapper.java | 2 +- .../AttendanceGroupShiftMapper.java | 9 +- .../AttendanceGroupShiftItemMapper.java | 36 +++++++ .../groupuser/AttendanceGroupUserMapper.java | 4 +- .../AttendancePunchRecordMapper.java | 4 +- .../AttendanceSchedulingMapper.java | 4 +- .../attendance/AttendanceServiceImpl.java | 12 +-- .../fixed/AttendanceFixedService.java | 4 +- .../fixed/AttendanceFixedServiceImpl.java | 26 +++++- .../group/AttendanceGroupService.java | 2 +- .../group/AttendanceGroupServiceImpl.java | 2 +- .../AttendanceGroupShiftService.java | 4 +- .../AttendanceGroupShiftServiceImpl.java | 2 +- .../AttendanceGroupShiftItemService.java | 55 +++++++++++ .../AttendanceGroupShiftItemServiceImpl.java | 59 ++++++++++++ .../groupuser/AttendanceGroupUserService.java | 4 +- .../AttendanceGroupUserServiceImpl.java | 2 +- .../AttendancePunchRecordService.java | 4 +- .../AttendancePunchRecordServiceImpl.java | 2 +- .../AttendanceSchedulingService.java | 4 +- .../AttendanceSchedulingServiceImpl.java | 2 +- .../mapper/group/AttendanceGroupMapper.xml | 2 +- .../AttendanceGroupShiftItemMapper.xml | 12 +++ 46 files changed, 604 insertions(+), 78 deletions(-) create mode 100644 yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/distance/GeoUtil.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/AttendanceGroupShiftItemController.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemPageReqVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemRespVO.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemSaveReqVO.java rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/fixed/AttendanceFixedDO.java (92%) rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/group/AttendanceGroupDO.java (95%) rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/groupshift/AttendanceGroupShiftDO.java (78%) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshiftitem/AttendanceGroupShiftItemDO.java rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/groupuser/AttendanceGroupUserDO.java (91%) rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/punchrecord/AttendancePunchRecordDO.java (95%) rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/{ => attendance}/scheduling/AttendanceSchedulingDO.java (92%) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshiftitem/AttendanceGroupShiftItemMapper.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemService.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemServiceImpl.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/groupshiftitem/AttendanceGroupShiftItemMapper.xml diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/distance/GeoUtil.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/distance/GeoUtil.java new file mode 100644 index 00000000..607d35a7 --- /dev/null +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/distance/GeoUtil.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.framework.common.util.distance; + +/** + * 距离计算 工具类 + */ +public class GeoUtil { + public static int distance(double lat1, double lon1, double lat2, double lon2) { + final int R = 6371000; // 地球平均半径,单位:米 + double latDistance = Math.toRadians(lat2 - lat1); + double lonDistance = Math.toRadians(lon2 - lon1); + double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2) + + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) + * Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2); + double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + return (int) (R * c); + } + + + /** + * 计算两个经纬度的距离是否在范围内 + * + * @param lat1 位置1的纬度 + * @param lon1 位置1的经度 + * @param lat2 位置2的纬度 + * @param lon2 位置2的经度 + * @param range 范围(米) + * @return 范围内返回 1 范围外返回 0 + */ + public static int distance(double lat1, double lon1, double lat2, double lon2, Integer range) { + if (range == null) { + return 0; + } + int distance = distance(lat1, lon1, lat2, lon2); + if (range < distance) { + return 0; + } + return 1; + } + + public static void main(String[] args) { + long time = System.currentTimeMillis(); + double lat1 = 28.616284; + double lon1 = 118.102703; + + double lat2 = 28.629981; + double lon2 = 118.08502; + double distance = distance(lat1, lon1, lat2, lon2); + System.out.println("距离是: " + distance + " 米"); + System.out.println("耗时: " + (System.currentTimeMillis() - time)); + } + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/fixed/AttendanceFixedController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/fixed/AttendanceFixedController.java index 00d370c5..aecfc695 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/fixed/AttendanceFixedController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/fixed/AttendanceFixedController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.fixed.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.fixed.AttendanceFixedDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.fixed.AttendanceFixedDO; import cn.iocoder.yudao.module.system.service.attendance.fixed.AttendanceFixedService; @Tag(name = "管理后台 - 固定班制考勤设置") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/group/AttendanceGroupController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/group/AttendanceGroupController.java index e1af4ea8..48c1055f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/group/AttendanceGroupController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/group/AttendanceGroupController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.group.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import cn.iocoder.yudao.module.system.service.attendance.group.AttendanceGroupService; @Tag(name = "管理后台 - 考勤组") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/AttendanceGroupShiftController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/AttendanceGroupShiftController.java index 181fa6df..c6f525ba 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/AttendanceGroupShiftController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/AttendanceGroupShiftController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.groupshift.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupshift.AttendanceGroupShiftDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift.AttendanceGroupShiftDO; import cn.iocoder.yudao.module.system.service.attendance.groupshift.AttendanceGroupShiftService; @Tag(name = "管理后台 - 考勤组班次") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftPageReqVO.java index d468a872..8e292dcd 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftPageReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftPageReqVO.java @@ -21,9 +21,6 @@ public class AttendanceGroupShiftPageReqVO extends PageParam { @Schema(description = "班次名称", example = "张三") private String name; - @Schema(description = "班次考勤时间json[{start_tiem:HH:mm,start_check_flag:true,end_time:HH:mm,end_check_flah: true}]") - private String attendanceTimeJson; - @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftRespVO.java index 56e65e08..d1f14764 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftRespVO.java @@ -25,10 +25,6 @@ public class AttendanceGroupShiftRespVO { @ExcelProperty("班次名称") private String name; - @Schema(description = "班次考勤时间json[{start_tiem:HH:mm,start_check_flag:true,end_time:HH:mm,end_check_flah: true}]") - @ExcelProperty("班次考勤时间json[{start_tiem:HH:mm,start_check_flag:true,end_time:HH:mm,end_check_flah: true}]") - private String attendanceTimeJson; - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftSaveReqVO.java index 3f6b4473..9bb861a6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshift/vo/AttendanceGroupShiftSaveReqVO.java @@ -19,7 +19,4 @@ public class AttendanceGroupShiftSaveReqVO { @Schema(description = "班次名称", example = "张三") private String name; - @Schema(description = "班次考勤时间json[{start_tiem:HH:mm,start_check_flag:true,end_time:HH:mm,end_check_flah: true}]") - private String attendanceTimeJson; - } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/AttendanceGroupShiftItemController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/AttendanceGroupShiftItemController.java new file mode 100644 index 00000000..ec345be6 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/AttendanceGroupShiftItemController.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.system.controller.admin.groupshiftitem; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemRespVO; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO; +import cn.iocoder.yudao.module.system.service.attendance.groupshiftitem.AttendanceGroupShiftItemService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 考勤组班次子表") +@RestController +@RequestMapping("/system.attendance/attendance-group-shift-item") +@Validated +public class AttendanceGroupShiftItemController { + + @Resource + private AttendanceGroupShiftItemService attendanceGroupShiftItemService; + + @PostMapping("/create") + @Operation(summary = "创建考勤组班次子表") + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:create')") + public CommonResult createAttendanceGroupShiftItem(@Valid @RequestBody AttendanceGroupShiftItemSaveReqVO createReqVO) { + return success(attendanceGroupShiftItemService.createAttendanceGroupShiftItem(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新考勤组班次子表") + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:update')") + public CommonResult updateAttendanceGroupShiftItem(@Valid @RequestBody AttendanceGroupShiftItemSaveReqVO updateReqVO) { + attendanceGroupShiftItemService.updateAttendanceGroupShiftItem(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除考勤组班次子表") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:delete')") + public CommonResult deleteAttendanceGroupShiftItem(@RequestParam("id") Long id) { + attendanceGroupShiftItemService.deleteAttendanceGroupShiftItem(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得考勤组班次子表") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:query')") + public CommonResult getAttendanceGroupShiftItem(@RequestParam("id") Long id) { + AttendanceGroupShiftItemDO attendanceGroupShiftItem = attendanceGroupShiftItemService.getAttendanceGroupShiftItem(id); + return success(BeanUtils.toBean(attendanceGroupShiftItem, AttendanceGroupShiftItemRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得考勤组班次子表分页") + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:query')") + public CommonResult> getAttendanceGroupShiftItemPage(@Valid AttendanceGroupShiftItemPageReqVO pageReqVO) { + PageResult pageResult = attendanceGroupShiftItemService.getAttendanceGroupShiftItemPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, AttendanceGroupShiftItemRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出考勤组班次子表 Excel") + @PreAuthorize("@ss.hasPermission('system.attendance:attendance-group-shift-item:export')") + @OperateLog(type = EXPORT) + public void exportAttendanceGroupShiftItemExcel(@Valid AttendanceGroupShiftItemPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = attendanceGroupShiftItemService.getAttendanceGroupShiftItemPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "考勤组班次子表.xls", "数据", AttendanceGroupShiftItemRespVO.class, + BeanUtils.toBean(list, AttendanceGroupShiftItemRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemPageReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemPageReqVO.java new file mode 100644 index 00000000..04847ee3 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 考勤组班次子表分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AttendanceGroupShiftItemPageReqVO extends PageParam { + + @Schema(description = "考勤组id", example = "26060") + private Long attendanceGroupId; + + @Schema(description = "班次id", example = "22909") + private Long kqAttendanceGroupShiftId; + + @Schema(description = "级别 从1到~ 排序用") + private Integer level; + + @Schema(description = "开始打卡时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] beginTime; + + @Schema(description = "结束打卡时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] endTime; + + @Schema(description = "是否必须 0否 1是 (如果不是必须系统会自动打卡)") + private Integer mustFlag; + + @Schema(description = "上班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeUpWork; + + @Schema(description = "上班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeUpWork; + + @Schema(description = "下班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeDownWork; + + @Schema(description = "下班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeDownWork; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemRespVO.java new file mode 100644 index 00000000..80be916b --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemRespVO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 考勤组班次子表 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AttendanceGroupShiftItemRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "957") + @ExcelProperty("编号") + private Long id; + + @Schema(description = "考勤组id", example = "26060") + @ExcelProperty("考勤组id") + private Long attendanceGroupId; + + @Schema(description = "班次id", example = "22909") + @ExcelProperty("班次id") + private Long kqAttendanceGroupShiftId; + + @Schema(description = "级别 从1到~ 排序用") + @ExcelProperty("级别 从1到~ 排序用") + private Integer level; + + @Schema(description = "开始打卡时间") + @ExcelProperty("开始打卡时间") + private String beginTime; + + @Schema(description = "结束打卡时间") + @ExcelProperty("结束打卡时间") + private String endTime; + + @Schema(description = "是否必须 0否 1是 (如果不是必须系统会自动打卡)") + @ExcelProperty("是否必须 0否 1是 (如果不是必须系统会自动打卡)") + private Integer mustFlag; + + @Schema(description = "上班前打卡时间(分钟) 默认 120分钟") + @ExcelProperty("上班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeUpWork; + + @Schema(description = "上班后打卡时间(分钟) 默认 120分钟") + @ExcelProperty("上班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeUpWork; + + @Schema(description = "下班前打卡时间(分钟) 默认 120分钟") + @ExcelProperty("下班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeDownWork; + + @Schema(description = "下班后打卡时间(分钟) 默认 120分钟") + @ExcelProperty("下班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeDownWork; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemSaveReqVO.java new file mode 100644 index 00000000..fb260838 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupshiftitem/vo/AttendanceGroupShiftItemSaveReqVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; + +@Schema(description = "管理后台 - 考勤组班次子表新增/修改 Request VO") +@Data +public class AttendanceGroupShiftItemSaveReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "957") + private Long id; + + @Schema(description = "考勤组id", example = "26060") + private Long attendanceGroupId; + + @Schema(description = "班次id", example = "22909") + private Long kqAttendanceGroupShiftId; + + @Schema(description = "级别 从1到~ 排序用") + private Integer level; + + @Schema(description = "开始打卡时间") + private String beginTime; + + @Schema(description = "结束打卡时间") + private String endTime; + + @Schema(description = "是否必须 0否 1是 (如果不是必须系统会自动打卡)") + private Integer mustFlag; + + @Schema(description = "上班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeUpWork; + + @Schema(description = "上班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeUpWork; + + @Schema(description = "下班前打卡时间(分钟) 默认 120分钟") + private Integer beforePunchTimeDownWork; + + @Schema(description = "下班后打卡时间(分钟) 默认 120分钟") + private Integer afterPunchTimeDownWork; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupuser/AttendanceGroupUserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupuser/AttendanceGroupUserController.java index 37a90586..fb3052cf 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupuser/AttendanceGroupUserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/groupuser/AttendanceGroupUserController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.groupuser.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupuser.AttendanceGroupUserDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser.AttendanceGroupUserDO; import cn.iocoder.yudao.module.system.service.attendance.groupuser.AttendanceGroupUserService; @Tag(name = "管理后台 - 考勤组人员") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/AttendancePunchRecordController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/AttendancePunchRecordController.java index 34cb86cb..57c9e2a6 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/AttendancePunchRecordController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/AttendancePunchRecordController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.punchrecord.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.punchrecord.AttendancePunchRecordDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO; import cn.iocoder.yudao.module.system.service.attendance.punchrecord.AttendancePunchRecordService; @Tag(name = "管理后台 - 用户打卡记录") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/scheduling/AttendanceSchedulingController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/scheduling/AttendanceSchedulingController.java index f5bb02c5..6e0d34cc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/scheduling/AttendanceSchedulingController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/scheduling/AttendanceSchedulingController.java @@ -25,7 +25,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.system.controller.admin.scheduling.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.scheduling.AttendanceSchedulingDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.scheduling.AttendanceSchedulingDO; import cn.iocoder.yudao.module.system.service.attendance.scheduling.AttendanceSchedulingService; @Tag(name = "管理后台 - 排班制考勤设置") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/dto/AttendancePunchPageDTO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/dto/AttendancePunchPageDTO.java index a5d239eb..9f3b334c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/dto/AttendancePunchPageDTO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/dto/AttendancePunchPageDTO.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.module.system.controller.app.attendance.dto; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/fixed/AttendanceFixedDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/fixed/AttendanceFixedDO.java similarity index 92% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/fixed/AttendanceFixedDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/fixed/AttendanceFixedDO.java index 2e8dcafd..e4a4ad79 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/fixed/AttendanceFixedDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/fixed/AttendanceFixedDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.fixed; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.fixed; import lombok.*; import java.util.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/group/AttendanceGroupDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/group/AttendanceGroupDO.java similarity index 95% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/group/AttendanceGroupDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/group/AttendanceGroupDO.java index 8aaa577f..599ef82f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/group/AttendanceGroupDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/group/AttendanceGroupDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.group; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.group; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupshift/AttendanceGroupShiftDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshift/AttendanceGroupShiftDO.java similarity index 78% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupshift/AttendanceGroupShiftDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshift/AttendanceGroupShiftDO.java index abb2cd66..8212872b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupshift/AttendanceGroupShiftDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshift/AttendanceGroupShiftDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.groupshift; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift; import lombok.*; import java.util.*; @@ -35,9 +35,4 @@ public class AttendanceGroupShiftDO extends BaseDO { * 班次名称 */ private String name; - /** - * 班次考勤时间json[{start_tiem:HH:mm,start_check_flag:true,end_time:HH:mm,end_check_flah: true}] - */ - private String attendanceTimeJson; - } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshiftitem/AttendanceGroupShiftItemDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshiftitem/AttendanceGroupShiftItemDO.java new file mode 100644 index 00000000..4ce6141d --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupshiftitem/AttendanceGroupShiftItemDO.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 考勤组班次子表 DO + * + * @author 艾楷 + */ +@TableName("kq_attendance_group_shift_item") +@KeySequence("kq_attendance_group_shift_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AttendanceGroupShiftItemDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 考勤组id + */ + private Long attendanceGroupId; + /** + * 班次id + */ + private Long kqAttendanceGroupShiftId; + /** + * 级别 从1到~ 排序用 + */ + private Integer level; + /** + * 开始打卡时间 + */ + private String beginTime; + /** + * 结束打卡时间 + */ + private String endTime; + /** + * 是否必须 0否 1是 (如果不是必须系统会自动打卡) + */ + private Integer mustFlag; + /** + * 上班前打卡时间(分钟) 默认 120分钟 + */ + private Integer beforePunchTimeUpWork; + /** + * 上班后打卡时间(分钟) 默认 120分钟 + */ + private Integer afterPunchTimeUpWork; + /** + * 下班前打卡时间(分钟) 默认 120分钟 + */ + private Integer beforePunchTimeDownWork; + /** + * 下班后打卡时间(分钟) 默认 120分钟 + */ + private Integer afterPunchTimeDownWork; + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupuser/AttendanceGroupUserDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupuser/AttendanceGroupUserDO.java similarity index 91% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupuser/AttendanceGroupUserDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupuser/AttendanceGroupUserDO.java index 98eb30db..27cdc8b3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/groupuser/AttendanceGroupUserDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/groupuser/AttendanceGroupUserDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.groupuser; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser; import lombok.*; import java.util.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/punchrecord/AttendancePunchRecordDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java similarity index 95% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/punchrecord/AttendancePunchRecordDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java index e7fd91c1..373aad5c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/punchrecord/AttendancePunchRecordDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.punchrecord; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord; import lombok.*; import java.util.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/scheduling/AttendanceSchedulingDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/scheduling/AttendanceSchedulingDO.java similarity index 92% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/scheduling/AttendanceSchedulingDO.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/scheduling/AttendanceSchedulingDO.java index 4ea9ab31..6b4baa4e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/scheduling/AttendanceSchedulingDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/scheduling/AttendanceSchedulingDO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.system.dal.dataobject.scheduling; +package cn.iocoder.yudao.module.system.dal.dataobject.attendance.scheduling; import lombok.*; import java.util.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/fixed/AttendanceFixedMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/fixed/AttendanceFixedMapper.java index 9be771e0..12d06fae 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/fixed/AttendanceFixedMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/fixed/AttendanceFixedMapper.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.dal.mysql.attendance.fixed; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.system.dal.dataobject.fixed.AttendanceFixedDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.fixed.AttendanceFixedDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.system.controller.admin.fixed.vo.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/group/AttendanceGroupMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/group/AttendanceGroupMapper.java index 1a1ea208..9fe48147 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/group/AttendanceGroupMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/group/AttendanceGroupMapper.java @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.group.vo.AttendanceGroupPageReqVO; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshift/AttendanceGroupShiftMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshift/AttendanceGroupShiftMapper.java index f2125c5f..ad08b23d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshift/AttendanceGroupShiftMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshift/AttendanceGroupShiftMapper.java @@ -1,13 +1,11 @@ package cn.iocoder.yudao.module.system.dal.mysql.attendance.groupshift; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.system.dal.dataobject.groupshift.AttendanceGroupShiftDO; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.system.controller.admin.groupshift.vo.AttendanceGroupShiftPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift.AttendanceGroupShiftDO; import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.system.controller.admin.groupshift.vo.*; /** * 考勤组班次 Mapper @@ -21,7 +19,6 @@ public interface AttendanceGroupShiftMapper extends BaseMapperX() .eqIfPresent(AttendanceGroupShiftDO::getAttendanceGroupId, reqVO.getAttendanceGroupId()) .likeIfPresent(AttendanceGroupShiftDO::getName, reqVO.getName()) - .eqIfPresent(AttendanceGroupShiftDO::getAttendanceTimeJson, reqVO.getAttendanceTimeJson()) .betweenIfPresent(AttendanceGroupShiftDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(AttendanceGroupShiftDO::getId)); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshiftitem/AttendanceGroupShiftItemMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshiftitem/AttendanceGroupShiftItemMapper.java new file mode 100644 index 00000000..5a72b95a --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupshiftitem/AttendanceGroupShiftItemMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.system.dal.mysql.attendance.groupshiftitem; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemPageReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 考勤组班次子表 Mapper + * + * @author 艾楷 + */ +@Mapper +public interface AttendanceGroupShiftItemMapper extends BaseMapperX { + + default PageResult selectPage(AttendanceGroupShiftItemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(AttendanceGroupShiftItemDO::getAttendanceGroupId, reqVO.getAttendanceGroupId()) + .eqIfPresent(AttendanceGroupShiftItemDO::getKqAttendanceGroupShiftId, reqVO.getKqAttendanceGroupShiftId()) + .eqIfPresent(AttendanceGroupShiftItemDO::getLevel, reqVO.getLevel()) + .betweenIfPresent(AttendanceGroupShiftItemDO::getBeginTime, reqVO.getBeginTime()) + .betweenIfPresent(AttendanceGroupShiftItemDO::getEndTime, reqVO.getEndTime()) + .eqIfPresent(AttendanceGroupShiftItemDO::getMustFlag, reqVO.getMustFlag()) + .eqIfPresent(AttendanceGroupShiftItemDO::getBeforePunchTimeUpWork, reqVO.getBeforePunchTimeUpWork()) + .eqIfPresent(AttendanceGroupShiftItemDO::getAfterPunchTimeUpWork, reqVO.getAfterPunchTimeUpWork()) + .eqIfPresent(AttendanceGroupShiftItemDO::getBeforePunchTimeDownWork, reqVO.getBeforePunchTimeDownWork()) + .eqIfPresent(AttendanceGroupShiftItemDO::getAfterPunchTimeDownWork, reqVO.getAfterPunchTimeDownWork()) + .betweenIfPresent(AttendanceGroupShiftItemDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(AttendanceGroupShiftItemDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupuser/AttendanceGroupUserMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupuser/AttendanceGroupUserMapper.java index a1d317d9..82fcc95d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupuser/AttendanceGroupUserMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/groupuser/AttendanceGroupUserMapper.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.dal.mysql.attendance.groupuser; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.system.dal.dataobject.groupuser.AttendanceGroupUserDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser.AttendanceGroupUserDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.system.controller.admin.groupuser.vo.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/punchrecord/AttendancePunchRecordMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/punchrecord/AttendancePunchRecordMapper.java index 26c12276..0cc3c806 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/punchrecord/AttendancePunchRecordMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/punchrecord/AttendancePunchRecordMapper.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.dal.mysql.attendance.punchrecord; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.system.dal.dataobject.punchrecord.AttendancePunchRecordDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.system.controller.admin.punchrecord.vo.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/scheduling/AttendanceSchedulingMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/scheduling/AttendanceSchedulingMapper.java index 89ed9410..92139d5d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/scheduling/AttendanceSchedulingMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/attendance/scheduling/AttendanceSchedulingMapper.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.dal.mysql.attendance.scheduling; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.system.dal.dataobject.scheduling.AttendanceSchedulingDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.scheduling.AttendanceSchedulingDO; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.system.controller.admin.scheduling.vo.*; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java index 7e678161..821fab94 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.module.system.controller.app.attendance.dto.AttendancePunchPageDTO; import cn.iocoder.yudao.module.system.controller.app.attendance.vo.AttendancePunchPageVO; import cn.iocoder.yudao.module.system.controller.app.attendance.vo.HolidayVO; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import cn.iocoder.yudao.module.system.handler.PunchHandler; import cn.iocoder.yudao.module.system.service.attendance.group.AttendanceGroupService; import cn.iocoder.yudao.module.system.service.attendance.punch.PunchService; @@ -31,7 +31,7 @@ public class AttendanceServiceImpl implements AttendanceService { @Resource private AttendanceGroupService attendanceGroupService; @Resource - private StringRedisTemplate redisTemplate; + private StringRedisTemplate stringRedisTemplate; @Override public AttendancePunchPageVO getPunchPage(AttendancePunchPageDTO dto) { @@ -53,19 +53,19 @@ public class AttendanceServiceImpl implements AttendanceService { String dateStr = DateUtils.dateFormat(date, "yyyy-MM-dd"); String year = dateStr.substring(0, 4); String key = "holiday_" + year; - Boolean flag = redisTemplate.hasKey(key); + Boolean flag = stringRedisTemplate.hasKey(key); // 缓存不存在 if (Boolean.FALSE.equals(flag)) { String url = "https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/" + year + ".json"; String json = HttpUtil.get(url, 0); JSONObject jsonObject = JSONUtil.parseObj(json); Map map = jsonObject.getBeanList("days", HolidayVO.class).stream().collect(Collectors.toMap(HolidayVO::getDate, HolidayVO::getIsOffDay)); - redisTemplate.opsForHash().putAll(key, map); + stringRedisTemplate.opsForHash().putAll(key, map); // -- 删除去年的 String lastKey = "holiday_" + (Integer.parseInt(year) - 1); - redisTemplate.delete(lastKey); + stringRedisTemplate.delete(lastKey); } - return (Boolean) redisTemplate.opsForHash().get(key, date); + return (Boolean) stringRedisTemplate.opsForHash().get(key, date); } } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedService.java index 1d52b190..c1b7038c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedService.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.service.attendance.fixed; -import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.fixed.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.fixed.AttendanceFixedDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.fixed.AttendanceFixedDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 固定班制考勤设置 Service 接口 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java index 9763ae70..05c018b4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/fixed/AttendanceFixedServiceImpl.java @@ -2,17 +2,20 @@ package cn.iocoder.yudao.module.system.service.attendance.fixed; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.date.DateUtils; +import cn.iocoder.yudao.framework.common.util.distance.GeoUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.system.controller.admin.fixed.vo.AttendanceFixedPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.fixed.vo.AttendanceFixedSaveReqVO; import cn.iocoder.yudao.module.system.controller.app.attendance.dto.AttendancePunchPageDTO; import cn.iocoder.yudao.module.system.controller.app.attendance.vo.AttendancePunchPageVO; -import cn.iocoder.yudao.module.system.dal.dataobject.fixed.AttendanceFixedDO; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.fixed.AttendanceFixedDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import cn.iocoder.yudao.module.system.dal.mysql.attendance.fixed.AttendanceFixedMapper; import cn.iocoder.yudao.module.system.service.attendance.AttendanceService; import cn.iocoder.yudao.module.system.service.attendance.punch.PunchService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.context.annotation.Lazy; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -34,7 +37,10 @@ public class AttendanceFixedServiceImpl implements AttendanceFixedService, Punch @Resource private AttendanceFixedMapper fixedMapper; @Resource + @Lazy // 避免依赖循环 private AttendanceService attendanceService; + @Resource + private StringRedisTemplate stringRedisTemplate; @Override public Long createFixed(AttendanceFixedSaveReqVO createReqVO) { @@ -108,10 +114,24 @@ public class AttendanceFixedServiceImpl implements AttendanceFixedService, Punch if (attendanceFixedDO == null || attendanceFixedDO.getAttendanceGroupShiftId() == null) { return vo.setTodayNeedAttendance(AttendanceGroupDO.FALSE); } + vo.setFieldworkFlag(activationGroup.getFieldworkFlag()); + // - 根据经纬度判断是否在对应班组的打卡点上 + vo.setCheckInPoint(GeoUtil.distance(Double.parseDouble(dto.getLatitude()), Double.parseDouble(dto.getLongitude()) + , Double.parseDouble(activationGroup.getLatitude()), Double.parseDouble(activationGroup.getLongitude()), activationGroup.getScope())); - // TODO: 2024/4/17 明天在努力 + + + String key = "attendance" + "_" + activationGroup.getId(); + // -- 这里的key 有个情况 - 就是上班时间和下班时间夸天了 - 所以 这里要判断下上下班时间 - + // 是否夸天 - 如果是的话 判断当前是上班卡还是下班卡 - 如果是下班卡的话 当前时间需要减去一天 + String mapKey = dto.getUserId() + "_" + DateUtils.dateFormat(thisDate, DateUtils.FORMAT_YEAR_MONTH_DAY); + Object value = stringRedisTemplate.opsForHash().get(key, mapKey); + if (value != null) { + + } return null; } + } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupService.java index 005fb072..d361c296 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupService.java @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.service.attendance.group; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.system.controller.admin.group.vo.AttendanceGroupPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.group.vo.AttendanceGroupSaveReqVO; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import javax.validation.Valid; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupServiceImpl.java index 97549f47..7281d16d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/group/AttendanceGroupServiceImpl.java @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.system.controller.admin.group.vo.AttendanceGroupPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.group.vo.AttendanceGroupSaveReqVO; -import cn.iocoder.yudao.module.system.dal.dataobject.group.AttendanceGroupDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.group.AttendanceGroupDO; import cn.iocoder.yudao.module.system.dal.mysql.attendance.group.AttendanceGroupMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftService.java index d74770c6..b7909c1a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftService.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.service.attendance.groupshift; -import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.groupshift.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupshift.AttendanceGroupShiftDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift.AttendanceGroupShiftDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 考勤组班次 Service 接口 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftServiceImpl.java index e32ad820..0338129b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshift/AttendanceGroupShiftServiceImpl.java @@ -5,7 +5,7 @@ import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import cn.iocoder.yudao.module.system.controller.admin.groupshift.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupshift.AttendanceGroupShiftDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshift.AttendanceGroupShiftDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemService.java new file mode 100644 index 00000000..fb2b1b53 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.system.service.attendance.groupshiftitem; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO; + +import javax.validation.Valid; + +/** + * 考勤组班次子表 Service 接口 + * + * @author 艾楷 + */ +public interface AttendanceGroupShiftItemService { + + /** + * 创建考勤组班次子表 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createAttendanceGroupShiftItem(@Valid AttendanceGroupShiftItemSaveReqVO createReqVO); + + /** + * 更新考勤组班次子表 + * + * @param updateReqVO 更新信息 + */ + void updateAttendanceGroupShiftItem(@Valid AttendanceGroupShiftItemSaveReqVO updateReqVO); + + /** + * 删除考勤组班次子表 + * + * @param id 编号 + */ + void deleteAttendanceGroupShiftItem(Long id); + + /** + * 获得考勤组班次子表 + * + * @param id 编号 + * @return 考勤组班次子表 + */ + AttendanceGroupShiftItemDO getAttendanceGroupShiftItem(Long id); + + /** + * 获得考勤组班次子表分页 + * + * @param pageReqVO 分页查询 + * @return 考勤组班次子表分页 + */ + PageResult getAttendanceGroupShiftItemPage(AttendanceGroupShiftItemPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemServiceImpl.java new file mode 100644 index 00000000..f01e20d4 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupshiftitem/AttendanceGroupShiftItemServiceImpl.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.system.service.attendance.groupshiftitem; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.groupshiftitem.vo.AttendanceGroupShiftItemSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupshiftitem.AttendanceGroupShiftItemDO; +import cn.iocoder.yudao.module.system.dal.mysql.attendance.groupshiftitem.AttendanceGroupShiftItemMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 考勤组班次子表 Service 实现类 + * + * @author 艾楷 + */ +@Service +@Validated +public class AttendanceGroupShiftItemServiceImpl implements AttendanceGroupShiftItemService { + + @Resource + private AttendanceGroupShiftItemMapper attendanceGroupShiftItemMapper; + + @Override + public Long createAttendanceGroupShiftItem(AttendanceGroupShiftItemSaveReqVO createReqVO) { + // 插入 + AttendanceGroupShiftItemDO attendanceGroupShiftItem = BeanUtils.toBean(createReqVO, AttendanceGroupShiftItemDO.class); + attendanceGroupShiftItemMapper.insert(attendanceGroupShiftItem); + // 返回 + return attendanceGroupShiftItem.getId(); + } + + @Override + public void updateAttendanceGroupShiftItem(AttendanceGroupShiftItemSaveReqVO updateReqVO) { + // 更新 + AttendanceGroupShiftItemDO updateObj = BeanUtils.toBean(updateReqVO, AttendanceGroupShiftItemDO.class); + attendanceGroupShiftItemMapper.updateById(updateObj); + } + + @Override + public void deleteAttendanceGroupShiftItem(Long id) { + // 删除 + attendanceGroupShiftItemMapper.deleteById(id); + } + + + @Override + public AttendanceGroupShiftItemDO getAttendanceGroupShiftItem(Long id) { + return attendanceGroupShiftItemMapper.selectById(id); + } + + @Override + public PageResult getAttendanceGroupShiftItemPage(AttendanceGroupShiftItemPageReqVO pageReqVO) { + return attendanceGroupShiftItemMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserService.java index 790e5713..44cbf7e2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserService.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.service.attendance.groupuser; -import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.groupuser.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupuser.AttendanceGroupUserDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser.AttendanceGroupUserDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 考勤组人员 Service 接口 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserServiceImpl.java index 68c17df7..19cc1edc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/groupuser/AttendanceGroupUserServiceImpl.java @@ -5,7 +5,7 @@ import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import cn.iocoder.yudao.module.system.controller.admin.groupuser.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.groupuser.AttendanceGroupUserDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.groupuser.AttendanceGroupUserDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordService.java index 7d92a1b2..a1c758ea 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordService.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.service.attendance.punchrecord; -import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.punchrecord.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.punchrecord.AttendancePunchRecordDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 用户打卡记录 Service 接口 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java index 6bc633c8..5d2078e1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/punchrecord/AttendancePunchRecordServiceImpl.java @@ -5,7 +5,7 @@ import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import cn.iocoder.yudao.module.system.controller.admin.punchrecord.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.punchrecord.AttendancePunchRecordDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.punchrecord.AttendancePunchRecordDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingService.java index 27f9482a..2b49e784 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingService.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.system.service.attendance.scheduling; -import java.util.*; import javax.validation.*; import cn.iocoder.yudao.module.system.controller.admin.scheduling.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.scheduling.AttendanceSchedulingDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.scheduling.AttendanceSchedulingDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 排班制考勤设置 Service 接口 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java index e5769e35..3f3c213a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/scheduling/AttendanceSchedulingServiceImpl.java @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.scheduling.vo.AttendanceS import cn.iocoder.yudao.module.system.controller.admin.scheduling.vo.AttendanceSchedulingSaveReqVO; import cn.iocoder.yudao.module.system.controller.app.attendance.dto.AttendancePunchPageDTO; import cn.iocoder.yudao.module.system.controller.app.attendance.vo.AttendancePunchPageVO; -import cn.iocoder.yudao.module.system.dal.dataobject.scheduling.AttendanceSchedulingDO; +import cn.iocoder.yudao.module.system.dal.dataobject.attendance.scheduling.AttendanceSchedulingDO; import cn.iocoder.yudao.module.system.dal.mysql.attendance.scheduling.AttendanceSchedulingMapper; import cn.iocoder.yudao.module.system.service.attendance.punch.PunchService; import org.springframework.stereotype.Service; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/group/AttendanceGroupMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/group/AttendanceGroupMapper.xml index a936d5e2..c3739976 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/group/AttendanceGroupMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/group/AttendanceGroupMapper.xml @@ -10,7 +10,7 @@ -->