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