From cd2e4016a60d0e779501189e3c1ec15886177463 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 10 Jun 2026 17:44:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(warning):=20=E6=B7=BB=E5=8A=A0=E4=BA=A7?= =?UTF-8?q?=E7=BA=BF=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsMaterialWarning 实体中新增 actionType 字段 - 在 WmsMaterialWarningBo 和 WmsMaterialWarningVo 中添加 actionType 属性 - 更新 WmsMaterialWarningMapper.xml 映射文件以包含 actionType 字段 - 在 WmsMaterialWarningServiceImpl 中注入 WmsCoilPendingActionMapper - 实现告警查询时根据产线类型过滤的功能 - 在告警插入前查询并设置对应的产线类型信息 - 完善告警服务中的厚度和长度检查逻辑 --- .../com/klp/domain/WmsMaterialWarning.java | 6 +++++ .../klp/domain/bo/WmsMaterialWarningBo.java | 5 +++++ .../klp/domain/vo/WmsMaterialWarningVo.java | 6 +++++ .../impl/WmsMaterialCoilServiceImpl.java | 5 +++++ .../impl/WmsMaterialWarningServiceImpl.java | 22 ++++++++++++++++++- .../mapper/klp/WmsMaterialWarningMapper.xml | 1 + 6 files changed, 44 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsMaterialWarning.java b/klp-wms/src/main/java/com/klp/domain/WmsMaterialWarning.java index eb1e15f0..0643d6ef 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsMaterialWarning.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsMaterialWarning.java @@ -35,6 +35,12 @@ public class WmsMaterialWarning extends BaseEntity { * 告警类型(LENGTH=长度, THICKNESS=厚度, WIDTH=宽度) */ private String warningType; + + /** + * 产线类型 + */ + private Integer actionType; + /** * 理论值 */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialWarningBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialWarningBo.java index c8f6ff0e..de3cbd07 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialWarningBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialWarningBo.java @@ -35,6 +35,11 @@ public class WmsMaterialWarningBo extends BaseEntity { */ private String warningType; + /** + * 产线类型 + */ + private Integer actionType; + /** * 理论值 */ diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialWarningVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialWarningVo.java index 3c6e1696..d33493c0 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialWarningVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialWarningVo.java @@ -41,6 +41,12 @@ public class WmsMaterialWarningVo { @ExcelProperty(value = "告警类型(LENGTH=长度, THICKNESS=厚度, WIDTH=宽度)") private String warningType; + /** + * 产线类型 + */ + @ExcelProperty(value = "产线类型") + private Integer actionType; + /** * 理论值 */ diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index dd47376f..fed32acf 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -2137,6 +2137,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { baseMapper.insert(newCoil); // 检查长度/厚度偏差并插入告警 + newCoilBo.setActionId(bo.getCoilId()); materialWarningService.checkAndInsertWarnings(newCoil, newCoilBo); newCoils.add(newCoil); @@ -2287,6 +2288,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { baseMapper.insert(newCoil); // 检查长度/厚度偏差并插入告警 + bo.setActionId(bo.getNewCoils().get(0).getActionId()); materialWarningService.checkAndInsertWarnings(newCoil, bo); newCoils.add(newCoil); @@ -3603,6 +3605,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { for (WmsMaterialCoilBo originalCoilBo : bo.getNewCoils()) { if (originalCoilBo.getCoilId() == null) { continue; + }else { + bo.setActionId(coilToActionIdMap.get(originalCoilBo.getCoilId())); } if (!coilIdSet.add(originalCoilBo.getCoilId())) { throw new RuntimeException("参与合卷的钢卷中存在重复,相同的钢卷不能进行合卷操作"); @@ -5143,6 +5147,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { baseMapper.insert(childCoil); // 检查长度/厚度偏差并插入告警 + childCoilBo.setActionId(pendingActionId); materialWarningService.checkAndInsertWarnings(childCoil, childCoilBo); // 插入子钢卷的异常信息 diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialWarningServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialWarningServiceImpl.java index f9fbee7e..8d99183e 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialWarningServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialWarningServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.core.service.ConfigService; import com.klp.common.utils.StringUtils; import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.mapper.WmsCoilPendingActionMapper; import com.klp.mapper.WmsMaterialCoilMapper; import com.klp.service.IWmsMaterialCoilService; import lombok.RequiredArgsConstructor; @@ -18,6 +19,7 @@ import com.klp.domain.bo.WmsMaterialWarningBo; import com.klp.domain.vo.WmsMaterialWarningVo; import com.klp.domain.WmsMaterialCoil; import com.klp.domain.WmsMaterialWarning; +import com.klp.domain.WmsCoilPendingAction; import com.klp.domain.bo.WmsMaterialCoilBo; import com.klp.mapper.WmsMaterialWarningMapper; import com.klp.service.IWmsMaterialWarningService; @@ -43,6 +45,7 @@ public class WmsMaterialWarningServiceImpl implements IWmsMaterialWarningService private final WmsMaterialWarningMapper baseMapper; private final ConfigService configService; + private final WmsCoilPendingActionMapper wmsCoilPendingActionMapper; /** @@ -91,6 +94,7 @@ public class WmsMaterialWarningServiceImpl implements IWmsMaterialWarningService } } lqw.eq(StringUtils.isNotBlank(bo.getWarningType()), WmsMaterialWarning::getWarningType, bo.getWarningType()); + lqw.eq(bo.getActionType() !=null, WmsMaterialWarning::getActionType, bo.getActionType()); lqw.eq(bo.getTheoreticalVal() != null, WmsMaterialWarning::getTheoreticalVal, bo.getTheoreticalVal()); lqw.eq(bo.getActualVal() != null, WmsMaterialWarning::getActualVal, bo.getActualVal()); lqw.eq(bo.getAllowDeviation() != null, WmsMaterialWarning::getAllowDeviation, bo.getAllowDeviation()); @@ -179,8 +183,24 @@ public class WmsMaterialWarningServiceImpl implements IWmsMaterialWarningService // ========== 厚度检查 ========== checkThickness(coil, bo, warnings); - // 批量插入 + // 批量插入(查询产线类型并设置) if (!warnings.isEmpty()) { + Integer actionType = null; + if (bo != null && bo.getActionId() != null) { + try { + WmsCoilPendingAction action = wmsCoilPendingActionMapper.selectById(bo.getActionId()); + if (action != null) { + actionType = action.getActionType(); + } + } catch (Exception e) { + log.warn("查询产线类型失败, actionId={}", bo.getActionId(), e); + } + } + if (actionType != null) { + for (WmsMaterialWarning w : warnings) { + w.setActionType(actionType); + } + } try { baseMapper.insertBatch(warnings); log.info("批量插入钢卷告警记录成功, coilId={}, 告警数={}", coil.getCoilId(), warnings.size()); diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialWarningMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialWarningMapper.xml index 739b52ab..13c73fcc 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialWarningMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialWarningMapper.xml @@ -8,6 +8,7 @@ +