Bladeren bron

新增获取考勤数据接口,获取我的考勤列表

chenjun 1 jaar geleden
bovenliggende
commit
d5bcc512f3

+ 8 - 25
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/attendance/AttendanceSheetController.java

@@ -19,7 +19,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
-import java.util.Collection;
 import java.util.List;
 
 import static com.zjugis.framework.common.pojo.CommonResult.success;
@@ -34,12 +33,6 @@ public class AttendanceSheetController {
     @Resource
     private AttendanceSheetService attendanceSheetService;
 
-    @PostMapping("/create")
-    @Operation(summary = "创建行政管理_考勤")
-    @PreAuthorize("@ss.hasPermission('adm:attendance-sheet:create')")
-    public CommonResult<Integer> createAttendanceSheet(@Valid @RequestBody AttendanceSheetCreateReqVO createReqVO) {
-        return success(attendanceSheetService.createAttendanceSheet(createReqVO));
-    }
 
     @PutMapping("/update")
     @Operation(summary = "更新行政管理_考勤")
@@ -49,15 +42,6 @@ public class AttendanceSheetController {
         return success(true);
     }
 
-    @DeleteMapping("/delete")
-    @Operation(summary = "删除行政管理_考勤")
-    @Parameter(name = "id", description = "编号", required = true)
-    @PreAuthorize("@ss.hasPermission('adm:attendance-sheet:delete')")
-    public CommonResult<Boolean> deleteAttendanceSheet(@RequestParam("id") Integer id) {
-        attendanceSheetService.deleteAttendanceSheet(id);
-        return success(true);
-    }
-
     @GetMapping("/get")
     @Operation(summary = "获得行政管理_考勤")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
@@ -69,19 +53,18 @@ public class AttendanceSheetController {
 
     @GetMapping("/list")
     @Operation(summary = "获得行政管理_考勤列表")
-    @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
     @PreAuthorize("@ss.hasPermission('adm:attendance-sheet:query')")
-    public CommonResult<List<AttendanceSheetRespVO>> getAttendanceSheetList(@RequestParam("ids") Collection<Integer> ids) {
-        List<AttendanceSheetDO> list = attendanceSheetService.getAttendanceSheetList(ids);
+    public CommonResult<List<AttendanceSheetRespVO>> getAttendanceSheetList(@Valid AttendanceSheetListReqVO listVO) {
+        List<AttendanceSheetDO> list = attendanceSheetService.getAttendanceSheetList(listVO);
         return success(AttendanceSheetConvert.INSTANCE.convertList(list));
     }
 
-    @GetMapping("/page")
-    @Operation(summary = "获得行政管理_考勤分页")
-    @PreAuthorize("@ss.hasPermission('adm:attendance-sheet:query')")
-    public CommonResult<PageResult<AttendanceSheetRespVO>> getAttendanceSheetPage(@Valid AttendanceSheetPageReqVO pageVO) {
-        PageResult<AttendanceSheetDO> pageResult = attendanceSheetService.getAttendanceSheetPage(pageVO);
-        return success(AttendanceSheetConvert.INSTANCE.convertPage(pageResult));
+    @GetMapping("/list-me")
+    @Operation(summary = "获得行政管理_考勤列表_我的")
+    @PreAuthorize("@ss.hasPermission('adm:attendance-sheet:query-me')")
+    public CommonResult<List<AttendanceSheetRespVO>> getAttendanceSheetListMe(@Valid AttendanceSheetListMeReqVO listVO) {
+        List<AttendanceSheetDO> list = attendanceSheetService.getAttendanceSheetListMe(listVO);
+        return success(AttendanceSheetConvert.INSTANCE.convertList(list));
     }
 
     @GetMapping("/export-excel")

+ 3 - 4
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/attendance/vo/sheet/AttendanceSheetBaseVO.java

@@ -1,12 +1,11 @@
 package com.zjugis.module.adm.controller.admin.attendance.vo.sheet;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import javax.validation.constraints.*;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import static com.zjugis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 

+ 30 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/attendance/vo/sheet/AttendanceSheetListMeReqVO.java

@@ -0,0 +1,30 @@
+package com.zjugis.module.adm.controller.admin.attendance.vo.sheet;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.zjugis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 行政管理_我的考勤分页 Request VO")
+@Data
+@ToString(callSuper = true)
+public class AttendanceSheetListMeReqVO {
+
+    @Schema(description = "考勤时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] attendanceTime;
+
+    @Schema(description = "考勤状态", example = "2")
+    private Integer attendanceStatus;
+
+    @Schema(description = "考勤类型(1:上午;2:下午)", example = "1")
+    private Integer attendanceType;
+
+    @Schema(description = "其他考勤状态分钟(除了出勤)")
+    private Integer otherMinute;
+
+}

+ 1 - 12
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/attendance/vo/sheet/AttendanceSheetPageReqVO.java → zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/attendance/vo/sheet/AttendanceSheetListReqVO.java

@@ -12,15 +12,8 @@ import static com.zjugis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_
 
 @Schema(description = "管理后台 - 行政管理_考勤分页 Request VO")
 @Data
-@EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
-public class AttendanceSheetPageReqVO extends PageParam {
-
-    @Schema(description = "用户ID", example = "26099")
-    private Long userId;
-
-    @Schema(description = "用户名(工号)", example = "赵六")
-    private String username;
+public class AttendanceSheetListReqVO {
 
     @Schema(description = "用户昵称", example = "王五")
     private String nickname;
@@ -38,8 +31,4 @@ public class AttendanceSheetPageReqVO extends PageParam {
     @Schema(description = "其他考勤状态分钟(除了出勤)")
     private Integer otherMinute;
 
-    @Schema(description = "创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] createTime;
-
 }

+ 17 - 7
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/dal/mysql/attendance/AttendanceSheetMapper.java

@@ -4,11 +4,13 @@ import com.zjugis.framework.common.pojo.PageResult;
 import com.zjugis.framework.mybatis.core.mapper.BaseMapperX;
 import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetExportReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetPageReqVO;
+import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetListMeReqVO;
+import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetListReqVO;
 import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceSheetDO;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import static com.zjugis.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
 /**
  * 行政管理_考勤 Mapper
@@ -18,17 +20,15 @@ import java.util.List;
 @Mapper
 public interface AttendanceSheetMapper extends BaseMapperX<AttendanceSheetDO> {
 
-    default PageResult<AttendanceSheetDO> selectPage(AttendanceSheetPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<AttendanceSheetDO>()
-                .eqIfPresent(AttendanceSheetDO::getUserId, reqVO.getUserId())
-                .likeIfPresent(AttendanceSheetDO::getUsername, reqVO.getUsername())
+    default List<AttendanceSheetDO> selectList(AttendanceSheetListReqVO reqVO) {
+        return selectList(new LambdaQueryWrapperX<AttendanceSheetDO>()
                 .likeIfPresent(AttendanceSheetDO::getNickname, reqVO.getNickname())
                 .betweenIfPresent(AttendanceSheetDO::getAttendanceTime, reqVO.getAttendanceTime())
                 .eqIfPresent(AttendanceSheetDO::getAttendanceStatus, reqVO.getAttendanceStatus())
                 .eqIfPresent(AttendanceSheetDO::getAttendanceType, reqVO.getAttendanceType())
                 .eqIfPresent(AttendanceSheetDO::getOtherMinute, reqVO.getOtherMinute())
-                .betweenIfPresent(AttendanceSheetDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(AttendanceSheetDO::getId));
+                .orderByDesc(AttendanceSheetDO::getUsername)
+                .orderByDesc(AttendanceSheetDO::getAttendanceTime));
     }
 
     default List<AttendanceSheetDO> selectList(AttendanceSheetExportReqVO reqVO) {
@@ -44,4 +44,14 @@ public interface AttendanceSheetMapper extends BaseMapperX<AttendanceSheetDO> {
                 .orderByDesc(AttendanceSheetDO::getId));
     }
 
+    default List<AttendanceSheetDO> selectListMe(AttendanceSheetListMeReqVO reqVO) {
+        return selectList(new LambdaQueryWrapperX<AttendanceSheetDO>()
+                .eqIfPresent(AttendanceSheetDO::getUserId,  getLoginUserId())
+                .betweenIfPresent(AttendanceSheetDO::getAttendanceTime, reqVO.getAttendanceTime())
+                .eqIfPresent(AttendanceSheetDO::getAttendanceStatus, reqVO.getAttendanceStatus())
+                .eqIfPresent(AttendanceSheetDO::getAttendanceType, reqVO.getAttendanceType())
+                .eqIfPresent(AttendanceSheetDO::getOtherMinute, reqVO.getOtherMinute())
+                .orderByDesc(AttendanceSheetDO::getUsername)
+                .orderByDesc(AttendanceSheetDO::getAttendanceTime));
+    }
 }

+ 10 - 14
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/attendance/AttendanceSheetService.java

@@ -1,10 +1,7 @@
 package com.zjugis.module.adm.service.attendance;
 
 import com.zjugis.framework.common.pojo.PageResult;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetCreateReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetExportReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetPageReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetUpdateReqVO;
+import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.*;
 import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceRecordDO;
 import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceSheetDO;
 
@@ -52,18 +49,10 @@ public interface AttendanceSheetService {
     /**
      * 获得行政管理_考勤列表
      *
-     * @param ids 编号
-     * @return 行政管理_考勤列表
-     */
-    List<AttendanceSheetDO> getAttendanceSheetList(Collection<Integer> ids);
-
-    /**
-     * 获得行政管理_考勤分页
-     *
-     * @param pageReqVO 分页查询
+     * @param listReqVO 分页查询
      * @return 行政管理_考勤分页
      */
-    PageResult<AttendanceSheetDO> getAttendanceSheetPage(AttendanceSheetPageReqVO pageReqVO);
+    List<AttendanceSheetDO> getAttendanceSheetList(AttendanceSheetListReqVO listReqVO);
 
     /**
      * 获得行政管理_考勤列表, 用于 Excel 导出
@@ -90,4 +79,11 @@ public interface AttendanceSheetService {
      * @param attendanceRecordDOList
      */
     void buildAfternoonAttendanceSheet(List<AttendanceRecordDO> attendanceRecordDOList);
+
+    /**
+     * 获得行政管理_我的考勤列表
+     * @param listVO
+     * @return
+     */
+    List<AttendanceSheetDO> getAttendanceSheetListMe(AttendanceSheetListMeReqVO listVO);
 }

+ 10 - 13
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/attendance/AttendanceSheetServiceImpl.java

@@ -1,10 +1,7 @@
 package com.zjugis.module.adm.service.attendance;
 
 import com.zjugis.framework.common.pojo.PageResult;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetCreateReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetExportReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetPageReqVO;
-import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.AttendanceSheetUpdateReqVO;
+import com.zjugis.module.adm.controller.admin.attendance.vo.sheet.*;
 import com.zjugis.module.adm.convert.attendance.AttendanceSheetConvert;
 import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceRecordDO;
 import com.zjugis.module.adm.dal.dataobject.attendance.AttendanceSheetDO;
@@ -99,11 +96,11 @@ public class AttendanceSheetServiceImpl implements AttendanceSheetService {
      */
     private static final Integer ATTENDANCE_STATUS_OTHER = 20;
     /**
-     * 其他
+     * 早上
      */
     private static final Integer ATTENDANCE_TYPE_AM = 1;
     /**
-     * 其他
+     * 下午
      */
     private static final Integer ATTENDANCE_TYPE_PM = 2;
     @Resource
@@ -151,13 +148,8 @@ public class AttendanceSheetServiceImpl implements AttendanceSheetService {
     }
 
     @Override
-    public List<AttendanceSheetDO> getAttendanceSheetList(Collection<Integer> ids) {
-        return attendanceSheetMapper.selectBatchIds(ids);
-    }
-
-    @Override
-    public PageResult<AttendanceSheetDO> getAttendanceSheetPage(AttendanceSheetPageReqVO pageReqVO) {
-        return attendanceSheetMapper.selectPage(pageReqVO);
+    public List<AttendanceSheetDO> getAttendanceSheetList(AttendanceSheetListReqVO listReqVO) {
+        return attendanceSheetMapper.selectList(listReqVO);
     }
 
     @Override
@@ -289,6 +281,11 @@ public class AttendanceSheetServiceImpl implements AttendanceSheetService {
         attendanceSheetMapper.insertBatch(attendanceSheetDOList);
     }
 
+    @Override
+    public List<AttendanceSheetDO> getAttendanceSheetListMe(AttendanceSheetListMeReqVO listVO) {
+        return attendanceSheetMapper.selectListMe(listVO);
+    }
+
     @NotNull
     private AttendanceSheetDO getAttendanceAfternoonSheetDO(LocalTime normalTimePm, LocalTime finishPmFlag, String username, AttendanceRecordDO lastRecord, AdminUserRespDTO user) {
         AttendanceSheetDO afternoonSheetDO;