From e265ba6cb3f786082820c09bfcb4fa2ea15f8f85 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Wed, 1 Apr 2026 18:01:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderServiceImpl.java | 135 +++++++++--------- 1 file changed, 69 insertions(+), 66 deletions(-) diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index 33052382..e54db8fa 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -305,7 +305,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workCenterList = baseMapper.selectUserCenter(userId); woCodeGroup = woCodeGroup.entrySet().stream() @@ -322,21 +323,6 @@ public class WorkOrderServiceImpl extends BaseServiceImpl resultList = new ArrayList<>(); for (Map.Entry> entry : woCodeGroup.entrySet()) { - //根据工序名称过滤订单 - /* if (StringUtils.isNotEmpty(workOrder.getProcessName())) { - List list1 = entry.getValue(); - List processNameList = list1.stream().map(WorkOrderDto::getProcessName).collect(Collectors.toList()); - if (processNameList.contains(workOrder.getProcessName())) { - WorkOrderDto workOrderDto = new WorkOrderDto(); - String woCode = entry.getKey(); - workOrderDto.setWoCode(woCode); - workOrderDto.setWorkOrderList(entry.getValue()); - resultList.add(workOrderDto); - continue; - } else { - continue; - } - }*/ WorkOrderDto workOrderDto = new WorkOrderDto(); String woCode = entry.getKey(); workOrderDto.setWoCode(woCode); @@ -585,36 +571,30 @@ public class WorkOrderServiceImpl extends BaseServiceImpl processPlanList = new ArrayList<>(); for (Map.Entry> entry : equipAbilityMap.entrySet()) { - int partType = entry.getValue().get(0).getPartType(); //根据时间点获取所有设备资源 List equipResourceList = new ArrayList<>(); - if(partType == 0){ - equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() - .eq(EquipResourceEntity::getCraftId, craft.getCaId()) - .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) - .ge(EquipResourceEntity::getStartTime, dateTime) - .eq(EquipResourceEntity::getIsUsed, 0) - .in(EquipResourceEntity::getEquipOrder, entry.getKey())); - }else if(partType == 1){ - equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() - .eq(EquipResourceEntity::getCraftId, craft.getCaId()) - .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) - .eq(EquipResourceEntity::getProcessId,craft.getPpsId()) - .ge(EquipResourceEntity::getStartTime, dateTime) - .eq(EquipResourceEntity::getIsUsed, 0) - .in(EquipResourceEntity::getEquipOrder, entry.getKey()) + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EquipResourceEntity::getCraftId, craft.getCaId()) + .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) + .ge(EquipResourceEntity::getStartTime, dateTime) + .eq(EquipResourceEntity::getIsUsed, 0) + .in(EquipResourceEntity::getEquipOrder, entry.getKey()); + //返工订单需要原班组加工 + if(StringUtils.isNotEmpty(order.getReworkCode())){ + wrapper.eq(EquipResourceEntity::getTeamId,craft.getMakeTeam()); + } + if(part.getExternalDiameter() != null){ + wrapper.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) .lt(EquipResourceEntity::getStartNum,part.getExternalDiameter()) - .ge(EquipResourceEntity::getEndNum,part.getExternalDiameter())); - }else if(partType == 2){ - equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() - .eq(EquipResourceEntity::getCraftId, craft.getCaId()) - .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) - .eq(EquipResourceEntity::getProcessId,craft.getPpsId()) - .ge(EquipResourceEntity::getStartTime, dateTime) - .eq(EquipResourceEntity::getIsUsed, 0) - .in(EquipResourceEntity::getEquipOrder, entry.getKey()) + .ge(EquipResourceEntity::getEndNum,part.getExternalDiameter()); + equipResourceList = equipResourceService.list(wrapper); + }else if(part.getBlbDiameter() != null){ + wrapper.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) .lt(EquipResourceEntity::getStartNum,part.getBlbDiameter()) - .ge(EquipResourceEntity::getEndNum,part.getBlbDiameter())); + .ge(EquipResourceEntity::getEndNum,part.getBlbDiameter()); + equipResourceList = equipResourceService.list(wrapper); + }else{ + equipResourceList = equipResourceService.list(wrapper); } if (CollectionUtils.isEmpty(equipResourceList)) { @@ -653,13 +633,13 @@ public class WorkOrderServiceImpl extends BaseServiceImpl equipResource.getEndNum()){ + //玻璃饼订单查询玻璃饼直径,壳体查询最大外径 + if(part.getExternalDiameter() != null){ + if(part.getExternalDiameter() < equipResource.getStartNum() || part.getExternalDiameter() > equipResource.getEndNum()){ continue; } - }else{//其他类型订单查询壳体最大外径 - if(part.getExternalDiameter() < equipResource.getStartNum() || part.getExternalDiameter() > equipResource.getEndNum()){ + }else if(part.getBlbDiameter() != null){ + if(part.getBlbDiameter() equipResource.getEndNum()){ continue; } } @@ -819,12 +799,23 @@ public class WorkOrderServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PersonResourceEntity::getWorkCenterId, craft.getWorkCenterId()) + .eq(PersonResourceEntity::getProcessId, craft.getPpsId()) + .eq(PersonResourceEntity::getCraftId, craft.getCaId()) + .le(PersonResourceEntity::getStartTime, prevProcessEnd); + //返工订单需要原班组加工 + if(StringUtils.isNotEmpty(order.getReworkCode())){ + wrapper.eq(PersonResourceEntity::getTeamId,craft.getMakeTeam()); + } + wrapper.orderByAsc(PersonResourceEntity::getDateTime,PersonResourceEntity::getStartTime); List personResourceList = personResourceService.list(Wrappers.lambdaQuery() .eq(PersonResourceEntity::getWorkCenterId, craft.getWorkCenterId()) .eq(PersonResourceEntity::getProcessId, craft.getPpsId()) .eq(PersonResourceEntity::getCraftId, craft.getCaId()) .le(PersonResourceEntity::getStartTime, prevProcessEnd) - .orderByAsc(PersonResourceEntity::getDateTime,PersonResourceEntity::getStartTime)); + .orderByAsc(PersonResourceEntity::getDateTime,PersonResourceEntity::getStartTime) + .eq(PersonResourceEntity::getTeamId,craft.getMakeTeam())); if (CollectionUtils.isNotEmpty(personResourceList)) { workPlan.setMakeTeam(personResourceList.get(0).getTeamId()); } @@ -1433,6 +1424,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(WorkPlanEntity::getWorkCenterId, craft.getWorkCenterId()) + .eq(WorkPlanEntity::getCaId, craft.getCaId()) + .eq(WorkPlanEntity::getPpsId, craft.getPpsId()) + .ge(WorkPlanEntity::getPlanStartTime, dateTime); + //返工订单需要原班组加工 + if(StringUtils.isNotEmpty(order.getReworkCode())){ + wrapper.eq(WorkPlanEntity::getMakeTeam,craft.getMakeTeam()); + } + wrapper.orderByAsc(WorkPlanEntity::getPlanStartTime); //查询是否有已经排产的计划 List workPlanOldList = workPlanService.list(Wrappers.lambdaQuery() .eq(WorkPlanEntity::getWorkCenterId, craft.getWorkCenterId()) @@ -1631,26 +1632,28 @@ public class WorkOrderServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) + .eq(EquipResourceEntity::getCraftId, craft.getCaId()) + .eq(EquipResourceEntity::getProcessId,craft.getPpsId()) + .ge(EquipResourceEntity::getStartTime, localDateTime) + .eq(EquipResourceEntity::getGlassCode, glassCodeStr); + //返工订单需要原班组加工 + if(StringUtils.isNotEmpty(order.getReworkCode())){ + wrapper.eq(EquipResourceEntity::getTeamId,craft.getMakeTeam()); + } List equipResourceList = new ArrayList<>(); - if(order.getYieldType() == YieldOrderEnum.YIELD_TYPE_3.getCode()){ - equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() - .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) - .eq(EquipResourceEntity::getCraftId, craft.getCaId()) - .eq(EquipResourceEntity::getProcessId,craft.getPpsId()) - .ge(EquipResourceEntity::getStartTime, localDateTime) - .eq(EquipResourceEntity::getGlassCode, glassCodeStr) - .lt(EquipResourceEntity::getStartNum,part.getBlbDiameter()) - .ge(EquipResourceEntity::getEndNum,part.getBlbDiameter())); + if(part.getBlbDiameter() != null){ + wrapper.lt(EquipResourceEntity::getStartNum,part.getBlbDiameter()) + .ge(EquipResourceEntity::getEndNum,part.getBlbDiameter()); + equipResourceList = equipResourceService.list(wrapper); + }else if(part.getExternalDiameter() != null){ + wrapper.lt(EquipResourceEntity::getStartNum,part.getExternalDiameter()) + .ge(EquipResourceEntity::getEndNum,part.getExternalDiameter()); + equipResourceList = equipResourceService.list(wrapper); }else{ - equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() - .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) - .eq(EquipResourceEntity::getCraftId, craft.getCaId()) - .eq(EquipResourceEntity::getProcessId,craft.getPpsId()) - .ge(EquipResourceEntity::getStartTime, localDateTime) - .eq(EquipResourceEntity::getGlassCode, glassCodeStr) - .lt(EquipResourceEntity::getStartNum,part.getExternalDiameter()) - .ge(EquipResourceEntity::getEndNum,part.getExternalDiameter())); + equipResourceList = equipResourceService.list(wrapper); } if (CollectionUtils.isNotEmpty(equipResourceList)) {