小车
This commit is contained in:
@@ -25,6 +25,8 @@ public interface IWcsSrgvQueueService
|
||||
public WcsSrgvQueue selectWcsSrgvQueueByAgvId(String agvId);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询四向小车任务队列列表
|
||||
*
|
||||
|
||||
@@ -199,29 +199,26 @@ public class BaseSRgvThread implements Runnable, SRgvThreadInterface {
|
||||
MydoJob mydoJob1 = mydoJobs.get(0);
|
||||
// 查询是否有已下发的该任务号队列
|
||||
WcsSrgvQueue wcsSrgvQueue1 = wcsSagvQueueMapper.selectWcsSrgvQueueByTaskNo(mydoJob1.getTaskNo());
|
||||
|
||||
|
||||
if (wcsSrgvQueue1 == null) {
|
||||
ConcurrentHashMap<String, DeviceSrgv> deviceSrgvMap = PlcSrgvRead.deviceSrgvMap;
|
||||
List<DeviceSrgv> deviceSrgvList = deviceSrgvMap.values().stream().filter(deviceSrgv -> deviceSrgv.getStatus() == 1 && deviceSrgv.getWorkMode() == 4).collect(Collectors.toList());
|
||||
List<DeviceSrgv> deviceSrgvList = deviceSrgvMap.values().stream().filter(deviceSrgv -> deviceSrgv.getWorkMode() == 4).collect(Collectors.toList());
|
||||
if (!deviceSrgvList.isEmpty()) {
|
||||
DeviceSrgv deviceSrgv =null;
|
||||
for (DeviceSrgv deviceSrgv1 : deviceSrgvList) {
|
||||
WcsSrgvQueue wcsSrgvQueue = wcsSagvQueueMapper.selectWcsSrgvQueueByAgvId(deviceSrgv1.getDeviceId().toString());
|
||||
if (wcsSrgvQueue == null) {
|
||||
//如果有currFloor等于mydoJob1的theFloor的就选择,如果没有选择deviceSrgvList中currFloor最小的
|
||||
if (deviceSrgv1.getCurrFloor().toString().equals(mydoJob1.getTheFloor())) {
|
||||
deviceSrgv = deviceSrgv1;
|
||||
break; // 找到了相同楼层的直接选它
|
||||
} else if (deviceSrgv == null || deviceSrgv1.getCurrFloor() < deviceSrgv.getCurrFloor()) {
|
||||
deviceSrgv = deviceSrgv1; // 更新为更小楼层的小车
|
||||
}
|
||||
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
WcsSrgvQueue wcsSrgvQueue2 = wcsSagvQueueMapper.selectWcsSrgvQueueByAgvId(deviceSrgv.getDeviceId().toString());
|
||||
if (wcsSrgvQueue2 == null && deviceSrgv.getStatus()==1) {
|
||||
|
||||
//查询1楼是否有空闲联机自动的小车,且1楼小车不在入库站点
|
||||
//查询小车是否为1楼,且1楼小车不在入库站点
|
||||
String endSite = "";
|
||||
WcsSrgvMap wcsSrgvMap = new WcsSrgvMap();
|
||||
wcsSrgvMap.setRemark(mydoJob1.getEntranceId());
|
||||
@@ -264,6 +261,7 @@ public class BaseSRgvThread implements Runnable, SRgvThreadInterface {
|
||||
wcsSagvQueueMapper.insertWcsSrgvQueue(wcsSrgvQueue);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -516,22 +514,9 @@ public class BaseSRgvThread implements Runnable, SRgvThreadInterface {
|
||||
* 1、不处理终点是提升机站点的四向车
|
||||
* 2、处理终点不是提升机站点的
|
||||
* */
|
||||
boolean taskFinishFlag = finishTaskByQueue(deviceSrgv.getCurrSite(), wcsSrgvQueue);
|
||||
|
||||
if (taskFinishFlag) {
|
||||
String spare2 = deviceSrgv.getSpare2();
|
||||
if ("-".equals(spare2)) {
|
||||
//换层 不删除队列
|
||||
wcsSrgvQueue.setExecutionStatus("2");
|
||||
wcsSagvQueueMapper.updateWcsSrgvQueue(wcsSrgvQueue);
|
||||
} else {
|
||||
WcsSrgvQueueFinish wcsSrgvQueueFinish = new WcsSrgvQueueFinish();
|
||||
BeanUtil.copyProperties(wcsSrgvQueue, wcsSrgvQueueFinish);
|
||||
wcsSrgvQueueFinish.setFinishDate(DateUtil.now());
|
||||
wcsSagvQueueFinishMapper.insertWcsSrgvQueueFinish(wcsSrgvQueueFinish);
|
||||
wcsSagvQueueMapper.deleteWcsSrgvQueueByGuid(wcsSrgvQueue.getGuid());
|
||||
}
|
||||
}
|
||||
finishTaskByQueue(deviceSrgv.getCurrSite(), wcsSrgvQueue);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -602,16 +587,18 @@ public class BaseSRgvThread implements Runnable, SRgvThreadInterface {
|
||||
//请求wms生成库存
|
||||
|
||||
break;
|
||||
case "7"://移库,变动库存,删除队列,插入历史表
|
||||
|
||||
case "7"://移库,变动库存
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//删除队列,插入历史表
|
||||
wcsSagvQueueMapper.insertHistory(wcsSrgvQueue.getTaskNo());
|
||||
wcsSagvQueueMapper.deleteWcsSrgvQueueByGuid(wcsSrgvQueue.getGuid());
|
||||
|
||||
} else {
|
||||
//充电之类得 不知道用不用
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user