From 6cd81c4fcc66b27d4c7309fe2e473ae189dc8a0a Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 28 Jul 2026 13:59:42 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-28=20=E5=BC=82=E5=B8=B8=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ScheduleServiceImpl.java | 27 +++---------------- .../SysSceneExceptionRuleConditionEntity.java | 4 --- .../entity/SysSceneExceptionRuleEntity.java | 4 +++ .../SysSceneExceptionRuleServiceImpl.java | 12 ++++++--- .../sys/SysSceneExceptionRuleMapper.xml | 14 +++++----- 5 files changed, 22 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index 49fcaaf..3611e25 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -3758,6 +3758,9 @@ public class ScheduleServiceImpl implements ScheduleService { List metricContextList = buildSplitRollMetricContexts(inData); for (SysSceneExceptionRuleEntity rule : ruleList) { + if (!matchesTriggerWorkCenter(rule.getTriggerWorkCenter(), currentWorkCenterNo)) { + continue; + } SysSceneExceptionRuleConditionEntity query = new SysSceneExceptionRuleConditionEntity(); query.setSite(rule.getSite()); query.setBuNo(rule.getBuNo()); @@ -3766,9 +3769,6 @@ public class ScheduleServiceImpl implements ScheduleService { if (CollectionUtils.isEmpty(conditionList)) { continue; } - if (!containsWorkCenterForRule(conditionList, currentWorkCenterNo)) { - continue; - } Map> childMap = new LinkedHashMap<>(); List rootList = new ArrayList<>(); @@ -3792,12 +3792,6 @@ public class ScheduleServiceImpl implements ScheduleService { continue; } for (SysSceneExceptionRuleConditionEntity child : childList) { - String triggerWorkCenter = StringUtils.hasText(child.getTriggerWorkCenter()) - ? child.getTriggerWorkCenter() - : root.getTriggerWorkCenter(); - if (!matchesTriggerWorkCenter(triggerWorkCenter, currentWorkCenterNo)) { - continue; - } if (!isConditionMatched(child, metricMap)) { continue; } @@ -4194,21 +4188,6 @@ public class ScheduleServiceImpl implements ScheduleService { } } - private boolean containsWorkCenterForRule(List conditionList, String workCenterNo) { - if (CollectionUtils.isEmpty(conditionList) || !StringUtils.hasText(workCenterNo)) { - return false; - } - for (SysSceneExceptionRuleConditionEntity condition : conditionList) { - if (condition == null) { - continue; - } - if (matchesTriggerWorkCenter(condition.getTriggerWorkCenter(), workCenterNo)) { - return true; - } - } - return false; - } - private boolean matchesTriggerWorkCenter(String triggerWorkCenter, String workCenterNo) { if (!StringUtils.hasText(triggerWorkCenter) || !StringUtils.hasText(workCenterNo)) { return false; diff --git a/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleConditionEntity.java b/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleConditionEntity.java index c4d9ce7..0b08ba1 100644 --- a/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleConditionEntity.java +++ b/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleConditionEntity.java @@ -37,10 +37,6 @@ public class SysSceneExceptionRuleConditionEntity extends QueryPage { * 异常代码 / 异常单 */ private String triggerEvent; - /** - * 触发工序(加工中心,多个用分号分隔) - */ - private String triggerWorkCenter; private String createBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") diff --git a/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleEntity.java b/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleEntity.java index 857dea6..fbb8c7e 100644 --- a/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleEntity.java +++ b/src/main/java/com/gaotao/modules/sys/entity/SysSceneExceptionRuleEntity.java @@ -33,6 +33,10 @@ public class SysSceneExceptionRuleEntity extends QueryPage { * Y: 启用 N: 禁用 */ private String enableFlag; + /** + * 触发工序(加工中心,多个用分号分隔) + */ + private String triggerWorkCenter; private String userName; private String createBy; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/src/main/java/com/gaotao/modules/sys/service/impl/SysSceneExceptionRuleServiceImpl.java b/src/main/java/com/gaotao/modules/sys/service/impl/SysSceneExceptionRuleServiceImpl.java index 93976be..743ff6e 100644 --- a/src/main/java/com/gaotao/modules/sys/service/impl/SysSceneExceptionRuleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/sys/service/impl/SysSceneExceptionRuleServiceImpl.java @@ -54,6 +54,10 @@ public class SysSceneExceptionRuleServiceImpl implements SysSceneExceptionRuleSe if (StringUtils.isBlank(data.getApplyButton())) { throw new RuntimeException("应用按钮不能为空"); } + data.setTriggerWorkCenter(normalizeTriggerWorkCenter(data.getTriggerWorkCenter())); + if (StringUtils.isBlank(data.getTriggerWorkCenter())) { + throw new RuntimeException("触发工序不能为空"); + } TransNoControl transNo = transNoControlMapper.getTransNo(data.getSite(), TRANS_TYPE, data.getBuNo()); if (transNo == null || StringUtils.isBlank(transNo.getNewTransNo())) { throw new RuntimeException("规则编码生成失败,请先在TransNoControl维护trans_type=" + TRANS_TYPE); @@ -80,6 +84,10 @@ public class SysSceneExceptionRuleServiceImpl implements SysSceneExceptionRuleSe if (StringUtils.isBlank(data.getApplyButton())) { throw new RuntimeException("应用按钮不能为空"); } + data.setTriggerWorkCenter(normalizeTriggerWorkCenter(data.getTriggerWorkCenter())); + if (StringUtils.isBlank(data.getTriggerWorkCenter())) { + throw new RuntimeException("触发工序不能为空"); + } data.setEnableFlag(StringUtils.isBlank(data.getEnableFlag()) ? "Y" : data.getEnableFlag()); data.setUpdateBy(getCurrentUserName()); sysSceneExceptionRuleMapper.updateRule(data); @@ -184,10 +192,6 @@ public class SysSceneExceptionRuleServiceImpl implements SysSceneExceptionRuleSe if (StringUtils.isBlank(data.getForceType())) { throw new RuntimeException("是否强制不能为空"); } - data.setTriggerWorkCenter(normalizeTriggerWorkCenter(data.getTriggerWorkCenter())); - if (StringUtils.isBlank(data.getTriggerWorkCenter())) { - throw new RuntimeException("触发工序不能为空"); - } boolean isRootCondition = StringUtils.isBlank(data.getParentConditionNo()); if (isRootCondition) { data.setTriggerEvent(""); diff --git a/src/main/resources/mapper/sys/SysSceneExceptionRuleMapper.xml b/src/main/resources/mapper/sys/SysSceneExceptionRuleMapper.xml index 0b521e1..7875126 100644 --- a/src/main/resources/mapper/sys/SysSceneExceptionRuleMapper.xml +++ b/src/main/resources/mapper/sys/SysSceneExceptionRuleMapper.xml @@ -12,6 +12,7 @@ apply_page, apply_button, enable_flag, + trigger_work_center, create_by, create_date, update_by, @@ -45,6 +46,7 @@ apply_page, apply_button, enable_flag, + trigger_work_center, create_by, create_date, update_by, @@ -60,9 +62,9 @@ INSERT INTO sys_scene_exception_rule - (site, bu_no, rule_code, rule_name, apply_page, apply_button, enable_flag, create_by, create_date, update_by, update_date) + (site, bu_no, rule_code, rule_name, apply_page, apply_button, enable_flag, trigger_work_center, create_by, create_date, update_by, update_date) VALUES - (#{site}, #{buNo}, #{ruleCode}, #{ruleName}, #{applyPage}, #{applyButton}, #{enableFlag}, #{createBy}, GETDATE(), #{updateBy}, GETDATE()) + (#{site}, #{buNo}, #{ruleCode}, #{ruleName}, #{applyPage}, #{applyButton}, #{enableFlag}, #{triggerWorkCenter}, #{createBy}, GETDATE(), #{updateBy}, GETDATE()) @@ -72,6 +74,7 @@ apply_page = #{applyPage}, apply_button = #{applyButton}, enable_flag = #{enableFlag}, + trigger_work_center = #{triggerWorkCenter}, update_by = #{updateBy}, update_date = GETDATE() WHERE site = #{site} @@ -109,7 +112,6 @@ c.responsibility_dept, ISNULL(sr.role_name, c.responsibility_dept) AS responsibility_dept_name, c.trigger_event, - c.trigger_work_center, c.create_by, c.create_date, c.update_by, @@ -142,7 +144,6 @@ c.responsibility_dept, ISNULL(sr.role_name, c.responsibility_dept) AS responsibility_dept_name, c.trigger_event, - c.trigger_work_center, c.create_by, c.create_date, c.update_by, @@ -169,11 +170,11 @@ INSERT INTO sys_scene_exception_rule_condition (site, bu_no, rule_code, condition_no, parent_condition_no, relation_field, compare_symbol, condition_param, force_type, warning_level, animation_effect, responsibility_dept, trigger_event, - trigger_work_center, create_by, create_date, update_by, update_date) + create_by, create_date, update_by, update_date) VALUES (#{site}, #{buNo}, #{ruleCode}, #{conditionNo}, #{parentConditionNo}, #{relationField}, #{compareSymbol}, #{conditionParam}, #{forceType}, #{warningLevel}, #{animationEffect}, #{responsibilityDept}, #{triggerEvent}, - #{triggerWorkCenter}, #{createBy}, GETDATE(), #{updateBy}, GETDATE()) + #{createBy}, GETDATE(), #{updateBy}, GETDATE()) @@ -188,7 +189,6 @@ animation_effect = #{animationEffect}, responsibility_dept = #{responsibilityDept}, trigger_event = #{triggerEvent}, - trigger_work_center = #{triggerWorkCenter}, update_by = #{updateBy}, update_date = GETDATE() WHERE site = #{site}