From f99ff750a82209b1b34b72f2ff78bfe448a1d66a Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 31 十月 2024 13:52:18 +0800
Subject: [PATCH] 义乌上片功能(部分)
---
UI-Project/src/views/Returns/upreturns.vue | 109 ++++++++++-----------------
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcUpLoadGlassTask.java | 111 +++++++++++++++++++++++++++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java | 10 ++
3 files changed, 160 insertions(+), 70 deletions(-)
diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 1d25199..8efd86a 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -1,16 +1,14 @@
<script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
-const router = useRouter()
-import type { TableColumnCtx } from 'element-plus'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { useI18n } from 'vue-i18n'
-const { t } = useI18n()
-import { WebSocketHost ,host} from '@/utils/constants'
+import {ElMessage} from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+
+const router = useRouter()
+const {t} = useI18n()
const selectValuesa = reactive([]);
const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
@@ -59,12 +57,16 @@
};
const selectproject = () => {
dialogFormVisible.value = true;
+ selectgong();
};
onMounted(() => {
- // socket = initializeWebSocket(socketUrl, handleMessage);
+ socket = initializeWebSocket(socketUrl, handleMessage);
});
+const handleMessage = (data) => {
+
+}
onUnmounted(() => {
if (socket) {
closeWebSocket(socket);
@@ -72,68 +74,43 @@
});
//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
const titleSelectJson = ref({
- processType: [],
-})
-const titleSelectJsona = ref({
- processTypea: [],
+ engineerId: [],
})
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-
-const requestData = {
- state: 100
-};
-
onBeforeUnmount(() => {
closeWebSocket();
});
+const selectgong = async () => {
+ try {
+ const response = await request.post('/loadGlass/upEngineering/selectTask')
+ if (response.code == 200) {
+ titleSelectJson.value.engineerId = response.data;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
// 娣诲姞
const handleBindRack = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
ida.value = row.id;
add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
-// 鏆傚仠
-const handlea = async () => {
- try {
- let engineeringId = window.localStorage.getItem('engineeringId')
-console.log(engineeringId);
-if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
- engineeringId: engineeringId,
- state: 0,
- })
- if (response.code == 200) {
- ElMessage.success(response.message);
- blinda.value = false;
- // tableData.splice([]);
- } else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.message);
- }
- }
- else {
- ElMessage({
- type: 'info',
- message: t('basicData.infonull'),
- })
- }
-}
-catch (error) {
- // 澶勭悊閿欒
- console.error(error);
- }
-}
+
function getStatusText(state: number) {
switch (state) {
- case 0:
+ case 0:
return t('basicData.waiting');
- case 1:
+ case 1:
return t('basicData.up');
- case 2:
- return t('basicData.up');
+ case 2:
+ return t('basicData.up');
case 100:
return t('basicData.finish');
}
@@ -163,11 +140,7 @@
blindb.value = true;
};
-// 鍒犻櫎
-const handleBindRacka = (row) => {
- workstationId.value = row.workstationId;
- adda.value = true;
-};
+
const toggleEnableState = async (row: any) => {
// 妫�鏌� id 鏄惁涓虹┖
if (!row.id) {
@@ -486,13 +459,13 @@
:placeholder="$t('basicData.plselectproject')"
style="width: 220px"
@input="handleInputChange"
- >
- <el-option
- v-for="item in titleSelectJson['processType']"
- :key="item.id"
- :label="item.projectNo"
- :value="item.projectNo"
- />
+ >
+ <el-option
+ v-for="item in titleSelectJson['engineerId']"
+ :key="item.id"
+ :label="item.engineerId"
+ :value="item.engineerId"
+ />
</el-select>
</el-form-item>
</div>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
index c9321fa..577148c 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -24,13 +24,19 @@
/**
* 宸ョ▼琛╥d
*/
- @TableId(value = "id", type = IdType.AUTO)
+ @TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 宸ョ▼鍙�
*/
- private String engineerId;
+ private String engineerId;
+
+
+ /**
+ * 璁惧
+ */
+ private String stationCell;
/**
* 宸ョ▼鍚嶇О
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcUpLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcUpLoadGlassTask.java
new file mode 100644
index 0000000..87dcff9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcUpLoadGlassTask.java
@@ -0,0 +1,111 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.tools.WebSocketServer;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.workstation.entity.UpWorkstation;
+import com.mes.workstation.service.UpWorkstationService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author SNG-010
+ */
+@Component
+@Slf4j
+public class PlcUpGlassTask {
+
+ @Autowired
+ private UpPattenUsageService upPattenUsageService;
+ @Autowired
+ private UpWorkstationService upWorkstationService;
+ @Autowired
+ private EngineeringService engineeringService;
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+
+ /**
+ * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
+ * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
+ */
+
+// @Scheduled(fixedDelay = 300)
+ public void plcLoadGlassTask() throws InterruptedException {
+ try {
+ //鍏堝垽鏂槸鍚︽湁姝e湪寮�濮嬬殑宸ョ▼
+ Engineering engineering = engineeringService.selectInitiate(1, 1);
+ //鑾峰彇鏄惁鏈変笂鐗囪姹�
+ String loadRequest1 = plcParameterObject.getPlcParameter("loadRequest").getValue();
+ //褰撳悓鏃舵湁涓婄墖璇锋眰鍜屾湁姝e湪寮�濮嬬殑宸ョ▼鏃惰繘鍏ヤ笂鐗囧垽鏂�
+ if (loadRequest1.equals(1) && engineering != null) {
+ //鑾峰彇褰撳墠寮�濮嬬殑宸ョ▼鍙�
+ UpPattenUsage upPattenUsage = upWorkstationService.selectPriority(engineering);
+ //鐢ㄥ伐绋嬪彿鏌ヨ鏈涓婄墖鐨勫昂瀵镐俊鎭幏鍙栧伐浣嶄綅缃�
+ //UpWorkstation upwork = upWorkstationService.selectWorkstation(upPattenUsage);
+
+ }
+ //鎵ц鍚庝紤鐪�300姣
+ //Thread.sleep(300);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ // @Scheduled(fixedDelay = 300)
+ public void plcLoadGlassTask2() throws InterruptedException {
+ try {
+ //鍏堝垽鏂槸鍚︽湁姝e湪寮�濮嬬殑宸ョ▼
+ Engineering engineering = engineeringService.selectInitiate(2, 1);
+ //鑾峰彇鏄惁鏈変笂鐗囪姹�
+ String loadRequest2 = plcParameterObject.getPlcParameter("loadRequest").getValue();
+ //褰撳悓鏃舵湁涓婄墖璇锋眰鍜屾湁姝e湪寮�濮嬬殑宸ョ▼鏃惰繘鍏ヤ笂鐗囧垽鏂�
+ if (loadRequest2.equals(1) && engineering != null) {
+ //鑾峰彇褰撳墠寮�濮嬬殑宸ョ▼鍙�
+ UpPattenUsage upPattenUsage = upWorkstationService.selectPriority(engineering);
+ //鐢ㄥ伐绋嬪彿鏌ヨ鏈涓婄墖鐨勫昂瀵镐俊鎭幏鍙栧伐浣嶄綅缃�
+ //UpWorkstation upwork = upWorkstationService.selectWorkstation(upPattenUsage);
+
+ }
+ //鎵ц鍚庝紤鐪�300姣
+ //Thread.sleep(300);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Scheduled(fixedDelay = 3000)
+ public void loadGlassHome() {
+ JSONObject jsonObject = new JSONObject();
+ //姝e湪杩涜鐨勪换鍔�
+ //宸ヤ綅淇℃伅
+ List<UpWorkstation> upWorkstations = upWorkstationService.list();
+ jsonObject.append("list", upWorkstations);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("uploadGlass");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+// List<String> messages = webserver.getMessages();
+// if (!messages.isEmpty()) {
+// // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+// webserver.clearMessages();
+// }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+ }
+ }
+
+
+}
\ No newline at end of file
--
Gitblit v1.8.0