功能修改-sjx

liweidong
sunjianxi 2 weeks ago
parent 4aa94cbdae
commit e265ba6cb3
  1. 125
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

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

Loading…
Cancel
Save