springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
@@ -3,8 +3,10 @@ import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.example.springboot.controller.HomeController; import com.example.springboot.mapper.HomeMapper; import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import com.example.springboot.service.StorageCageService; import java.io.*; import java.util.ArrayList; @@ -18,6 +20,9 @@ public class PlcParameter2 extends Thread { @Autowired StorageCageService StorageCageService ; // 用于存储应用程序的配置信息 private Configuration config; @@ -39,7 +44,7 @@ } catch (InterruptedException e) { e.printStackTrace(); } StorageCageService = WebSocketServer.applicationContext.getBean(StorageCageService .class); // id List<String> addressList1 = Arrays.asList(config.getProperty("Parameter2.id").split(",")); @@ -127,7 +132,7 @@ // jsonObject.set("message", "Hello, Parameter2!"); // sendwServer.sendMessage(jsonObject.toString()); // } HomeController controller = new HomeController(); // HomeController controller = new HomeController(); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { @@ -182,19 +187,19 @@ } } } //完成出片 for (int i = 1; i <= 5; i++) { boolean value = sValue.get(i); if (value) { switch (i) { case 1: controller.UpdateTask(0, 0, paramlist.get(i)); StorageCageService.UpdateTask(2, 0, paramlist.get(i)); break; case 2: case 3: case 4: case 5: controller.UpdateTask(1, 0, paramlist.get(i)); StorageCageService.UpdateTask(3, 0, paramlist.get(i)); break; default: // 处理索引值不在范围内的情况 @@ -251,16 +256,16 @@ } } } // 终止进片任务 boolean Value1 = sValue.get(0); boolean Value2 = sValue.get(1); if (Value1) { controller.EndTask(0); StorageCageService.EndTask(0); } if (Value2) { controller.EndTask(0); StorageCageService.EndTask(1); } // 检查布尔值列表是否为空 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -5,64 +5,50 @@ import java.util.List; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import com.example.springboot.mapper.HomeMapper; import com.example.springboot.mapper.SpianMapper; import com.example.springboot.security.constant.SystemConstant; import com.example.springboot.security.util.JwtUtil; import com.example.springboot.security.util.SecurityUtil; import com.example.springboot.service.HomeService; import com.example.springboot.service.JdbcConnections; import com.example.springboot.service.North_Glass_Buffer1Service; import com.example.springboot.service.OutSliceServive; import com.example.springboot.service.PermissionService; import com.example.springboot.service.SpianService; import cn.hutool.core.util.StrUtil; import com.example.springboot.service.StorageCageService; import com.example.springboot.common.Result; import com.example.springboot.component.Plchome; import com.example.springboot.component.S7control; import com.example.springboot.entity.CarPosition; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.StorageTask; import com.example.springboot.entity.User; import com.example.springboot.entity.alarmmg; import com.example.springboot.entity.north_glass_buffer1; import com.example.springboot.entity.Out_slice; import com.example.springboot.entity.Permission; import com.example.springboot.entity.Queue; import com.example.springboot.entity.RolePermission; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @RestController @RequestMapping("/home") public class HomeController { @Autowired HomeMapper homeMapper; @Autowired HomeService storageRackService; @Autowired SpianService spianService; @Autowired SpianMapper spianMapper; @Autowired OutSliceServive outSliceServive; @Autowired StorageCageService StorageCageService; @Autowired North_Glass_Buffer1Service north_Glass_Buffer1Service; @@ -142,44 +128,18 @@ // 手动完成进/出片任务 终止进片/出片任务 @GetMapping("/UpdateTask") public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { StorageCageService.UpdateTask(types, shelfrack, glassid); Map<String, Object> map = new HashMap<>(); if (types == 0) {// 完成进片 spianService.overtask(glassid); } else if (types == 1) {// 完成出片 spianService.overtask(glassid); } else if (types == 2) {// 终止进片任务 outSliceServive.StopTask(glassid, 0); // 发送终止进片任务信号 } else {// 终止出片任务 outSliceServive.StopTask(glassid, 1); } map.put("message3", "200"); return Result.success(map); } //终止进片/出片任务 @GetMapping("/EndTask") public Result EndTask(int types) { if (types == 0) {// 终止进片任务 List<StorageTask> cageList = homeMapper.SelectTaskByState(types); for (StorageTask storageTask : cageList) { outSliceServive.StopTask(storageTask.getGlassId(), types); } // 发送终止进片任务信号 } else {// 终止出片任务 List<StorageCage> storageCages =homeMapper.selectinout(types); for (StorageCage storageCage : storageCages) { List<StorageCage> storageCagess=homeMapper.SelectStoragesGlassById(storageCage.getGlassId()); for (StorageCage storageCagez : storageCagess) { if (storageCagez.getState().equals("2")) {//调拨进片 outSliceServive.StopTask(storageCagez.getGlassId(), 0); }else{//出片 outSliceServive.StopTask(storageCagez.getGlassId(), types); } } } } public Result EndTask(int types) { StorageCageService.EndTask(types); Map<String, Object> map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
New file @@ -0,0 +1,54 @@ package com.example.springboot.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.StorageTask; import com.example.springboot.mapper.HomeMapper; import org.springframework.stereotype.Service; @Service public class StorageCageService { @Autowired private HomeMapper homeMapper; private OutSliceServive outSliceServive; private SpianService spianService; public void EndTask(int types) { if (types == 0) {// 终止进片任务 List<StorageTask> cageList = homeMapper.SelectTaskByState(types); for (StorageTask storageTask : cageList) { outSliceServive.StopTask(storageTask.getGlassId(), types); } // 发送终止进片任务信号 } else {// 终止出片任务 List<StorageCage> storageCages =homeMapper.selectinout(types); for (StorageCage storageCage : storageCages) { List<StorageCage> storageCagess=homeMapper.SelectStoragesGlassById(storageCage.getGlassId()); for (StorageCage storageCagez : storageCagess) { if (storageCagez.getState().equals("2")) {//调拨进片 outSliceServive.StopTask(storageCagez.getGlassId(), 0); }else{//出片 outSliceServive.StopTask(storageCagez.getGlassId(), types); } } } } } public void UpdateTask(Integer types, Integer shelfrack, String glassid) { if (types == 0) {// 完成进片 spianService.overtask(glassid); } else if (types == 1) {// 完成出片 spianService.overtask(glassid); } else if (types == 2) {// 终止进片任务 outSliceServive.StopTask(glassid, 0); // 发送终止进片任务信号 } else {// 终止出片任务 outSliceServive.StopTask(glassid, 1); } } }