From 442152ad48fb30e6e2d6014c83b511123b8a4bc7 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 29 Jun 2026 11:33:43 +0800 Subject: [PATCH] =?UTF-8?q?2026-06-29=20=E5=A2=9E=E5=8A=A0=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E4=B8=AD=E5=BF=83=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/mapper/ScheduleMapper.java | 24 +++++++++++ .../service/impl/ScheduleServiceImpl.java | 42 +++++++++++++++++++ .../mapper/schedule/ScheduleMapper.xml | 18 ++++++++ .../warehouse/LabelTransactionLogMapper.xml | 6 +++ 4 files changed, 90 insertions(+) diff --git a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java index 78f7824..76de4bd 100644 --- a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java +++ b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java @@ -148,6 +148,30 @@ public interface ScheduleMapper { **/ ScheduleData getScheduleDataBySeqNo(String seqNo); + /** + * 校验停机代码是否属于当前加工中心且启用 + * + * @param site 工厂 + * @param downTimeCode 停机代码 + * @param workCenterNo 加工中心 + * @return 匹配数量 + */ + Integer countEnabledDownTimeReasonByWorkCenter(@Param("site") String site, + @Param("downTimeCode") String downTimeCode, + @Param("workCenterNo") String workCenterNo); + + /** + * 校验不良代码是否属于当前加工中心且启用 + * + * @param site 工厂 + * @param defectCode 不良代码 + * @param workCenterNo 加工中心 + * @return 匹配数量 + */ + Integer countEnabledDefectCodeByWorkCenter(@Param("site") String site, + @Param("defectCode") String defectCode, + @Param("workCenterNo") String workCenterNo); + /** * TODO 获取当前的上机卷信息 * @author LR 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 990b4d9..d507854 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 @@ -1166,6 +1166,42 @@ public class ScheduleServiceImpl implements ScheduleService { procedureMapper.execProduceData("startTuning", params); } + private String resolveScheduleWorkCenterNo(SearchScheduleData inData) { + String seqNo = inData.getSeqNo(); + if (!StringUtils.hasText(seqNo)) { + throw new XJException("派工单号不能为空"); + } + ScheduleData scheduleData = scheduleMapper.getScheduleDataBySeqNo(seqNo); + if (scheduleData == null) { + throw new XJException("未找到对应的派工单信息"); + } + String workCenterNo = scheduleData.getWorkCenterNo(); + if (!StringUtils.hasText(workCenterNo)) { + throw new XJException("当前派工单加工中心为空,不能执行当前操作"); + } + return workCenterNo.trim(); + } + + private void validateDownTimeCodeWorkCenter(String site, String downTimeCode, String workCenterNo) { + if (!StringUtils.hasText(downTimeCode)) { + return; + } + Integer count = scheduleMapper.countEnabledDownTimeReasonByWorkCenter(site, downTimeCode.trim(), workCenterNo); + if (count == null || count <= 0) { + throw new XJException("停机代码不属于当前加工中心或未启用"); + } + } + + private void validateDefectCodeWorkCenter(String site, String defectCode, String workCenterNo) { + if (!StringUtils.hasText(defectCode)) { + return; + } + Integer count = scheduleMapper.countEnabledDefectCodeByWorkCenter(site, defectCode.trim(), workCenterNo); + if (count == null || count <= 0) { + throw new XJException("不良代码不属于当前加工中心或未启用"); + } + } + @Override public Map checkDownTimeCode(SearchScheduleData inData) { @@ -1176,6 +1212,9 @@ public class ScheduleServiceImpl implements ScheduleService { String seqNo = inData.getSeqNo(); String rollNo = inData.getRollNo(); String downTimeCode = inData.getDownTimeCode(); + String workCenterNo = this.resolveScheduleWorkCenterNo(inData); + inData.setWorkCenterNo(workCenterNo); + this.validateDownTimeCodeWorkCenter(site, downTimeCode, workCenterNo); Map resultMap = this.checkDownTimeCode(site, orderNo, itemNo, seqNo, rollNo, downTimeCode); //判断是否检验成功 String code = String.valueOf(resultMap.get("resultCode")); @@ -1266,6 +1305,9 @@ public class ScheduleServiceImpl implements ScheduleService { String seqNo = inData.getSeqNo(); String rollNo = inData.getRollNo(); String defectCode = inData.getDefectCode(); + String workCenterNo = this.resolveScheduleWorkCenterNo(inData); + inData.setWorkCenterNo(workCenterNo); + this.validateDefectCodeWorkCenter(site, defectCode, workCenterNo); Map resultMap = this.checkDefectCode(site, orderNo, itemNo, seqNo, rollNo, defectCode); //判断是否检验成功 String code = String.valueOf(resultMap.get("resultCode")); diff --git a/src/main/resources/mapper/schedule/ScheduleMapper.xml b/src/main/resources/mapper/schedule/ScheduleMapper.xml index 8758dd2..737162b 100644 --- a/src/main/resources/mapper/schedule/ScheduleMapper.xml +++ b/src/main/resources/mapper/schedule/ScheduleMapper.xml @@ -643,6 +643,24 @@ + + + +