|
|
|
@ -305,7 +305,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
} |
|
|
|
} |
|
|
|
//非超级管理员,登陆人员只能看自己中心的数据
|
|
|
|
//非超级管理员,登陆人员只能看自己中心的数据
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
if(!user.getRoleName().equals("administrator")){ |
|
|
|
log.info("排产看板获取到的用户角色是:" + user.getRoleName()); |
|
|
|
|
|
|
|
if(!user.getRoleName().contains("administrator")){ |
|
|
|
Long userId = AuthUtil.getUserId(); |
|
|
|
Long userId = AuthUtil.getUserId(); |
|
|
|
List<Long> workCenterList = baseMapper.selectUserCenter(userId); |
|
|
|
List<Long> workCenterList = baseMapper.selectUserCenter(userId); |
|
|
|
woCodeGroup = woCodeGroup.entrySet().stream() |
|
|
|
woCodeGroup = woCodeGroup.entrySet().stream() |
|
|
|
@ -322,21 +323,6 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
} |
|
|
|
} |
|
|
|
List<WorkOrderDto> resultList = new ArrayList<>(); |
|
|
|
List<WorkOrderDto> resultList = new ArrayList<>(); |
|
|
|
for (Map.Entry<String, List<WorkOrderDto>> entry : woCodeGroup.entrySet()) { |
|
|
|
for (Map.Entry<String, List<WorkOrderDto>> entry : woCodeGroup.entrySet()) { |
|
|
|
//根据工序名称过滤订单
|
|
|
|
|
|
|
|
/* if (StringUtils.isNotEmpty(workOrder.getProcessName())) { |
|
|
|
|
|
|
|
List<WorkOrderDto> list1 = entry.getValue(); |
|
|
|
|
|
|
|
List<String> 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(); |
|
|
|
WorkOrderDto workOrderDto = new WorkOrderDto(); |
|
|
|
String woCode = entry.getKey(); |
|
|
|
String woCode = entry.getKey(); |
|
|
|
workOrderDto.setWoCode(woCode); |
|
|
|
workOrderDto.setWoCode(woCode); |
|
|
|
@ -585,36 +571,30 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
LocalDateTime dateTime = getNextIntegerTime(prevProcessEnd); |
|
|
|
LocalDateTime dateTime = getNextIntegerTime(prevProcessEnd); |
|
|
|
List<WorkPlanEntity> processPlanList = new ArrayList<>(); |
|
|
|
List<WorkPlanEntity> processPlanList = new ArrayList<>(); |
|
|
|
for (Map.Entry<Integer, List<EquipAbilityEntity>> entry : equipAbilityMap.entrySet()) { |
|
|
|
for (Map.Entry<Integer, List<EquipAbilityEntity>> entry : equipAbilityMap.entrySet()) { |
|
|
|
int partType = entry.getValue().get(0).getPartType(); |
|
|
|
|
|
|
|
//根据时间点获取所有设备资源
|
|
|
|
//根据时间点获取所有设备资源
|
|
|
|
List<EquipResourceEntity> equipResourceList = new ArrayList<>(); |
|
|
|
List<EquipResourceEntity> equipResourceList = new ArrayList<>(); |
|
|
|
if(partType == 0){ |
|
|
|
LambdaQueryWrapper<EquipResourceEntity> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
equipResourceList = equipResourceService.list(Wrappers.<EquipResourceEntity>lambdaQuery() |
|
|
|
wrapper.eq(EquipResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
.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.<EquipResourceEntity>lambdaQuery() |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) |
|
|
|
|
|
|
|
.ge(EquipResourceEntity::getStartTime, dateTime) |
|
|
|
.ge(EquipResourceEntity::getStartTime, dateTime) |
|
|
|
.eq(EquipResourceEntity::getIsUsed, 0) |
|
|
|
.eq(EquipResourceEntity::getIsUsed, 0) |
|
|
|
.in(EquipResourceEntity::getEquipOrder, entry.getKey()) |
|
|
|
.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()) |
|
|
|
.lt(EquipResourceEntity::getStartNum,part.getExternalDiameter()) |
|
|
|
.ge(EquipResourceEntity::getEndNum,part.getExternalDiameter())); |
|
|
|
.ge(EquipResourceEntity::getEndNum,part.getExternalDiameter()); |
|
|
|
}else if(partType == 2){ |
|
|
|
equipResourceList = equipResourceService.list(wrapper); |
|
|
|
equipResourceList = equipResourceService.list(Wrappers.<EquipResourceEntity>lambdaQuery() |
|
|
|
}else if(part.getBlbDiameter() != null){ |
|
|
|
.eq(EquipResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
wrapper.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) |
|
|
|
.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) |
|
|
|
|
|
|
|
.ge(EquipResourceEntity::getStartTime, dateTime) |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getIsUsed, 0) |
|
|
|
|
|
|
|
.in(EquipResourceEntity::getEquipOrder, entry.getKey()) |
|
|
|
|
|
|
|
.lt(EquipResourceEntity::getStartNum,part.getBlbDiameter()) |
|
|
|
.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)) { |
|
|
|
if (CollectionUtils.isEmpty(equipResourceList)) { |
|
|
|
@ -653,13 +633,13 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
for (EquipResourceEntity equipResource : resourceList) { |
|
|
|
for (EquipResourceEntity equipResource : resourceList) { |
|
|
|
//烧结订单需判断零件类型
|
|
|
|
//烧结订单需判断零件类型
|
|
|
|
if(order.getYieldType() != YieldOrderEnum.YIELD_TYPE_1.getCode()){ |
|
|
|
if(order.getYieldType() != YieldOrderEnum.YIELD_TYPE_1.getCode()){ |
|
|
|
//玻璃饼订单查询玻璃饼直径
|
|
|
|
//玻璃饼订单查询玻璃饼直径,壳体查询最大外径
|
|
|
|
if(order.getYieldType() == YieldOrderEnum.YIELD_TYPE_3.getCode()){ |
|
|
|
if(part.getExternalDiameter() != null){ |
|
|
|
if(part.getBlbDiameter() <equipResource.getStartNum() || part.getBlbDiameter() > equipResource.getEndNum()){ |
|
|
|
if(part.getExternalDiameter() < equipResource.getStartNum() || part.getExternalDiameter() > equipResource.getEndNum()){ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
}else{//其他类型订单查询壳体最大外径
|
|
|
|
}else if(part.getBlbDiameter() != null){ |
|
|
|
if(part.getExternalDiameter() < equipResource.getStartNum() || part.getExternalDiameter() > equipResource.getEndNum()){ |
|
|
|
if(part.getBlbDiameter() <equipResource.getStartNum() || part.getBlbDiameter() > equipResource.getEndNum()){ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -819,12 +799,23 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
|
|
prevProcessEnd = prevProcessEnd.plusMinutes(totalTime.longValue()); |
|
|
|
prevProcessEnd = prevProcessEnd.plusMinutes(totalTime.longValue()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
LambdaQueryWrapper<PersonResourceEntity> 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<PersonResourceEntity> personResourceList = personResourceService.list(Wrappers.<PersonResourceEntity>lambdaQuery() |
|
|
|
List<PersonResourceEntity> personResourceList = personResourceService.list(Wrappers.<PersonResourceEntity>lambdaQuery() |
|
|
|
.eq(PersonResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
.eq(PersonResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
.eq(PersonResourceEntity::getProcessId, craft.getPpsId()) |
|
|
|
.eq(PersonResourceEntity::getProcessId, craft.getPpsId()) |
|
|
|
.eq(PersonResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
.eq(PersonResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
.le(PersonResourceEntity::getStartTime, prevProcessEnd) |
|
|
|
.le(PersonResourceEntity::getStartTime, prevProcessEnd) |
|
|
|
.orderByAsc(PersonResourceEntity::getDateTime,PersonResourceEntity::getStartTime)); |
|
|
|
.orderByAsc(PersonResourceEntity::getDateTime,PersonResourceEntity::getStartTime) |
|
|
|
|
|
|
|
.eq(PersonResourceEntity::getTeamId,craft.getMakeTeam())); |
|
|
|
if (CollectionUtils.isNotEmpty(personResourceList)) { |
|
|
|
if (CollectionUtils.isNotEmpty(personResourceList)) { |
|
|
|
workPlan.setMakeTeam(personResourceList.get(0).getTeamId()); |
|
|
|
workPlan.setMakeTeam(personResourceList.get(0).getTeamId()); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1433,6 +1424,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
.eq(SameTroughEntity::getCraftId, craft.getCaId()) |
|
|
|
.eq(SameTroughEntity::getCraftId, craft.getCaId()) |
|
|
|
.eq(SameTroughEntity::getProcessId, craft.getPpsId())); |
|
|
|
.eq(SameTroughEntity::getProcessId, craft.getPpsId())); |
|
|
|
if (sameTrough != null) { |
|
|
|
if (sameTrough != null) { |
|
|
|
|
|
|
|
LambdaQueryWrapper<WorkPlanEntity> 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<WorkPlanEntity> workPlanOldList = workPlanService.list(Wrappers.<WorkPlanEntity>lambdaQuery() |
|
|
|
List<WorkPlanEntity> workPlanOldList = workPlanService.list(Wrappers.<WorkPlanEntity>lambdaQuery() |
|
|
|
.eq(WorkPlanEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
.eq(WorkPlanEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
@ -1631,26 +1632,28 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
} |
|
|
|
} |
|
|
|
//包含说明之前有过这个温度曲线的订单
|
|
|
|
//包含说明之前有过这个温度曲线的订单
|
|
|
|
//根据当前时间查询包含玻璃粉牌号的设备资源
|
|
|
|
//根据当前时间查询包含玻璃粉牌号的设备资源
|
|
|
|
//玻璃饼订单查玻璃饼直接,其他订单查
|
|
|
|
//玻璃饼订单查玻璃饼直接,壳体查壳体外径
|
|
|
|
List<EquipResourceEntity> equipResourceList = new ArrayList<>(); |
|
|
|
LambdaQueryWrapper<EquipResourceEntity> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
if(order.getYieldType() == YieldOrderEnum.YIELD_TYPE_3.getCode()){ |
|
|
|
wrapper.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
equipResourceList = equipResourceService.list(Wrappers.<EquipResourceEntity>lambdaQuery() |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) |
|
|
|
|
|
|
|
.eq(EquipResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
.eq(EquipResourceEntity::getCraftId, craft.getCaId()) |
|
|
|
.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) |
|
|
|
.eq(EquipResourceEntity::getProcessId,craft.getPpsId()) |
|
|
|
.ge(EquipResourceEntity::getStartTime, localDateTime) |
|
|
|
.ge(EquipResourceEntity::getStartTime, localDateTime) |
|
|
|
.eq(EquipResourceEntity::getGlassCode, glassCodeStr) |
|
|
|
.eq(EquipResourceEntity::getGlassCode, glassCodeStr); |
|
|
|
.lt(EquipResourceEntity::getStartNum,part.getBlbDiameter()) |
|
|
|
//返工订单需要原班组加工
|
|
|
|
.ge(EquipResourceEntity::getEndNum,part.getBlbDiameter())); |
|
|
|
if(StringUtils.isNotEmpty(order.getReworkCode())){ |
|
|
|
|
|
|
|
wrapper.eq(EquipResourceEntity::getTeamId,craft.getMakeTeam()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
List<EquipResourceEntity> equipResourceList = new ArrayList<>(); |
|
|
|
|
|
|
|
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{ |
|
|
|
}else{ |
|
|
|
equipResourceList = equipResourceService.list(Wrappers.<EquipResourceEntity>lambdaQuery() |
|
|
|
equipResourceList = equipResourceService.list(wrapper); |
|
|
|
.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())); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(equipResourceList)) { |
|
|
|
if (CollectionUtils.isNotEmpty(equipResourceList)) { |
|
|
|
|