From a40ce28318e5599e2ceb744029e050739caeaee2 Mon Sep 17 00:00:00 2001
From: xuqiuyun <1113560936@qq.com>
Date: Fri, 24 Oct 2025 17:32:42 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=B0=8F=E7=BB=86=E8=8A=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc-cattle-transportation/src/api/abroad.js | 54 ++
pc-cattle-transportation/src/api/shipping.js | 44 +
.../src/views/entry/attestation.vue | 83 +-
.../src/views/entry/details.vue | 319 ++++++-
.../src/views/hardware/eartag.vue | 11 +-
.../src/views/shipping/loadDialog.vue | 349 +++++++-
.../src/views/shipping/loadingOrder.vue | 109 ++-
tradeCattle/60_MINUTE_SYNC_ISSUE_DIAGNOSIS.md | 121 +++
.../DATABASE_FIELD_LENGTH_FIX_COMPLETED.md | 62 ++
tradeCattle/DATA_SYNC_SUCCESS_REPORT.md | 100 +++
tradeCattle/DATA_SYNC_TEST_RESULTS.md | 80 ++
.../DATA_SYNC_TROUBLESHOOTING_GUIDE.md | 106 +++
tradeCattle/FINAL_SOLUTION_FOR_USER.md | 173 ++++
.../FINAL_SOLUTION_FOR_USER_UPDATED.md | 172 ++++
tradeCattle/FINAL_SOLUTION_SUMMARY.md | 95 ++
tradeCattle/FINAL_SOLUTION_SUMMARY_UPDATED.md | 131 +++
.../FINAL_SOLUTION_WITH_DATA_ANALYSIS.md | 173 ++++
.../FRONTEND_DATA_DISPLAY_FIX_REPORT.md | 122 +++
.../IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md | 173 ++++
...T_DEVICE_LOG_SYNC_IMPLEMENTATION_REPORT.md | 156 ++++
tradeCattle/IOT_DEVICE_LOG_SYNC_TEST_GUIDE.md | 177 ++++
tradeCattle/LATEST_ANALYSIS_REPORT.md | 138 +++
tradeCattle/LOG_SYNC_FIX_SUMMARY.md | 144 +++
.../SYNC_PROBLEM_ROOT_CAUSE_ANALYSIS.md | 96 ++
tradeCattle/XQ_CLIENT_LOG_FIELD_FIX_GUIDE.md | 132 +++
.../XQ_CLIENT_LOG_FIELD_MAPPING_FIX_FINAL.md | 148 ++++
.../XQ_CLIENT_LOG_FIELD_MAPPING_FIX_REPORT.md | 113 +++
tradeCattle/XQ_CLIENT_LOG_SYNC_FIX_SUMMARY.md | 143 +++
.../add_device_id_to_xq_client_log.sql | 33 +
.../add_missing_fields_to_xq_client_log.sql | 131 +++
.../controller/DeliveryDeviceController.java | 819 +++++++++++++++++-
.../controller/IotDeviceProxyController.java | 43 +
.../business/entity/IotDeviceData.java | 7 +
.../business/entity/XqClientLog.java | 110 +++
.../business/mapper/JbqClientLogMapper.java | 5 +
.../business/mapper/JbqServerLogMapper.java | 5 +
.../business/mapper/XqClientLogMapper.java | 28 +
.../service/IotDeviceLogSyncService.java | 348 ++++++++
.../service/IotDeviceSyncService.java | 35 +-
.../service/impl/DeliveryServiceImpl.java | 28 +-
.../cattletrade/job/IotDeviceSyncJob.java | 21 +
.../resources/mapper/JbqClientLogMapper.xml | 16 +
.../resources/mapper/JbqServerLogMapper.xml | 16 +
.../resources/mapper/XqClientLogMapper.xml | 60 ++
.../test/IotDeviceLogSyncTest.java | 61 ++
tradeCattle/batch_insert_debug.sql | 89 ++
tradeCattle/check_all_fields_length.sql | 72 ++
tradeCattle/check_data_length_analysis.sql | 71 ++
tradeCattle/check_xq_client_log_data.sql | 50 ++
tradeCattle/check_xq_client_log_structure.sql | 33 +
.../clear_and_resync_xq_client_log.sql | 27 +
tradeCattle/clear_and_test_xq_client_log.sql | 10 +
...comprehensive_fix_xq_client_log_fields.sql | 65 ++
tradeCattle/create_device_log_tables.sql | 63 ++
tradeCattle/debug_field_length_issue.sql | 45 +
tradeCattle/deep_debug_batch_insert.sql | 124 +++
tradeCattle/deep_debug_latitude_issue.sql | 85 ++
.../deep_debug_latitude_truncation.sql | 76 ++
tradeCattle/detailed_debug_xq_client_log.sql | 90 ++
tradeCattle/emergency_fix_field_length.sql | 37 +
tradeCattle/find_problematic_data.sql | 112 +++
.../fix_xq_client_log_field_length.sql | 29 +
tradeCattle/fixed_manual_insert_test.sql | 64 ++
tradeCattle/new_debug_collar_devices.sql | 86 ++
tradeCattle/simple_batch_test.sql | 112 +++
tradeCattle/simple_debug_test.sql | 71 ++
tradeCattle/simple_test_insert.sql | 73 ++
tradeCattle/step1_check_database_schema.sql | 57 ++
tradeCattle/step2_check_device_data.sql | 102 +++
tradeCattle/step3_analyze_insert_failure.sql | 86 ++
tradeCattle/test_data_sync_functionality.sql | 67 ++
tradeCattle/test_single_record_insert.sql | 31 +
tradeCattle/urgent_fix_latitude_field.sql | 35 +
73 files changed, 7238 insertions(+), 114 deletions(-)
create mode 100644 tradeCattle/60_MINUTE_SYNC_ISSUE_DIAGNOSIS.md
create mode 100644 tradeCattle/DATABASE_FIELD_LENGTH_FIX_COMPLETED.md
create mode 100644 tradeCattle/DATA_SYNC_SUCCESS_REPORT.md
create mode 100644 tradeCattle/DATA_SYNC_TEST_RESULTS.md
create mode 100644 tradeCattle/DATA_SYNC_TROUBLESHOOTING_GUIDE.md
create mode 100644 tradeCattle/FINAL_SOLUTION_FOR_USER.md
create mode 100644 tradeCattle/FINAL_SOLUTION_FOR_USER_UPDATED.md
create mode 100644 tradeCattle/FINAL_SOLUTION_SUMMARY.md
create mode 100644 tradeCattle/FINAL_SOLUTION_SUMMARY_UPDATED.md
create mode 100644 tradeCattle/FINAL_SOLUTION_WITH_DATA_ANALYSIS.md
create mode 100644 tradeCattle/FRONTEND_DATA_DISPLAY_FIX_REPORT.md
create mode 100644 tradeCattle/IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md
create mode 100644 tradeCattle/IOT_DEVICE_LOG_SYNC_IMPLEMENTATION_REPORT.md
create mode 100644 tradeCattle/IOT_DEVICE_LOG_SYNC_TEST_GUIDE.md
create mode 100644 tradeCattle/LATEST_ANALYSIS_REPORT.md
create mode 100644 tradeCattle/LOG_SYNC_FIX_SUMMARY.md
create mode 100644 tradeCattle/SYNC_PROBLEM_ROOT_CAUSE_ANALYSIS.md
create mode 100644 tradeCattle/XQ_CLIENT_LOG_FIELD_FIX_GUIDE.md
create mode 100644 tradeCattle/XQ_CLIENT_LOG_FIELD_MAPPING_FIX_FINAL.md
create mode 100644 tradeCattle/XQ_CLIENT_LOG_FIELD_MAPPING_FIX_REPORT.md
create mode 100644 tradeCattle/XQ_CLIENT_LOG_SYNC_FIX_SUMMARY.md
create mode 100644 tradeCattle/add_device_id_to_xq_client_log.sql
create mode 100644 tradeCattle/add_missing_fields_to_xq_client_log.sql
create mode 100644 tradeCattle/aiotagro-cattle-trade/src/main/java/com/aiotagro/cattletrade/business/entity/XqClientLog.java
create mode 100644 tradeCattle/aiotagro-cattle-trade/src/main/java/com/aiotagro/cattletrade/business/mapper/XqClientLogMapper.java
create mode 100644 tradeCattle/aiotagro-cattle-trade/src/main/java/com/aiotagro/cattletrade/business/service/IotDeviceLogSyncService.java
create mode 100644 tradeCattle/aiotagro-cattle-trade/src/main/resources/mapper/XqClientLogMapper.xml
create mode 100644 tradeCattle/aiotagro-cattle-trade/src/test/java/com/aiotagro/cattletrade/test/IotDeviceLogSyncTest.java
create mode 100644 tradeCattle/batch_insert_debug.sql
create mode 100644 tradeCattle/check_all_fields_length.sql
create mode 100644 tradeCattle/check_data_length_analysis.sql
create mode 100644 tradeCattle/check_xq_client_log_data.sql
create mode 100644 tradeCattle/check_xq_client_log_structure.sql
create mode 100644 tradeCattle/clear_and_resync_xq_client_log.sql
create mode 100644 tradeCattle/clear_and_test_xq_client_log.sql
create mode 100644 tradeCattle/comprehensive_fix_xq_client_log_fields.sql
create mode 100644 tradeCattle/create_device_log_tables.sql
create mode 100644 tradeCattle/debug_field_length_issue.sql
create mode 100644 tradeCattle/deep_debug_batch_insert.sql
create mode 100644 tradeCattle/deep_debug_latitude_issue.sql
create mode 100644 tradeCattle/deep_debug_latitude_truncation.sql
create mode 100644 tradeCattle/detailed_debug_xq_client_log.sql
create mode 100644 tradeCattle/emergency_fix_field_length.sql
create mode 100644 tradeCattle/find_problematic_data.sql
create mode 100644 tradeCattle/fix_xq_client_log_field_length.sql
create mode 100644 tradeCattle/fixed_manual_insert_test.sql
create mode 100644 tradeCattle/new_debug_collar_devices.sql
create mode 100644 tradeCattle/simple_batch_test.sql
create mode 100644 tradeCattle/simple_debug_test.sql
create mode 100644 tradeCattle/simple_test_insert.sql
create mode 100644 tradeCattle/step1_check_database_schema.sql
create mode 100644 tradeCattle/step2_check_device_data.sql
create mode 100644 tradeCattle/step3_analyze_insert_failure.sql
create mode 100644 tradeCattle/test_data_sync_functionality.sql
create mode 100644 tradeCattle/test_single_record_insert.sql
create mode 100644 tradeCattle/urgent_fix_latitude_field.sql
diff --git a/pc-cattle-transportation/src/api/abroad.js b/pc-cattle-transportation/src/api/abroad.js
index 1e84628..90c230a 100644
--- a/pc-cattle-transportation/src/api/abroad.js
+++ b/pc-cattle-transportation/src/api/abroad.js
@@ -88,4 +88,58 @@ export function pageDeviceList(data) {
method: 'POST',
data,
});
+}
+
+// 智能耳标日志查询
+export function getEarTagLogs(data) {
+ return request({
+ url: '/deliveryDevice/getEarTagLogs',
+ method: 'POST',
+ data,
+ });
+}
+
+// 智能项圈日志查询
+export function getCollarLogs(data) {
+ return request({
+ url: '/deliveryDevice/getCollarLogs',
+ method: 'POST',
+ data,
+ });
+}
+
+// 智能主机日志查询
+export function getHostLogs(data) {
+ return request({
+ url: '/deliveryDevice/getHostLogs',
+ method: 'POST',
+ data,
+ });
+}
+
+// 智能耳标运动轨迹查询
+export function getEarTagTrajectory(data) {
+ return request({
+ url: '/deliveryDevice/getEarTagTrajectory',
+ method: 'POST',
+ data,
+ });
+}
+
+// 智能项圈运动轨迹查询
+export function getCollarTrajectory(data) {
+ return request({
+ url: '/deliveryDevice/getCollarTrajectory',
+ method: 'POST',
+ data,
+ });
+}
+
+// 智能主机运动轨迹查询
+export function getHostTrajectory(data) {
+ return request({
+ url: '/deliveryDevice/getHostTrajectory',
+ method: 'POST',
+ data,
+ });
}
\ No newline at end of file
diff --git a/pc-cattle-transportation/src/api/shipping.js b/pc-cattle-transportation/src/api/shipping.js
index 57124f8..642929e 100644
--- a/pc-cattle-transportation/src/api/shipping.js
+++ b/pc-cattle-transportation/src/api/shipping.js
@@ -22,6 +22,50 @@ export function orderDel(id) {
method: 'GET',
});
}
+// 清空设备delivery_id
+export function clearDeviceDeliveryId(deliveryId) {
+ return request({
+ url: '/deliveryDevice/clearDeliveryId',
+ method: 'POST',
+ data: { deliveryId },
+ });
+}
+
+// 测试接口:检查订单设备数据
+export function testOrderDevices(deliveryId) {
+ return request({
+ url: '/deliveryDevice/testOrderDevices',
+ method: 'POST',
+ data: { deliveryId },
+ });
+}
+
+// 更新设备delivery_id和weight
+export function updateDeviceDeliveryId(data) {
+ return request({
+ url: '/deliveryDevice/updateDeviceDeliveryId',
+ method: 'POST',
+ data,
+ });
+}
+
+// 批量更新设备weight
+export function updateDeviceWeights(data) {
+ return request({
+ url: '/deliveryDevice/updateDeviceWeights',
+ method: 'POST',
+ data,
+ });
+}
+
+// 获取订单绑定的智能主机
+export function getOrderHostDevice(deliveryId) {
+ return request({
+ url: '/deliveryDevice/getOrderHostDevice',
+ method: 'POST',
+ data: { deliveryId },
+ });
+}
// 装车订单 - 编辑
export function orderEdit(data) {
return request({
diff --git a/pc-cattle-transportation/src/views/entry/attestation.vue b/pc-cattle-transportation/src/views/entry/attestation.vue
index 2393b82..e5f6eab 100644
--- a/pc-cattle-transportation/src/views/entry/attestation.vue
+++ b/pc-cattle-transportation/src/views/entry/attestation.vue
@@ -54,16 +54,16 @@
- {{ scope.row.registeredJbqCount || '0' }}
+ {{ getTotalDeviceCount(scope.row.id) }}
-
- {{ scope.row.earTagCount || '0' }}
+
+ {{ getEarTagCount(scope.row.id) }}
- {{ scope.row.earTagCount || '0' }}
+ {{ getEarTagCount(scope.row.id) }}
@@ -105,10 +105,10 @@