From 185005970831ef5a6018bc3dd2432526e27d233f Mon Sep 17 00:00:00 2001 From: icewint Date: Mon, 23 Mar 2026 14:24:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A1=B9=E7=9B=AE=E4=B8=8A?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E7=9A=84=E5=B0=91=E9=87=8FBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/wcs/business/led/LxLedOperation.java | 34 ++----------------- .../business/stacker/StackerTaskCreator.java | 4 +++ .../PlcSiemensCommunication.java | 17 +++++----- .../org/wcs/plugin/plc/model/ScanInfo.java | 2 ++ .../wcs/quartzJob/ResolveStockTaskJob.java | 6 ++-- wcs/src/main/resources/application-prod.yml | 2 +- 6 files changed, 21 insertions(+), 44 deletions(-) diff --git a/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java b/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java index a90e729..f8b8fde 100644 --- a/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java +++ b/wcs/src/main/java/org/wcs/business/led/LxLedOperation.java @@ -1,11 +1,9 @@ package org.wcs.business.led; import org.springframework.stereotype.Service; -import org.wcs.model.pojo.led.LedDataDetail; import org.wcs.model.pojo.led.LedShowData; -import com.listenvision.LxLedCommunication; -import java.util.List; + /** * 灵信LED屏操作类 @@ -20,34 +18,6 @@ public class LxLedOperation implements ledOperation { */ @Override public synchronized String showLedBase(LedShowData ledShowData) { - try { - LxLedCommunication.InitLedType(ledShowData.getLedType()); // 初始化卡型号 - // 创建一个节目 - long createResult = LxLedCommunication.CreateProgram(ledShowData.getLedWidth(), ledShowData.getLedHeight(), ledShowData.getColorType(), 0, 3); - if (createResult == 0) { - return "节目对象创建失败"; - } - List dataDetails = ledShowData.getDataDetails(); - if(dataDetails == null || dataDetails.isEmpty()) { - return "显示内容为空"; - } - for (int i = 0; i < dataDetails.size(); i++) { - LedDataDetail dataDetail = dataDetails.get(i); - int createAreaResult = LxLedCommunication.AddMultiLineTextToImageTextArea(createResult, 0, i, 0, - dataDetail.getContent(), dataDetail.getFontName(), dataDetail.getFontSize(), dataDetail.getFontColor(), 0, 0, 0, - dataDetail.getInStyle(), dataDetail.getNSpeed(), 0, dataDetail.getNSpeed(), dataDetail.isVCenterIs() ? 1 : 0); - if (createAreaResult != 0) { - return "区域创建失败,错误信息:" + LxLedCommunication.GetErrorCodeInfo(createAreaResult); - } - } - int sendResult = LxLedCommunication.NetWorkSend(ledShowData.getLedIp(), createResult); - if (sendResult != 0) { - return "发送失败,错误信息:" + LxLedCommunication.GetErrorCodeInfo(sendResult); - } - LxLedCommunication.DeleteProgram(createResult); - return "发送成功"; - } catch (Exception e) { - return "LED屏显示失败,异常信息:" + e.getMessage(); - } + return null; } } diff --git a/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java b/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java index 34ef316..b8eadc3 100644 --- a/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java +++ b/wcs/src/main/java/org/wcs/business/stacker/StackerTaskCreator.java @@ -56,6 +56,7 @@ public class StackerTaskCreator { task.setTaskType(StackerTaskTypeEnum.IN.getCode().shortValue()); task.setGetStand(AppStringUtils.forceToShort(origin)); task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetLaneId(destinationLocation.getLaneId().shortValue()); task.setSetDepth(destinationLocation.getLaneId().shortValue()); task.setSetStand(AppStringUtils.forceToShort(destination)); task.setGetRow(AppObjectUtils.stringToInteger(originLocationData.length > 0, originLocationData[0]).shortValue()); @@ -117,6 +118,7 @@ public class StackerTaskCreator { task.setTaskType(StackerTaskTypeEnum.ERROR.getCode().shortValue()); task.setGetStand(AppStringUtils.forceToShort(origin)); task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetLaneId(destinationLocation.getLaneId().shortValue()); task.setSetDepth(destinationLocation.getLaneId().shortValue()); task.setSetStand(AppStringUtils.forceToShort(destination)); task.setGetRow(AppObjectUtils.stringToInteger(originLocationData.length > 0, originLocationData[0]).shortValue()); @@ -170,6 +172,7 @@ public class StackerTaskCreator { task.setTaskType(StackerTaskTypeEnum.OUT.getCode().shortValue()); task.setGetStand(AppStringUtils.forceToShort(origin)); task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetLaneId(destinationLocation.getLaneId().shortValue()); task.setSetDepth(destinationLocation.getLaneId().shortValue()); task.setSetStand(AppStringUtils.forceToShort(destination)); task.setGetRow(originLocation.getLRow().shortValue()); @@ -221,6 +224,7 @@ public class StackerTaskCreator { task.setTaskType(StackerTaskTypeEnum.MOVE.getCode().shortValue()); task.setGetStand(AppStringUtils.forceToShort(origin)); task.setGetLaneId(originLocation.getLaneId().shortValue()); + task.setSetLaneId(destinationLocation.getLaneId().shortValue()); task.setSetDepth(destinationLocation.getLaneId().shortValue()); task.setSetStand(AppStringUtils.forceToShort(destination)); task.setGetRow(originLocation.getLRow().shortValue()); diff --git a/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java b/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java index 8fec867..6e52690 100644 --- a/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java +++ b/wcs/src/main/java/org/wcs/plugin/plc/communication/PlcSiemensCommunication.java @@ -396,14 +396,15 @@ public class PlcSiemensCommunication implements IPlcCommunication { return new Tuple2<>(readResult.Message, null); } byte[] readBytes = readResult.Content; // 读到的数据 - ScanInfo scanInfo = new ScanInfo(); - scanInfo.setTag(siemensS7Net.getByteTransform().TransInt16(readBytes, 0)); - scanInfo.setVehicleSize(siemensS7Net.getByteTransform().TransInt16(readBytes, 2)); - scanInfo.setLength(siemensS7Net.getByteTransform().TransInt32(readBytes, 4)); - scanInfo.setWidth(siemensS7Net.getByteTransform().TransInt32(readBytes, 8)); - scanInfo.setHeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 12)); - scanInfo.setWeight(siemensS7Net.getByteTransform().TransInt32(readBytes, 16)); - scanInfo.setVehicleNo(siemensS7Net.getByteTransform().TransString(readBytes, 20 , PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, StandardCharsets.US_ASCII)); + ScanInfo scanInfo = ScanInfo.builder() + .tag(siemensS7Net.getByteTransform().TransInt16(readBytes, 0)) + .vehicleSize(siemensS7Net.getByteTransform().TransInt16(readBytes, 2)) + .length(siemensS7Net.getByteTransform().TransInt32(readBytes, 4)) + .width(siemensS7Net.getByteTransform().TransInt32(readBytes, 8)) + .height(siemensS7Net.getByteTransform().TransInt32(readBytes, 12)) + .weight(siemensS7Net.getByteTransform().TransInt32(readBytes, 16)) + .vehicleNo(siemensS7Net.getByteTransform().TransString(readBytes, 20 , PlcConfig.PLC_CONFIG_TASK_CONVEY_CODE_LENGTH, StandardCharsets.US_ASCII)) + .build(); return new Tuple2<>(null, scanInfo); } diff --git a/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java index 37f7500..77e6086 100644 --- a/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java +++ b/wcs/src/main/java/org/wcs/plugin/plc/model/ScanInfo.java @@ -1,5 +1,6 @@ package org.wcs.plugin.plc.model; +import lombok.Builder; import lombok.Getter; import lombok.Setter; @@ -8,6 +9,7 @@ import lombok.Setter; */ @Setter @Getter +@Builder public class ScanInfo { /** diff --git a/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java b/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java index df63671..dbf14e5 100644 --- a/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java +++ b/wcs/src/main/java/org/wcs/quartzJob/ResolveStockTaskJob.java @@ -225,7 +225,7 @@ public class ResolveStockTaskJob implements Job { */ private void resolveEndStockTask(List endTaskList) { for (AppStockComposeTask composeTask : endTaskList) { - List stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(composeTask.getUpperTaskId()); + List stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(composeTask.getTaskId()); if(stockSingleTasks == null) { continue; } @@ -234,7 +234,7 @@ public class ResolveStockTaskJob implements Job { Tuple2 reporterResult = ReportStandard.stockTaskReport(StockCallBackStatusEnum.FINISH, composeTask, composeTask.getTaskMsg()); if(reporterResult.getItem1() != null) { log.info("任务完成上报失败,组合任务ID:{},错误信息:{}", composeTask.getTaskId(), reporterResult.getItem1()); - dataRecorder.recordStockMsg(composeTask.getUpperTaskId(), composeTask.getVehicleNo(), "任务完成上报失败,错误信息:" + reporterResult.getItem1()); + dataRecorder.recordStockMsg(composeTask.getTaskId(), composeTask.getVehicleNo(), "任务完成上报失败,错误信息:" + reporterResult.getItem1()); return; } log.info("任务完成上报成功,组合任务ID:{},返回信息:{}", composeTask.getTaskId(), reporterResult.getItem2()); @@ -258,7 +258,7 @@ public class ResolveStockTaskJob implements Job { Tuple2 reporterResult = ReportStandard.stockTaskReport(StockCallBackStatusEnum.CANCEL, composeTask, composeTask.getTaskMsg()); if(reporterResult.getItem1() != null) { log.info("任务取消上报失败,组合任务ID:{},错误信息:{}", composeTask.getTaskId(), reporterResult.getItem1()); - dataRecorder.recordStockMsg(composeTask.getUpperTaskId(), composeTask.getVehicleNo(), "任务取消上报失败,错误信息:" + reporterResult.getItem1()); + dataRecorder.recordStockMsg(composeTask.getTaskId(), composeTask.getVehicleNo(), "任务取消上报失败,错误信息:" + reporterResult.getItem1()); return; } log.info("任务取消上报成功,组合任务ID:{},返回信息:{}", composeTask.getTaskId(), reporterResult.getItem2()); diff --git a/wcs/src/main/resources/application-prod.yml b/wcs/src/main/resources/application-prod.yml index 79d2e4f..b4bb631 100644 --- a/wcs/src/main/resources/application-prod.yml +++ b/wcs/src/main/resources/application-prod.yml @@ -1,6 +1,6 @@ spring: datasource: - url: jdbc:mysql://127.0.0.1:3306/wcs?characterEncoding=utf8&useSSL=false + url: jdbc:mysql://127.0.0.1:3306/wcs?characterEncoding=utf8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: Root123456 data: