From 2f09efc660bf2cc94cbc5291ad25ca06fc9bdadf Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 24 一月 2026 22:03:09 +0800
Subject: [PATCH] feat: 增加OCR测试,车辆
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java | 102 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 87 insertions(+), 15 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
index 8d94003..56ad818 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
@@ -1,10 +1,14 @@
package com.ruoyi.web.controller.task;
+import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.SysTaskEmergency;
import com.ruoyi.system.service.*;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -180,10 +184,9 @@
@Log(title = "浠诲姟绠$悊", businessType = BusinessType.INSERT)
@PostMapping("/admin")
public AjaxResult adminAdd(@RequestBody TaskCreateVO createVO) {
- return toAjax(sysTaskService.insertSysTask(createVO));
+ Long taskId = sysTaskService.insertSysTask(createVO);
+ return taskId > 0 ? AjaxResult.success("鏂板鎴愬姛").put("taskId", taskId) : AjaxResult.error("鏂板澶辫触");
}
-
-
/**
* 鏂板浠诲姟锛圓PP绔級
@@ -191,7 +194,32 @@
@Log(title = "浠诲姟鍒涘缓", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult appAdd(@RequestBody TaskCreateVO createVO) {
- return toAjax(sysTaskService.insertSysTask(createVO));
+ Long taskId = sysTaskService.insertSysTask(createVO);
+ return taskId > 0 ? AjaxResult.success("鏂板鎴愬姛").put("taskId", taskId) : AjaxResult.error("鏂板澶辫触");
+ }
+
+ /**
+ * 妫�鏌ヤ换鍔℃槸鍚﹂噸澶嶏紙鏍规嵁鑱旂郴浜虹數璇濆拰鍒涘缓鏃ユ湡锛�
+ * @param phone 鑱旂郴浜虹數璇�
+ * @param createDate 浠诲姟鍒涘缓鏃ユ湡锛堟牸寮忥細YYYY-MM-DD锛�
+ * @return 鏄惁瀛樺湪閲嶅浠诲姟
+ */
+ @GetMapping("/checkDuplicate")
+ public AjaxResult checkDuplicate(
+ @RequestParam("phone") String phone,
+ @RequestParam("createDate") String createDate) {
+
+ if (StringUtils.isEmpty(phone) || StringUtils.isEmpty(createDate)) {
+ return AjaxResult.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ boolean isDuplicate = sysTaskService.checkTaskDuplicate(phone, createDate);
+
+ if (isDuplicate) {
+ return AjaxResult.error("璇ヨ仈绯荤數璇濆湪璇ユ棩鏈熷凡鏈変换鍔★紝涓嶈兘閲嶅鎻愪氦");
+ }
+
+ return AjaxResult.success("鏈彂鐜伴噸澶嶄换鍔�");
}
/**
@@ -282,26 +310,48 @@
sysTaskService.saveCancelInfo(taskId, request.getCancelReason());
}
+ // 濡傛灉鏄己鍒跺畬鎴愶紝鏇存柊瀹為檯寮�濮嬫椂闂村拰缁撴潫鏃堕棿
+ if (newStatus == TaskStatus.COMPLETED && request.getActualStartTime() != null && request.getActualEndTime() != null) {
+ SysTask task = new SysTask();
+ task.setTaskId(taskId);
+ task.setTaskStatus(newStatus.getCode());
+ //灏哠tring杞垚Date
+
+ task.setActualStartTime(DateUtils.parseDate(request.getActualStartTime()));
+ task.setActualEndTime(DateUtils.parseDate(request.getActualEndTime()));
+ task.setRemark(request.getRemark());
+ task.setUpdateBy(SecurityUtils.getUsername());
+ task.setUpdateTime(DateUtils.getNowDate());
+
+ int result = sysTaskService.forceCompleteTask(task);
+ return toAjax(result);
+ }
+
// 濡傛灉鍖呭惈GPS浣嶇疆淇℃伅锛屼娇鐢ㄥ甫浣嶇疆鐨勬柟娉�
if (request.getLatitude() != null && request.getLongitude() != null) {
String address= mapService.reverseGeocoding(request.getLongitude(), request.getLatitude());
request.setLocationAddress(address);
- SysTaskLog locationLog = new SysTaskLog();
- locationLog.setLatitude(request.getLatitude());
- locationLog.setLongitude(request.getLongitude());
- locationLog.setLocationAddress(request.getLocationAddress());
- locationLog.setLocationProvince(request.getLocationProvince());
- locationLog.setLocationCity(request.getLocationCity());
- locationLog.setLocationDistrict(request.getLocationDistrict());
- locationLog.setGpsAccuracy(request.getGpsAccuracy());
- locationLog.setAltitude(request.getAltitude());
- locationLog.setSpeed(request.getSpeed());
- locationLog.setHeading(request.getHeading());
+ SysTaskLog locationLog = getLocationLog(request);
return toAjax(sysTaskService.changeTaskStatusWithLocation(taskId, newStatus, request.getRemark(), locationLog));
}
return toAjax(sysTaskService.changeTaskStatus(taskId, newStatus, request.getRemark()));
+ }
+
+ private static SysTaskLog getLocationLog(ChangeStatusRequest request) {
+ SysTaskLog locationLog = new SysTaskLog();
+ locationLog.setLatitude(request.getLatitude());
+ locationLog.setLongitude(request.getLongitude());
+ locationLog.setLocationAddress(request.getLocationAddress());
+ locationLog.setLocationProvince(request.getLocationProvince());
+ locationLog.setLocationCity(request.getLocationCity());
+ locationLog.setLocationDistrict(request.getLocationDistrict());
+ locationLog.setGpsAccuracy(request.getGpsAccuracy());
+ locationLog.setAltitude(request.getAltitude());
+ locationLog.setSpeed(request.getSpeed());
+ locationLog.setHeading(request.getHeading());
+ return locationLog;
}
/**
@@ -438,6 +488,12 @@
// 鍙栨秷鐩稿叧瀛楁
private String cancelReason; // 鍙栨秷鍘熷洜锛堝叧鑱旀暟鎹瓧鍏竧ask_cancel_reason锛�
+
+ // 寮哄埗瀹屾垚鐩稿叧瀛楁
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ private String actualStartTime; // 瀹為檯寮�濮嬫椂闂�
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+ private String actualEndTime; // 瀹為檯缁撴潫鏃堕棿
public String getTaskStatus() {
return taskStatus;
@@ -542,5 +598,21 @@
public void setCancelReason(String cancelReason) {
this.cancelReason = cancelReason;
}
+
+ public String getActualStartTime() {
+ return actualStartTime;
+ }
+
+ public void setActualStartTime(String actualStartTime) {
+ this.actualStartTime = actualStartTime;
+ }
+
+ public String getActualEndTime() {
+ return actualEndTime;
+ }
+
+ public void setActualEndTime(String actualEndTime) {
+ this.actualEndTime = actualEndTime;
+ }
}
}
--
Gitblit v1.9.1