diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java index b51539af..8c9259b1 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java @@ -139,7 +139,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl 0) { throw BusinessException.build("检验任务【"+taskNo+"】有检验项目,不允许执行合格操作"); } + //验证检验状态 + + InspectionTask inspectionTaskcheck = new InspectionTask(); + inspectionTaskcheck = inspectionTaskService.getById(request.getHandle()); + if (Constants.INSPECTION_TASK_STATUS_COMPLETE.equals(inspectionTaskcheck.getStatus())){ + throw BusinessException.build("任务【" +inspectionTaskcheck.getTaskNo()+ "】不是新建状态,不允许执行合格操作,请重新检索数据!"); + } //修改数据 InspectionTask inspectionTask = new InspectionTask(); @@ -302,14 +309,61 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ String dispatchNo = request.getSfc() + "-" + request.getStepId(); SfcDispatch nextsfcDispatch=null; boolean flag=false; - //找下道工序 (返修工序除外) + /** + * 检验工序为返修工序 + */ + if(sfcDispatchById.getStepId().startsWith("9")){ + //找下道工序 + for (int i = 1; i < 50; i++) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(SfcDispatch.SFC, sfcDispatchById.getSfc()); + queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder()); + queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + i)); + // queryWrapper.like(SfcDispatch.ROUTER_BO, sfcDispatchById.getRouterBo().substring(0,sfcDispatchById.getRouterBo().lastIndexOf(","))); + queryWrapper.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); + nextsfcDispatch = sfcDispatchService.getOne(queryWrapper); + if (nextsfcDispatch != null && !stringList.contains(nextsfcDispatch.getOperation()) + && !nextsfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) { + flag=true; + break; + } + else if (nextsfcDispatch != null && !stringList.contains(nextsfcDispatch.getOperation()) + && nextsfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) { + flag=false; + break; + } + else if (nextsfcDispatch != null && stringList.contains(nextsfcDispatch.getOperation())){ + continue; + } + else if (nextsfcDispatch == null){ + /** + * 找正在排队的工序 + */ + Map map = sfcMapper.findOperationBySfc(site, sfcDispatchById.getSfc()); + if (map !=null){ + SfcDispatch sfc_inwork = sfcDispatchService.getById(HandleEnum.SFC_DISPATCH.getHandle(site, sfcDispatchById.getSfc() + "-" + map.get("STEP_ID"))); + if (sfc_inwork !=null &&!sfcDispatchById.getWorkCenter().equals(sfc_inwork.getWorkCenter()) + && !stringList.contains(sfc_inwork.getWorkCenter())){ + nextsfcDispatch=new SfcDispatch(); + nextsfcDispatch.setOperation(sfc_inwork.getOperation()); + nextsfcDispatch.setStepId(sfc_inwork.getStepId()); + nextsfcDispatch.setWorkCenter(sfc_inwork.getWorkCenter()); + flag=true; + break; + } + } + } + + } + }else { + //找下道工序 for (int i = 1; i < 50; i++) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(SfcDispatch.SFC, sfcDispatchById.getSfc()); queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder()); queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + i)); queryWrapper.like(SfcDispatch.ROUTER_BO, sfcDispatchById.getRouterBo().substring(0,sfcDispatchById.getRouterBo().lastIndexOf(","))); - //queryWrapper.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); + // queryWrapper.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); nextsfcDispatch = sfcDispatchService.getOne(queryWrapper); if (nextsfcDispatch != null && !stringList.contains(nextsfcDispatch.getOperation()) && !nextsfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) { @@ -324,43 +378,29 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ else if (nextsfcDispatch != null && stringList.contains(nextsfcDispatch.getOperation())){ continue; } - else if (nextsfcDispatch == null ) { + else if (nextsfcDispatch == null){ QueryWrapper queryWrappers = new QueryWrapper<>(); queryWrappers.eq(SfcDispatch.SFC, sfcDispatchById.getSfc()); queryWrappers.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder()); queryWrappers.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + (i-1))); queryWrappers.like(SfcDispatch.ROUTER_BO, sfcDispatchById.getRouterBo().substring(0,sfcDispatchById.getRouterBo().lastIndexOf(","))); - // queryWrappers.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); + // queryWrappers.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); nextsfcDispatch = sfcDispatchService.getOne(queryWrappers); - if (nextsfcDispatch.getOther2() != null && Constants.RK.equals(nextsfcDispatch.getOther2()) && - stringList.contains(nextsfcDispatch.getOperation())){ + if (nextsfcDispatch.getOther2() != null + && Constants.RK.equals(nextsfcDispatch.getOther2()) && stringList.contains(nextsfcDispatch.getOperation())){ nextsfcDispatch.setOperation(nextsfcDispatch.getOperation()); nextsfcDispatch.setStepId(nextsfcDispatch.getStepId()); nextsfcDispatch.setWorkCenter("BCP"); - }else { + } else { return; } flag=true; break; } - else if (nextsfcDispatch == null && sfcDispatchById.getStepId().startsWith("9")){ - /** - * 找正在排队的工序 - */ - Map map = sfcMapper.findOperationBySfc(site, sfcDispatchById.getSfc()); - if (map !=null){ - SfcDispatch sfc_inwork = sfcDispatchService.getById(HandleEnum.SFC_DISPATCH.getHandle(site, sfcDispatchById.getSfc() + "-" + map.get("STEP_ID"))); - if (sfc_inwork !=null &&!sfcDispatchById.getWorkCenter().equals(sfc_inwork.getWorkCenter())){ - nextsfcDispatch.setOther1(sfc_inwork.getOperation()); - nextsfcDispatch.setStepId(sfc_inwork.getStepId()); - nextsfcDispatch.setWorkCenter(sfc_inwork.getWorkCenter()); - flag=true; - break; - } - } - } - } + } + + if (flag){ LogisticsTurnover logisticsTurnover = new LogisticsTurnover(); logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString()); @@ -382,8 +422,6 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ */ //消息内容:XX车间操作者xxx加工并质检完的物料 // Map messageMap=logisticsTurnoverMapper.messageMap(); - - // activeMQUtil.SendMessage("SendMessageHJ02"); } catch (Exception e) { throw new BaseException("周转任务生成失败");