From faff7314b240922d20fdd2fbc455c61dbc297cd5 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 29 十二月 2025 23:38:00 +0800
Subject: [PATCH] feat: 优化变更状态
---
ruoyi-system/src/main/java/com/ruoyi/system/file/FileUploadServiceImpl.java | 8 ++--
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java | 27 ++++++++-----
app/pagesTask/detail.vue | 56 +++++++++++++++-------------
ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java | 3 +
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java | 9 ++--
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java | 8 ++--
6 files changed, 62 insertions(+), 49 deletions(-)
diff --git a/app/pagesTask/detail.vue b/app/pagesTask/detail.vue
index 9077526..3f64594 100644
--- a/app/pagesTask/detail.vue
+++ b/app/pagesTask/detail.vue
@@ -7,6 +7,7 @@
<view class="title">浠诲姟璇︽儏</view>
<view class="edit-btn" @click="handleEdit" v-if="taskDetail && !isTaskFinished">
<uni-icons type="compose" size="20" color="#007AFF"></uni-icons>
+ <text class="edit-text">淇敼</text>
</view>
</view>
@@ -456,27 +457,26 @@
<view class="action-buttons" v-if="taskDetail">
<!-- 寰呭鐞嗙姸鎬�: 鏄剧ず鍑哄彂銆佸彇娑堛�佸己鍒跺畬鎴� -->
<template v-if="taskDetail.taskStatus === 'PENDING'">
- <template v-if="isCurrentUserAssignee()">
- <button
- class="action-btn primary"
- @click="handleDepartAction()"
- >
- 鍑哄彂
- </button>
- <button
- class="action-btn cancel"
- @click="handleTaskAction('cancel')"
- >
- 鍙栨秷
- </button>
- <button
- v-if="showForceCompleteFeature() && taskDetail.taskStatus === 'PENDING'"
- class="action-btn force-complete"
- @click="showForceCompleteTimeDialog()"
- >
- 寮哄埗瀹屾垚
- </button>
- </template>
+ <button
+ v-if="isCurrentUserAssignee()"
+ class="action-btn primary"
+ @click="handleDepartAction()"
+ >
+ 鍑哄彂
+ </button>
+ <button
+ class="action-btn cancel"
+ @click="handleTaskAction('cancel')"
+ >
+ 鍙栨秷
+ </button>
+ <button
+ v-if="isCurrentUserAssignee() && showForceCompleteFeature()"
+ class="action-btn force-complete"
+ @click="showForceCompleteTimeDialog()"
+ >
+ 寮哄埗瀹屾垚
+ </button>
</template>
<!-- 鍑哄彂涓姸鎬�: 鏄剧ず宸插埌杈俱�佸己鍒剁粨鏉� -->
@@ -914,10 +914,8 @@
break;
case 'forceCancel':
- // 寮哄埗缁撴潫 -> 鐘舵�佸彉涓哄凡鍙栨秷
- this.$modal.confirm('纭畾瑕佸己鍒剁粨鏉熸浠诲姟鍚楋紵').then(() => {
- this.updateTaskStatus('CANCELLED', '浠诲姟宸插己鍒剁粨鏉�')
- }).catch(() => {});
+ // 寮哄埗缁撴潫 -> 鏄剧ず鍙栨秷鍘熷洜閫夋嫨瀵硅瘽妗�
+ this.showCancelReasonDialog();
break;
case 'return':
@@ -1877,12 +1875,18 @@
}
.edit-btn {
- width: 60rpx;
+ width: 120rpx;
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
+
+ .edit-text {
+ margin-left: 8rpx;
+ font-size: 28rpx;
+ color: #007AFF;
+ }
}
}
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 09db629..fe67735 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
@@ -331,17 +331,7 @@
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));
}
@@ -349,6 +339,21 @@
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;
+ }
+
/**
* 鏌ヨ浠诲姟缁熻淇℃伅锛圓PP绔級
*/
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/file/FileUploadServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/file/FileUploadServiceImpl.java
index ae26026..8b186b4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/file/FileUploadServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/file/FileUploadServiceImpl.java
@@ -107,7 +107,7 @@
try {
// 浠嶶RL涓嬭浇鏂囦欢
byte[] fileBytes = downloadFromUrl(fileUrl);
- if (fileBytes == null || fileBytes.length == 0) {
+ if (fileBytes.length == 0) {
return FileUploadResponse.error("浠嶶RL涓嬭浇鏂囦欢澶辫触");
}
@@ -258,7 +258,7 @@
}
try {
- log.info("寮�濮嬭В鏋怭HP鍝嶅簲: {}", response);
+// log.info("寮�濮嬭В鏋怭HP鍝嶅簲: {}", response);
// 鏍规嵁PHP鎺ュ彛鐨勫疄闄呰繑鍥炴牸寮忚繘琛岃В鏋�
// PHP杩斿洖鏍煎紡: {"success": true, "message": "鏂囦欢涓婁紶鎴愬姛", "data": {...}}
@@ -267,7 +267,7 @@
String filePath = extractFilePathFromResponse(response);
String thumbnailPath = extractThumbnailPathFromResponse(response);
- log.info("瑙f瀽缁撴灉 - filePath: {}, thumbnailPath: {}", filePath, thumbnailPath);
+// log.info("瑙f瀽缁撴灉 - filePath: {}, thumbnailPath: {}", filePath, thumbnailPath);
// 鍒涘缓鍝嶅簲瀵硅薄
FileUploadResponse uploadResponse = FileUploadResponse.success(filePath, "涓婁紶鎴愬姛");
@@ -475,7 +475,7 @@
return uploadResponse;
}
- log.info("涓婁紶鏂囦欢鎴愬姛 鏂囦欢:{} 缂╃暐:{}",uploadResponse.getFilePath(),uploadResponse.getThumbnailPath());
+// log.info("涓婁紶鏂囦欢鎴愬姛 鏂囦欢:{} 缂╃暐:{}",uploadResponse.getFilePath(),uploadResponse.getThumbnailPath());
return uploadResponse;
} catch (Exception e) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java
index 17b116f..bf5be21 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java
@@ -1,5 +1,7 @@
package com.ruoyi.system.mapper;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.system.domain.DictionaryCondition;
import com.ruoyi.system.domain.DispatchOrd;
import org.apache.ibatis.annotations.Param;
@@ -11,6 +13,7 @@
*
* @author ruoyi
*/
+@DataSource(DataSourceType.SQLSERVER)
public interface DispatchOrdMapper {
/**
* 鏍规嵁鏈嶅姟璁㈠崟ID鏌ヨ璋冨害璁㈠崟
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
index 72e4127..74bb2c6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
@@ -242,6 +242,7 @@
if (cancelReason != null && !cancelReason.isEmpty()) {
try {
+ log.info("鍙栨秷鍘熷洜 cancelReason:{},鍙栨秷浜�:{}", cancelReason, cancelBy);
cancelReasonId = Integer.parseInt(cancelReason);
// 浠庢暟鎹瓧鍏告煡璇㈠彇娑堝師鍥犳枃鏈�
String dictLabel = sysDictDataService.selectDictLabel("task_cancel_reason", cancelReason);
@@ -251,7 +252,7 @@
cancelReasonText = "[鍙栨秷鎿嶄綔:" + (cancelBy != null ? cancelBy : "绯荤粺") + "]";
}
} catch (NumberFormatException e) {
- log.warn("鍙栨秷鍘熷洜ID鏍煎紡閿欒: {}", cancelReason);
+ log.error("鍙栨秷鍘熷洜ID鏍煎紡閿欒: {}", cancelReason,e);
cancelReasonText = "[鍙栨秷鎿嶄綔:" + (cancelBy != null ? cancelBy : "绯荤粺") + "] " + cancelReason;
}
} else {
@@ -283,10 +284,10 @@
try {
// 鐩存帴閫氳繃Service璋冪敤Mapper鏇存柊SQL Server鏁版嵁搴�
int rows = dispatchOrdService.updateDispatchOrdState(dispatchOrdId, statusCode);
-// log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
+ log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, statusCode: {}", dispatchOrdId, statusCode);
if (rows > 0) {
-// log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}",
-// dispatchOrdId, statusCode);
+ log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, statusCode: {}",
+ dispatchOrdId, statusCode);
return true;
} else {
// log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
index 5b7273a..fc50c9b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WechatTaskNotifyServiceImpl.java
@@ -84,18 +84,18 @@
public int sendTaskNotifyMessage(Long taskId, List<Long> userIds, Long excludeUserId) {
// 妫�鏌ヨ闃呮秷鎭紑鍏�
if (!isSubscribeMessageEnabled()) {
- log.info("璁㈤槄娑堟伅鍙戦�佸凡鍏抽棴锛岃烦杩囧彂閫侊紝taskId={}", taskId);
+// log.info("璁㈤槄娑堟伅鍙戦�佸凡鍏抽棴锛岃烦杩囧彂閫侊紝taskId={}", taskId);
return 0;
}
if (taskId == null || userIds == null || userIds.isEmpty()) {
- log.warn("鍙戦�佸井淇′换鍔¢�氱煡鍙傛暟涓嶅畬鏁达紝taskId={}, userIds={}", taskId, userIds);
+// log.warn("鍙戦�佸井淇′换鍔¢�氱煡鍙傛暟涓嶅畬鏁达紝taskId={}, userIds={}", taskId, userIds);
return 0;
}
// 鏌ヨ浠诲姟淇℃伅
SysTask task = sysTaskMapper.selectSysTaskByTaskId(taskId);
if (task == null) {
- log.warn("寰俊閫氱煡澶辫触锛屼换鍔′笉瀛樺湪锛宼askId={}", taskId);
+// log.warn("寰俊閫氱煡澶辫触锛屼换鍔′笉瀛樺湪锛宼askId={}", taskId);
return 0;
}
@@ -136,7 +136,7 @@
try {
WechatUtils.sendSubscribeMessage(accessToken, user.getOpenId(), templateId, page, data);
successCount++;
- log.info("寰俊浠诲姟閫氱煡鍙戦�佹垚鍔燂紝taskId={}, userId={}, userName={}", taskId, userId, user.getUserName());
+// log.info("寰俊浠诲姟閫氱煡鍙戦�佹垚鍔燂紝taskId={}, userId={}, userName={}", taskId, userId, user.getUserName());
} catch (Exception e) {
log.error("寰俊浠诲姟閫氱煡鍙戦�佸け璐ワ紝taskId={}, userId={}", taskId, userId, e);
}
--
Gitblit v1.9.1