|
@@ -1281,13 +1281,26 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
*/
|
|
|
public void inspectionEquipmentIsAvailable(ApsProcessOperationProcessEquDo processEquDo,
|
|
|
String equId, Date startDate, Date endDate) {
|
|
|
- // 查询当前设备当前时间段是否存在不可用设备
|
|
|
- List<ApsEquipmentCalendarDo> list = apsEquipmentCalendarService.list(new LambdaQueryWrapper<ApsEquipmentCalendarDo>()
|
|
|
+ // 查询当前设备是否存在不可以用设备的停机时间为空的数据
|
|
|
+ List<ApsEquipmentCalendarDo> nullSdTimeList = apsEquipmentCalendarService.list(new LambdaQueryWrapper<ApsEquipmentCalendarDo>()
|
|
|
+ .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equId)
|
|
|
+ .isNull(ApsEquipmentCalendarDo::getSdendtime));
|
|
|
+ List<ApsEquipmentCalendarDo> list = new ArrayList<>();
|
|
|
+ //注意不可用结束时间为空,表示后面一直不可用
|
|
|
+ if (nullSdTimeList.isEmpty()){
|
|
|
+ // 查询当前设备当前时间段是否存在不可用设备
|
|
|
+ list = apsEquipmentCalendarService.list(new LambdaQueryWrapper<ApsEquipmentCalendarDo>()
|
|
|
.eq(ApsEquipmentCalendarDo::getProcessdeviceid, equId)
|
|
|
.and(wapper -> wapper.apply("{0} BETWEEN sdstarttime AND sdendtime", startDate)
|
|
|
.or()
|
|
|
- .apply("{0} BETWEEN sdstarttime AND sdendtime", endDate))
|
|
|
- );
|
|
|
+ .apply("{0} BETWEEN sdstarttime AND sdendtime", endDate)));
|
|
|
+ }else {
|
|
|
+ list = apsEquipmentCalendarService.list(new LambdaQueryWrapper<ApsEquipmentCalendarDo>()
|
|
|
+ .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equId)
|
|
|
+ .and(wapper -> wapper.apply("sdstarttime<={0}", startDate)
|
|
|
+ .or()
|
|
|
+ .apply("sdstarttime<={0}", endDate)));
|
|
|
+ }
|
|
|
String newConflictdes;
|
|
|
if (list.isEmpty()) {
|
|
|
apsConflictLogService.recordLog(processEquDo.getId(), "", EQUIPMENT_RUN_TIME, 2, null);
|