From 770531b9645ed712be426346148387f165d39773 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期一, 23 十二月 2024 17:25:45 +0800
Subject: [PATCH] 添加日志功能,更新SignalR接口,优化前端日志展示逻辑
---
Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue | 39 +++++-
.gitignore | 8 +
Code Management/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_Hty.js | 82 +++++++++++++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 3
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 2
Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js | 3
/dev/null | 0
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 106 +++++++++++------
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json | 4
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Hub/ISimpleHub.cs | 7 +
Code Management/WMS/WIDESEA_WMSClient/src/api/http.js | 4
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/INoticeService.cs | 9 +
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/SignalrNoticeService.cs | 7 +
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs | 15 ++
Code Management/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_needBarcode.js | 60 ++++++++++
Code Management/WCS/WIDESEAWCS_Client/src/api/http.js | 4
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue | 2
17 files changed, 294 insertions(+), 61 deletions(-)
diff --git a/.gitignore b/.gitignore
index c3f7b2a..2823dd4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1579,3 +1579,11 @@
/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/CodeChunks.db
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/CodeChunks.db-shm
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/CodeChunks.db-wal
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/SemanticSymbols.db
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/CodeChunks.db-wal
+/Code Management/.vs/Code Management/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
+/Code Management/.vs/slnx.sqlite
diff --git a/Code Management/.vs/slnx.sqlite b/Code Management/.vs/slnx.sqlite
deleted file mode 100644
index 9eff72b..0000000
--- a/Code Management/.vs/slnx.sqlite
+++ /dev/null
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js b/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
index 5c21539..bd5780f 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -12,8 +12,8 @@
let loadingInstance;
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
- // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
- axios.defaults.baseURL = 'http://192.168.5.251:9291/';
+ axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+ // axios.defaults.baseURL = 'http://192.168.5.251:9291/';
}
else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'http://127.0.0.1:8098/';
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_needBarcode.js b/Code Management/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_needBarcode.js
new file mode 100644
index 0000000..d9e0fae
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_needBarcode.js
@@ -0,0 +1,60 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridBody from './extend/routerview.vue';
+import gridHeader from './extend/addrouters.vue';
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: gridHeader,
+ gridBody: gridBody,
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ }
+ }
+ };
+ export default extension;
+
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_Hty.js b/Code Management/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_Hty.js
new file mode 100644
index 0000000..c130b04
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task_Hty.js
@@ -0,0 +1,82 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridBody from './extend/taskExecuteDetail.vue'
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: gridBody,
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+ // this.$Notice.success({ title: this.detailOptions.cnName + ',鏌ヨ缁撴灉', desc: '杩斿洖鐨勫璞★細' + JSON.stringify(data) });
+
+ // var previousButton = this.buttons.find((x) => x.value == "Previous");
+ // if (previousButton) previousButton.hidden = true;
+ // var nextButton = this.buttons.find((x) => x.value == "Next");
+ // if (nextButton) nextButton.hidden = true;
+ // var recoveryButton = this.buttons.find((x) => x.value == "TaskRecovery");
+ // if (recoveryButton) recoveryButton.hidden = true;
+
+ //鎵╁睍椤甸潰鍒濆鍖栨搷浣�
+ this.columns.push({
+ field: '鎿嶄綔',
+ title: '鎿嶄綔',
+ width: 70,
+ fixed: 'right',
+ align: 'center',
+ formatter: (row) => {
+ return (
+ '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅</i>'
+ );
+ },
+ click: (row) => {
+ this.$refs.gridBody.open(row);
+ }
+ });
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ }
+ }
+};
+export default extension;
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js b/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
index 5534440..db2c4c7 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/uitils/signalr.js
@@ -95,6 +95,9 @@
connection.on("LineData", (data) => {
eventBus.emit("locationData", data);
});
+ connection.on("Logs", (data) => {
+ eventBus.emit("Logs", data);
+ });
};
//椤甸潰閿�姣�
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
index 2d83b3c..134ace2 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
@@ -1,21 +1,38 @@
<template>
<div class="title"></div>
+ <el-container>
+ <el-header>鏃ュ織</el-header>
+ <el-main>
+ <el-card v-for="(log, index) in logs" :key="index" class="log-card" :style="{ color: log.color }">
+ <div :style="{ color: log.color }">{{ log.logEntry }}</div>
+ <div :style="{ color: log.color }">{{ log.time }}</div>
+ </el-card>
+ </el-main>
+ </el-container>
</template>
<script>
-import { ref, reactive } from 'vue'
-import eventBus from "../uitils/eventBus";
+import { ref, onMounted } from 'vue'
+import eventBus from "@/uitils/eventBus";
+
export default {
setup() {
+ const logs = ref([]);
+ onMounted(() => {
+ eventBus.on('Logs', eventData => {
+ if (logs.value.length > 500) {
+ logs.value = [];
+ }
+ const logEntry = "鏃ュ織淇℃伅锛�" + eventData.log
+ const time = "鏃堕棿锛�" + eventData.time
+ logs.value.unshift({ logEntry: logEntry, time: time, color: eventData.color });
+
+ // logs.value.unshift(logEntry);
+ });
+ });
return {
+ logs
}
-
- eventBus.on('stackerData', eventData => {
- console.log(eventData);
- })
- eventBus.on('locationData', eventData => {
- console.log(eventData);
- })
}
}
</script>
@@ -27,4 +44,8 @@
font-size: 28px;
color: orange;
}
+
+.log-card {
+ margin-bottom: 10px;
+}
</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
index 44f23f1..8b3e578 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -12,9 +12,9 @@
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
//杩炴帴瀛楃涓�
//"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
- //"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True",
+ "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True",
//"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//璺ㄥ煙
"Cors": {
"PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Hub/ISimpleHub.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Hub/ISimpleHub.cs
index 2816628..f008564 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Hub/ISimpleHub.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Hub/ISimpleHub.cs
@@ -32,4 +32,11 @@
/// <param name="context"></param>
/// <returns></returns>
Task LineData(object context);
+
+ /// <summary>
+ /// 绾夸綋鏁版嵁
+ /// </summary>
+ /// <param name="context"></param>
+ /// <returns></returns>
+ Task Logs(object context);
}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/INoticeService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/INoticeService.cs
index 5b969f8..f15bf2b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/INoticeService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/INoticeService.cs
@@ -51,4 +51,13 @@
/// <param name="message">閫氱煡鍐呭</param>
/// <returns></returns>
Task LineData(int? userId, List<string> clientIds, object message);
+
+ /// <summary>
+ /// 鏃ュ織娴佺▼鏁版嵁
+ /// </summary>
+ /// <param name="userId">鐢ㄦ埛ID</param>
+ /// <param name="clientIds">clientId鍒楄〃</param>
+ /// <param name="message">閫氱煡鍐呭</param>
+ /// <returns></returns>
+ Task Logs(List<string> clientIds, object message);
}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/SignalrNoticeService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/SignalrNoticeService.cs
index 3bbb94f..071468b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/SignalrNoticeService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/Service/SignalrNoticeService.cs
@@ -59,5 +59,12 @@
await GetHubContext().Clients.Users(clientIds).LineData(message);
}
+ /// <inheritdoc/>
+ public async Task Logs(List<string> clientIds, object message)
+ {
+ //鍙戦�佹秷鎭粰鐢ㄦ埛
+ await GetHubContext().Clients.Users(clientIds).Logs(message);
+ }
+
#endregion MyRegion
}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 9ba2a5b..f18b745 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -227,8 +227,7 @@
_Task.TaskState = (int)TaskInStatusEnum.InNew;
_Task.CurrentAddress = task.SourceAddress;
_Task.NextAddress = station.stationNGChildCode;
- _Task.TargetAddress = station.stationNGLocation;
- _Task.Roadway = station.Roadway;
+ _Task.TargetAddress = task.TargetAddress;
BaseDal.AddData(_Task);
_taskExecuteDetailService.AddTaskExecuteDetail(_Task.TaskNum, "鎺ユ敹WMS浠诲姟");
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index 71047ab..7e0cec8 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -1,5 +1,6 @@
锘縰sing AutoMapper;
using HslCommunication;
+using NetTaste;
using Newtonsoft.Json;
using Quartz;
using SqlSugar;
@@ -42,6 +43,10 @@
private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly ICacheService _cacheService;
private readonly INoticeService _noticeService;
+
+ private static List<string>? userTokenIds;
+ private static List<int>? userIds;
+
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
{
@@ -157,15 +162,30 @@
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
if (command != null && commandWrite != null)
{
+
#region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
// 鑾峰彇缂撳瓨涓殑鐢ㄦ埛淇℃伅
- var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
- if (tokenInfos != null && tokenInfos.Any())
+ if (userTokenIds == null && userIds == null)
{
- var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
- var userIds = tokenInfos.Select(x => x.UserId).ToList();
+ var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
+ if (tokenInfos != null && tokenInfos.Any())
+ {
+ userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
+ userIds = tokenInfos.Select(x => x.UserId).ToList();
+ // 鏋勯�犻�氱煡鏁版嵁
+ object obj = new
+ {
+ command,
+ commandWrite
+ };
+ // 鍙戦�侀�氱煡
+ _noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
+ }
+ }
+ else
+ {
// 鏋勯�犻�氱煡鏁版嵁
object obj = new
{
@@ -191,20 +211,13 @@
int itemValue = item.ProtocalDetailValue.ObjToInt();
if (structs[itemValue] == true)
{
- var numRead = itemValue;
- var numWrite = itemValue + 1;
- // 杈撳嚭璀﹀憡淇℃伅
- ConsoleHelper.WriteWarningLine($"銆恵conveyorLine.DeviceName}銆戙�恵childDeviceCode}銆戙�恵numRead.ToString()}銆戜綅杈撻�佺嚎璇诲彇淇″彿锛氥�恵structs[itemValue]}銆� 銆恵numWrite}銆戜綅WCS鍐欏叆淇″彿锛氥�恵structs[itemValue + 1]}銆�");
- if (structs[itemValue + 1] != structs[itemValue])
+ // 鑾峰彇澶勭悊鏂规硶
+ MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
+ if (method != null)
{
- // 鑾峰彇澶勭悊鏂规硶
- MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
- if (method != null)
- {
- command.InteractiveSignal = writeInteractiveSignal;
- // 璋冪敤澶勭悊鏂规硶
- method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
- }
+ command.InteractiveSignal = writeInteractiveSignal;
+ // 璋冪敤澶勭悊鏂规硶
+ method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
}
}
else
@@ -239,6 +252,7 @@
}
}
}
+
}
return Task.CompletedTask;
}
@@ -252,12 +266,16 @@
/// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
/// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
/// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
- public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
+ public async Task RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
try
{
// 杈撳嚭璀﹀憡淇℃伅锛岃〃绀轰换鍔″凡鍒拌揪瀛愯澶囧苟璇锋眰鎵爜鍏ュ簱
- ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�");
+ var log = $"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�";
+ ConsoleHelper.WriteWarningLine(log);
+ // 鍙戦�侀�氱煡
+ await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
+ WriteInfo(conveyorLine.DeviceName, log);
// 鏌ヨ鏉$爜瀵瑰簲鐨勪换鍔�
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
@@ -675,7 +693,7 @@
#endregion 妫�娴嬬┖鐩樺疄鐩樹换鍔�
- #region 鍖栨垚NG鍙e叆搴�
+ #region 璁惧NG鍙e叆搴�
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
{
@@ -706,36 +724,44 @@
WriteInfo("鍏ョ珯鏍¢獙", $"銆恵childDeviceCode}銆戝叆绔欐牎楠岃繑鍥炲弬鏁般�恵result}銆�");
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
- var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
- if (serialNosError.Count > 0)
+ if (result1.Success)
{
- return;
- }
- if (result1.SerialNos.Count <= 0)
- {
- // 绌烘墭鐩樺叆搴撻�昏緫
- Dt_Task dt_Task = new Dt_Task()
+ var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
+ if (serialNosError.Count > 0)
{
- TargetAddress = TargetAddress,
- PalletCode = command.Barcode,
- NextAddress = TargetAddress,
- TaskNum = 0
- };
+ return;
+ }
- var next = dt_Task.NextAddress;
- var taskCommand = MapTaskCommand(dt_Task, command);
- dt_Task.NextAddress = next;
+ if (result1.SerialNos.Count <= 0)
+ {
+ // 绌烘墭鐩樺叆搴撻�昏緫
+ Dt_Task dt_Task = new Dt_Task()
+ {
+ TargetAddress = TargetAddress,
+ PalletCode = command.Barcode,
+ NextAddress = TargetAddress,
+ TaskNum = 0
+ };
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
+ var next = dt_Task.NextAddress;
+ var taskCommand = MapTaskCommand(dt_Task, command);
+ dt_Task.NextAddress = next;
- ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+ conveyorLine.SendCommand(taskCommand, childDeviceCode);
+
+ ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+ }
+ else
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
+
+ ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+ }
}
else
{
- conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
- ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
}
}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
index 2b7eb3a..c8cfb1b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -202,7 +202,6 @@
/// </summary>
private async Task RequestWmsTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
-
var content = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
if (content.Status)
{
@@ -211,7 +210,6 @@
{
if (task.SourceAddress == "1059-4")
{
-
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵task.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵task.PalletCode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(瀹炵洏),涓嬩竴鐩爣鍦板潃銆恵1000}銆�");
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js b/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
index 8a14d24..aa57a03 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
@@ -11,8 +11,8 @@
let loadingInstance
let loadingStatus = false
if (process.env.NODE_ENV == 'development') {
- axios.defaults.baseURL = 'http://localhost:5000/';
- // axios.defaults.baseURL = 'http://192.168.20.251:5000/';
+ // axios.defaults.baseURL = 'http://localhost:5000/';
+ axios.defaults.baseURL = 'http://192.168.5.251:5000/';
}
else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'http://127.0.0.1:9991/';
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
index 426de9b..e558cd1 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -53,7 +53,7 @@
[{ field: 'id', title: '搴撳瓨ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
{ field: 'locationCode', title: '搴撲綅', type: 'string', width: 110, align: 'left', },
{ field: 'palletCode', title: '鎵樼洏鏉$爜', type: 'string', width: 110, align: 'left', },
- { field: 'isFull', title: '搴撳瓨绫诲瀷', type: 'bool', width: 110, align: 'left', bind: { key: "isFull", data: [] }, },
+ { field: 'isFull', title: '搴撳瓨绫诲瀷', type: 'bool', width: 110, align: 'left', bind: { key: "isFull", data: [{ key: false, value: '绌虹洏'},{ key: true, value: '瀹炵洏'}] }, },
{ field: 'linedProcessFeedbackTime', title: '宸ヨ壓寮�濮嬫椂闂�', type: 'string', width: 110, align: 'left',},
{ field: 'specialParameterDuration', title: '宸ヨ壓鏃堕暱', type: 'string', width: 110, align: 'left', sort: true },
{ field: 'outboundTime', title: '搴斿嚭搴撴椂闂�', type: 'string', width: 110, align: 'left', sort: true },
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
index 6c10ac6..934d40c 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
@@ -130,9 +130,22 @@
if (expressionType == LinqExpressionType.Equal)
{
if (string.IsNullOrEmpty(where))
+ {
+ // 閽堝瀛楃涓茬被鍨嬬殑瀛楁浣跨敤妯$硦鏌ヨ
where += $"{searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+ }
else
- where += $" and {searchParametersList[i].Name} = '{searchParametersList[i].Value}'";
+ {
+ // 閽堝甯冨皵绫诲瀷瀛楁杩涜绮剧‘鏌ヨ
+ if (searchParametersList[i].Value.ToLower() == "true" || searchParametersList[i].Value.ToLower() == "false")
+ {
+ where += $" and {searchParametersList[i].Name} = {searchParametersList[i].Value.ToLower()}";
+ }
+ else
+ {
+ where += $" and {searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+ }
+ }
}
else
{
--
Gitblit v1.9.3