|
|
|
@ -397,8 +397,12 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
List<BomHeaderEntity> historyBom = bomManagementMapper.selectList(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo()).eq("bom_type", data.getBomType())); |
|
|
|
Date newEffPhaseInDate = bomHeader.getEffPhaseInDate(); |
|
|
|
Date newEffPhaseOutDate = bomHeader.getEffPhaseOutDate(); |
|
|
|
// 过滤掉自己 |
|
|
|
List<BomHeaderEntity> filteredList = historyBom.stream() |
|
|
|
.filter(a -> a.getEngChgLevel() != data.getEngChgLevel()) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
boolean b = false; |
|
|
|
for (BomHeaderEntity existingBomHeader : historyBom) { |
|
|
|
for (BomHeaderEntity existingBomHeader : filteredList) { |
|
|
|
Date existingEffPhaseInDate = existingBomHeader.getEffPhaseInDate(); |
|
|
|
Date existingEffPhaseOutDate = existingBomHeader.getEffPhaseOutDate(); |
|
|
|
|
|
|
|
@ -408,7 +412,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
break; |
|
|
|
} |
|
|
|
// 如果新对象的结束时间在现有对象的时间范围内,则重叠 |
|
|
|
else if (newEffPhaseInDate != null && newEffPhaseOutDate.after(existingEffPhaseInDate) && newEffPhaseOutDate.before(existingEffPhaseOutDate)) { |
|
|
|
else if (newEffPhaseOutDate != null && newEffPhaseOutDate.after(existingEffPhaseInDate) && newEffPhaseOutDate.before(existingEffPhaseOutDate)) { |
|
|
|
b = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
@ -429,7 +433,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
} |
|
|
|
} |
|
|
|
if (b) { |
|
|
|
throw new RuntimeException("日期重叠,不允许Build!"); |
|
|
|
throw new RuntimeException("日期冲突,不允许Build!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -951,7 +955,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomHeader.setEffPhaseOutDate(calendar.getTime()); |
|
|
|
bomManagementMapper.updateInDate(bomHeader); |
|
|
|
} else { |
|
|
|
throw new RuntimeException("日期冲突!"); |
|
|
|
//throw new RuntimeException("日期冲突!"); |
|
|
|
} |
|
|
|
} |
|
|
|
// 修改上版本的 partRevision 的失效日期 |
|
|
|
|