From 096b8f212c15d92204d8eafb07fe1a2b75325440 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 24 Dec 2025 14:18:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(exit-cut):=20=E6=B7=BB=E5=8A=A0=E7=94=A9?= =?UTF-8?q?=E5=B0=BE=E4=BF=A1=E5=8F=B7=E5=8F=91=E9=80=81=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E6=89=A9=E5=B1=95=E5=AD=97=E5=85=B8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ExitCutHandler 中注入 OpcReceiverHandler 用于消息发送 - 添加 EntryMovementMessage 导入并实现甩尾信号发送逻辑 - 将字典数据表中字典键值长度限制从100字符扩展到10000字符 - 优化 SysDictData 中 toString 方法的代码格式 - 在 EXIT_CUT 消息处理完成后发送 ENTRY_MOVEMENT 消息实现甩尾功能 --- .../service/hanle/ExitCutHandler.java | 16 ++++++++- .../core/domain/entity/SysDictData.java | 36 +++++++++---------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/business/src/main/java/com/fizz/business/service/hanle/ExitCutHandler.java b/business/src/main/java/com/fizz/business/service/hanle/ExitCutHandler.java index 1887e20..c0cfdae 100644 --- a/business/src/main/java/com/fizz/business/service/hanle/ExitCutHandler.java +++ b/business/src/main/java/com/fizz/business/service/hanle/ExitCutHandler.java @@ -4,6 +4,7 @@ import cn.hutool.json.JSONUtil; import com.fizz.business.anno.OpcMessageHandlerType; import com.fizz.business.constants.enums.L1OperateMatEnum; import com.fizz.business.constants.enums.OpcMessageType; +import com.fizz.business.domain.msg.EntryMovementMessage; import com.fizz.business.domain.msg.ExitCutMessage; import com.fizz.business.dto.ExitCoilInfoDTO; import com.fizz.business.dto.MatmapDTO; @@ -16,6 +17,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import javax.annotation.Resource; + import static com.fizz.business.constants.enums.DeviceEnum.TR; @Component @@ -27,7 +30,8 @@ public class ExitCutHandler implements OpcMessageHandler { // 注入 PdoExCoilService private final PdoExCoilService pdoExCoilService; private final TrackService trackService; - + @Resource + private OpcReceiverHandler opcReceiverHandler; @Override public void handle(ExitCutMessage message) { // 1. 获取卷取机 (TR) 上的物料信息 @@ -50,12 +54,22 @@ public class ExitCutHandler implements OpcMessageHandler { pdoExCoilService.saveExCoil(exitCoilInfo); if (exitCoilInfo.isLastFlag()) { + trackService.l1OperateMat(L1OperateMatForm.builder() .trIdx(TR.getIdx()) .entryMatId(trMatmap.getMatId()) .planId(trMatmap.getPlanId()) .operation(L1OperateMatEnum.PRODUCT) .build()); + + // wangyu 配合二级发一个甩尾信号 01全甩一下 + EntryMovementMessage msg = new EntryMovementMessage(); + msg.setCounter(message.getCounter()); + msg.setMaterialPlaceSource(0); + msg.setMaterialPlaceDestination(200); + opcReceiverHandler.onMessageReceived(OpcMessageType.ENTRY_MOVEMENT,msg); + msg.setMaterialPlaceSource(1); + opcReceiverHandler.onMessageReceived(OpcMessageType.ENTRY_MOVEMENT,msg); } log.info("成功处理 EXIT_CUT 消息,已保存成品卷: " + exitCoilInfo.getExitMatId()); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java index 738f12c..38a7fe9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java @@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 字典数据表 sys_dict_data - * + * * @author ruoyi */ public class SysDictData extends BaseEntity @@ -85,7 +85,7 @@ public class SysDictData extends BaseEntity } @NotBlank(message = "字典键值不能为空") - @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符") + @Size(min = 0, max = 10000, message = "字典键值长度不能超过10000个字符") public String getDictValue() { return dictValue; @@ -153,24 +153,24 @@ public class SysDictData extends BaseEntity { this.status = status; } - + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("dictCode", getDictCode()) - .append("dictSort", getDictSort()) - .append("dictLabel", getDictLabel()) - .append("dictValue", getDictValue()) - .append("dictType", getDictType()) - .append("cssClass", getCssClass()) - .append("listClass", getListClass()) - .append("isDefault", getIsDefault()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); + .append("dictCode", getDictCode()) + .append("dictSort", getDictSort()) + .append("dictLabel", getDictLabel()) + .append("dictValue", getDictValue()) + .append("dictType", getDictType()) + .append("cssClass", getCssClass()) + .append("listClass", getListClass()) + .append("isDefault", getIsDefault()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); } }