|
@@ -95,6 +95,9 @@ public class ApsServiceImpl implements ApsService {
|
|
|
@Override
|
|
|
public void apsSchedule(List<ApsBlankOrderVo> apsBlankOrders,ApsTypeVo apsType,SysUserVo currentUser,List<String> needUnLockProcessIdList) {
|
|
|
logger.info("**********排程请求开始**********");
|
|
|
+ if(apsType.getScheduleType() == null){
|
|
|
+ apsType.setScheduleType("default");
|
|
|
+ }
|
|
|
// 当前等路人所属工厂
|
|
|
if(currentUser == null){
|
|
|
currentUser = CXCommonUtils.getCurrentUser();
|
|
@@ -299,7 +302,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
List<String> blankids = new ArrayList<>();
|
|
|
blankids.add(bo.getId());
|
|
|
for (ApsProcessOperationDo operationDo : operationDos1) {
|
|
|
- List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList1,eqMaps,blankids,null,productionScheduleVo,apsConfigs.get(0),null);
|
|
|
+ List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList1,eqMaps,blankids,null,productionScheduleVo,apsConfigs.get(0),null,null);
|
|
|
}
|
|
|
productionScheduleVo.setEquipmentList(equipmentList1);
|
|
|
apsProductionSchedules.add(productionScheduleVo);
|
|
@@ -667,7 +670,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
List<String> blankids = new ArrayList<>();
|
|
|
blankids.add(bo.getId());
|
|
|
for (ApsProcessOperationDo operationDo : operationDos1) {
|
|
|
- List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList1,eqMaps,blankids,null,productionScheduleVo,apsConfigs.get(0),allEqs);
|
|
|
+ List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList1,eqMaps,blankids,null,productionScheduleVo,apsConfigs.get(0),allEqs,apsType);
|
|
|
}
|
|
|
productionScheduleVo.setEquipmentList(equipmentList1);
|
|
|
apsProductionSchedules.add(productionScheduleVo);
|
|
@@ -973,7 +976,8 @@ public class ApsServiceImpl implements ApsService {
|
|
|
}
|
|
|
|
|
|
private List<String> equipmentListInit(ApsProcessOperationDo operationDo,List<Equipment> equipmentList,Map<String, AspCheckItemsDo> eqMaps
|
|
|
- ,List<String> blankids,Set<String> opId,ProductionScheduleVo productionScheduleVo,ApsScheduleConfigDo apsScheduleConfig,Map<String,Equipment> allEqs){
|
|
|
+ ,List<String> blankids,Set<String> opId,ProductionScheduleVo productionScheduleVo
|
|
|
+ ,ApsScheduleConfigDo apsScheduleConfig,Map<String,Equipment> allEqs,ApsTypeVo apsType){
|
|
|
// 当前工序排程开始时间
|
|
|
Date apsPlanStartDate = productionScheduleVo.getApsPlanStartDate();
|
|
|
if(productionScheduleVo.getProcesses() != null && productionScheduleVo.getProcesses().size()>0){
|
|
@@ -1039,22 +1043,41 @@ public class ApsServiceImpl implements ApsService {
|
|
|
equipment.setEquipmentParameter(ep);
|
|
|
// 查询设备锁定的已排程的时间段
|
|
|
List<ApsProcessOperationProcessEquDo> processEqus = null;
|
|
|
+ DateTime nextStartDate = DateUtil.offsetDay(apsPlanStartDate, 1);
|
|
|
if(blankids != null && blankids.size()>0){
|
|
|
- processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
-// .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
- .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
- .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
- );
|
|
|
+ if("dd".equals(apsType.getScheduleType())){
|
|
|
+ processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
+ .le(ApsProcessOperationProcessEquDo::getPlanstartdate, nextStartDate)
|
|
|
+ .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ }else{
|
|
|
+ processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
+ .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ }
|
|
|
}else if(opId != null && opId.size()>0){
|
|
|
- processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
-// .notIn(ApsProcessOperationProcessEquDo::getProcessid, opId)
|
|
|
- .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
- .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
- );
|
|
|
+ if("dd".equals(apsType.getScheduleType())){
|
|
|
+ processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
+ .le(ApsProcessOperationProcessEquDo::getPlanstartdate, nextStartDate)
|
|
|
+ .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ }else{
|
|
|
+ processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
+ .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
// 过滤设备为空的明细
|
|
|
if(processEqus != null && processEqus.size()>0){
|