From 244228feba355b4df8e160fd4c7c353f674044f1 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 14 二月 2026 17:08:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpClockInController.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 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 96354c4..95889af 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,28 +1,58 @@
 package com.xiaopeng.maintenance.controller;
 
+
+import com.xiaopeng.api.model.maintenance.XpErrorType;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.security.service.TokenService;
+import com.xiaopeng.maintenance.dto.ClockDTO;
+import com.xiaopeng.maintenance.dto.ShiftAttendanceDTO;
+import com.xiaopeng.maintenance.dto.VerifyRangeDTO;
 import com.xiaopeng.maintenance.service.IXpClockInService;
+import com.xiaopeng.maintenance.vo.ShiftAttendanceVO;
 import io.swagger.annotations.Api;
 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.*;
 
 /**
+ * <p>
+ * 打卡明细 前端控制器
+ * </p>
  * 打卡管理 Controller
  *
+ * @author xiaochen
+ * @since 2026-02-06
  * @author mitao
  * @date 2026-02-14
  */
 @Slf4j
 @RestController
 @RequestMapping("")
-@Api(tags = "打卡管理")
 public class XpClockInController {
 
     @Autowired
+    private IXpClockInService xpClockInService;
+    @Autowired
+    private TokenService tokenService;
+    @ApiOperation(value = "校验是否在打卡范围内", tags = "运维APP-排班与考勤")
+    @PostMapping("/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) {
+        Long id = tokenService.getLoginOperationUser().getId();
+        dto.setOperationsUserId(id);
+        return xpClockInService.clockIn(dto);
+    }
     /**
      * 检查用户是否上班中(内部接口)
      */
@@ -33,4 +63,14 @@
         Boolean workFlag = clockInService.checkWorkStatus(appUserId);
         return R.ok(workFlag);
     }
+
+    @ApiOperation(value = "下班打卡", tags = "运维APP-排班与考勤")
+    @PostMapping("/api/v1/clock/clockOut")
+    public R<String> clockOut(@RequestBody ClockDTO dto) {
+        Long id = tokenService.getLoginOperationUser().getId();
+        dto.setOperationsUserId(id);
+        return xpClockInService.clockOut(dto);
+    }
+
 }
+

--
Gitblit v1.7.1