From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
index c4c8f43..2b1f46f 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java
@@ -1,23 +1,22 @@
 package com.xiaopeng.maintenance.controller;
 
 
-import com.xiaopeng.api.model.maintenance.XpErrorType;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.common.security.service.TokenService;
 import com.xiaopeng.maintenance.dto.ClockDTO;
-import com.xiaopeng.maintenance.dto.ShiftAttendanceDTO;
+import com.xiaopeng.maintenance.dto.ClockInStatisticsDto;
+import com.xiaopeng.maintenance.dto.GetClockInStatisticsDetailsDto;
 import com.xiaopeng.maintenance.dto.VerifyRangeDTO;
 import com.xiaopeng.maintenance.service.IXpClockInService;
-import com.xiaopeng.maintenance.vo.ShiftAttendanceVO;
-import io.swagger.annotations.Api;
+import com.xiaopeng.maintenance.vo.ClockInStatisticsDetailsVo;
+import com.xiaopeng.maintenance.vo.ClockInStatisticsVo;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * <p>
@@ -26,9 +25,9 @@
  * 打卡管理 Controller
  *
  * @author xiaochen
- * @since 2026-02-06
  * @author mitao
  * @date 2026-02-14
+ * @since 2026-02-06
  */
 @Slf4j
 @RestController
@@ -39,16 +38,16 @@
     private IXpClockInService xpClockInService;
     @Autowired
     private TokenService tokenService;
+
     @ApiOperation(value = "校验是否在打卡范围内", tags = "运维APP-排班与考勤")
-    @PostMapping("/api/v1/clock/verifyRange")
+    @PostMapping("/maintenance-app/api/v1/clock/verifyRange")
     public R<Boolean> verifyRange(@RequestBody VerifyRangeDTO dto) {
         return R.ok(xpClockInService.verifyRange(dto));
     }
-    private IXpClockInService clockInService;
 
     @ApiOperation(value = "上班打卡", tags = "运维APP-排班与考勤")
-    @PostMapping("/api/v1/clock/clockIn")
-    public R<String> clockIn(@RequestBody ClockDTO dto) {
+    @PostMapping("/maintenance-app/api/v1/clock/clockIn")
+    public R<Integer> clockIn(@RequestBody ClockDTO dto) {
         Long id = tokenService.getLoginOperationUser().getId();
         dto.setOperationsUserId(id);
         return xpClockInService.clockIn(dto);
@@ -57,21 +56,51 @@
     /**
      * 检查用户是否上班中(内部接口)
      */
-    @GetMapping("/inner/clock-in/checkWorkStatus")
+    @GetMapping("/logan/inner/clock-in/checkWorkStatus")
     @ApiOperation(value = "检查用户是否上班中", tags = {"内部接口"})
-    public R<Boolean> checkWorkStatus(@RequestParam("appUserId") Long appUserId) {
+    public R<Integer> checkWorkStatus(@RequestParam("appUserId") Long appUserId) {
         log.info("检查用户上班状态, appUserId={}", appUserId);
-        Boolean workFlag = clockInService.checkWorkStatus(appUserId);
+        Integer workFlag = xpClockInService.checkWorkStatus(appUserId);
         return R.ok(workFlag);
     }
 
     @ApiOperation(value = "下班打卡", tags = "运维APP-排班与考勤")
-    @PostMapping("/api/v1/clock/clockOut")
-    public R<String> clockOut(@RequestBody ClockDTO dto) {
+    @PostMapping("/maintenance-app/api/v1/clock/clockOut")
+    public R<Integer> clockOut(@RequestBody ClockDTO dto) {
         Long id = tokenService.getLoginOperationUser().getId();
         dto.setOperationsUserId(id);
         return xpClockInService.clockOut(dto);
     }
 
+
+    @ApiOperation(value = "排班考勤打卡统计列表", tags = {"管理后台-运维执行"})
+    @PostMapping("/api/v1/clock/getClockInStatistics")
+    public R<PageInfo<ClockInStatisticsDto>> getClockInStatistics(@RequestBody ClockInStatisticsVo vo) {
+        PageInfo<ClockInStatisticsDto> clockInStatistics = xpClockInService.getClockInStatistics(vo);
+        return R.ok(clockInStatistics);
+    }
+
+
+    @ApiOperation(value = "排班考勤打卡统计导出", tags = {"管理后台-运维执行"})
+    @PostMapping("/api/v1/clock/exportClockInStatistics")
+    public void exportClockInStatistics(@RequestBody ClockInStatisticsVo vo, HttpServletResponse response) {
+        xpClockInService.exportClockInStatistics(vo, response);
+    }
+
+
+    @ApiOperation(value = "排班考勤打卡统计详情列表", tags = {"管理后台-运维执行"})
+    @PostMapping("/api/v1/clock/getClockInStatisticsDetails")
+    public R<GetClockInStatisticsDetailsDto> getClockInStatisticsDetails(@RequestBody ClockInStatisticsDetailsVo query) {
+        GetClockInStatisticsDetailsDto clockInStatisticsDetails = xpClockInService.getClockInStatisticsDetails(query);
+        return R.ok(clockInStatisticsDetails);
+    }
+
+
+    @ApiOperation(value = "排班考勤打卡统计详情导出", tags = {"管理后台-运维执行"})
+    @PostMapping("/api/v1/clock/exportClockInStatisticsDetails")
+    public void exportClockInStatisticsDetails(@RequestBody ClockInStatisticsDetailsVo query, HttpServletResponse response) {
+        xpClockInService.exportClockInStatisticsDetails(query, response);
+    }
+
 }
 

--
Gitblit v1.7.1