|
@@ -338,7 +338,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
}
|
|
}
|
|
|
|
|
|
//如果当前工序作业明细 不存在(其他合并工序作业明细,并且其他合并作业明细的 待报工记录ID 不为空) 则炉号-1
|
|
//如果当前工序作业明细 不存在(其他合并工序作业明细,并且其他合并作业明细的 待报工记录ID 不为空) 则炉号-1
|
|
- List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(equDo.getId(), equDo.getProcessdeviceid(), equDo.getPlanstartdate());
|
|
|
|
|
|
+ List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(equDo.getId(), equDo.getProcessdeviceid());
|
|
if (equDoMergeStartingList.size() <= 0) {
|
|
if (equDoMergeStartingList.size() <= 0) {
|
|
//炉号-1
|
|
//炉号-1
|
|
//加工设备ID
|
|
//加工设备ID
|
|
@@ -443,11 +443,31 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
//当前工序作业明细的ID
|
|
//当前工序作业明细的ID
|
|
String apsProcessOperationProcessEquDoId = apsProcessOperationProcessEquDo.getId();
|
|
String apsProcessOperationProcessEquDoId = apsProcessOperationProcessEquDo.getId();
|
|
//查询当前工序作业的作业明细的 加工设备 对应的其他工序作业的作业明细 并且待报工记录ID不为空
|
|
//查询当前工序作业的作业明细的 加工设备 对应的其他工序作业的作业明细 并且待报工记录ID不为空
|
|
- //存在计划开工时间不同(非合并作业) 并且加工设备正在使用的作业明细数量
|
|
|
|
- int count = apsProcessOperationProcessEquDao.selectOtherDeviceCount(processdeviceid, apsProcessOperationProcessEquDoId, apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
|
- if (count > 0) {
|
|
|
|
- return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
|
|
|
+ //如果当前工序作业不是合并加工
|
|
|
|
+ if (!apsProcessOperationDo.getProcessway().equals("合并加工")) {
|
|
|
|
+ int count = apsProcessOperationProcessEquDao.selectHaveOtherDeviceCount(processdeviceid, apsProcessOperationProcessEquDoId);
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ log.error("设备已被其他作业明细占用");
|
|
|
|
+ return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ List<ApsProcessOperationProcessEquDo> sameDeviceList = apsProcessOperationProcessEquDao.selectHaveOtherDevice(processdeviceid, apsProcessOperationProcessEquDoId);
|
|
|
|
+ if (!sameDeviceList.isEmpty()) {
|
|
|
|
+ //判断被占用的是否都是合并加工的
|
|
|
|
+ List<String> processIdList = sameDeviceList.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList());
|
|
|
|
+ List<ApsProcessOperationDo> apsProcessOperationDos = new ArrayList<>(apsProcessOperationService.listByIds(processIdList));
|
|
|
|
+ long count = apsProcessOperationDos.stream().filter(item -> !item.getProcessway().equals("合并加工")).count();
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ log.error("存在其他已占用设备:{},不为合并加工工序的作业:{}", processdeviceid, processIdList);
|
|
|
|
+ return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+// //存在计划开工时间不同(非合并作业) 并且加工设备正在使用的作业明细数量
|
|
|
|
+// int count = apsProcessOperationProcessEquDao.selectOtherDeviceCount(processdeviceid, apsProcessOperationProcessEquDoId, apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
|
+// if (count > 0) {
|
|
|
|
+// return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
|
+// }
|
|
// List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquDao.selectOtherDeviceList(processdeviceid, apsProcessOperationProcessEquDoId);
|
|
// List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquDao.selectOtherDeviceList(processdeviceid, apsProcessOperationProcessEquDoId);
|
|
//// List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(
|
|
//// List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(
|
|
//// new QueryWrapper<ApsProcessOperationProcessEquDo>().lambda()
|
|
//// new QueryWrapper<ApsProcessOperationProcessEquDo>().lambda()
|
|
@@ -693,7 +713,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
//获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
//获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
String heatNumber;//初始化炉号
|
|
String heatNumber;//初始化炉号
|
|
//如果存在其他合并工序,并且其他合并工序已开工,则不去生成新的 炉次号 使用其他合并工序的 开工记录的 炉次号
|
|
//如果存在其他合并工序,并且其他合并工序已开工,则不去生成新的 炉次号 使用其他合并工序的 开工记录的 炉次号
|
|
- List<ApsProcessOperationProcessEquDo> apsProcessEquMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(apsProcessOperationProcessEquDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid(), apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
|
|
|
+ List<ApsProcessOperationProcessEquDo> apsProcessEquMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(apsProcessOperationProcessEquDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
|
|
|
if (apsProcessEquMergeStartingList.size() > 0) {
|
|
if (apsProcessEquMergeStartingList.size() > 0) {
|
|
//合并工序作业明细
|
|
//合并工序作业明细
|
|
@@ -1601,7 +1621,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
//获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
//获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
String heatNumber;//初始化炉号
|
|
String heatNumber;//初始化炉号
|
|
//如果存在其他合并工序,并且其他合并工序已开工,则不去生成新的 炉次号 使用其他合并工序的 开工记录的 炉次号
|
|
//如果存在其他合并工序,并且其他合并工序已开工,则不去生成新的 炉次号 使用其他合并工序的 开工记录的 炉次号
|
|
- List<ApsProcessOperationProcessEquDo> apsProcessEquMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(apsProcessOperationProcessEquDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid(), apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
|
|
|
+ List<ApsProcessOperationProcessEquDo> apsProcessEquMergeStartingList = this.baseMapper.selectOtherMergeProcessStarting(apsProcessOperationProcessEquDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
|
|
|
if (apsProcessEquMergeStartingList.size() > 0) {
|
|
if (apsProcessEquMergeStartingList.size() > 0) {
|
|
//合并工序作业明细
|
|
//合并工序作业明细
|