|
|
@@ -495,7 +495,9 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
int subTotalNum = rmsLineFlowTasks.size();
|
|
|
Long parentId = rmsTaskPool.getTaskId();
|
|
|
String boxCode = "";
|
|
|
- if((rmsLineFlowTasks.get(0).getTaskType().equals("1") || rmsLineFlowTasks.get(0).getTaskType().equals("PUSH")) && rmsTaskInstockLine != null) {
|
|
|
+ if((rmsLineFlowTasks.get(0).getTaskType().equals("1")
|
|
|
+ || rmsLineFlowTasks.get(0).getTaskType().equals("PUSH"))
|
|
|
+ && rmsTaskInstockLine != null) {
|
|
|
boxCode = rmsTaskInstockLine.getBoxCode();
|
|
|
rmsTaskPool.setBoxCode(boxCode);
|
|
|
rmsTaskPool.setStockId(rmsTaskInstockLine.getInstockId());
|
|
|
@@ -506,7 +508,9 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
rmsTaskInstockLine.setLiftCode(rmsLine.getStockLiftCode());
|
|
|
}
|
|
|
|
|
|
- if((rmsLineFlowTasks.get(0).getTaskType().equals("2") || rmsLineFlowTasks.get(0).getTaskType().equals("PULL")) && rmsTaskOutstockLine != null) {
|
|
|
+ if((rmsLineFlowTasks.get(0).getTaskType().equals("2")
|
|
|
+ || rmsLineFlowTasks.get(0).getTaskType().equals("PULL"))
|
|
|
+ && rmsTaskOutstockLine != null) {
|
|
|
boxCode = rmsTaskOutstockLine.getBoxCode();
|
|
|
rmsTaskPool.setBoxCode(boxCode);
|
|
|
rmsTaskPool.setStockId(rmsTaskOutstockLine.getOutstockId());
|
|
|
@@ -520,7 +524,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
for (RmsLineFlowTask flowTask : rmsLineFlowTasks) {
|
|
|
if(flowTask.getDeviceType() != null){
|
|
|
//容器类型判断
|
|
|
- if (!boxCode.equals("") && ((boxCode.substring(0, 2).equals("TP") && !flowTask.getFlowTaskName().equals("拼合单")) ||
|
|
|
+ if (!boxCode.equals("") && ((boxCode.startsWith("TP") && !flowTask.getFlowTaskName().equals("拼合单")) ||
|
|
|
!boxCode.substring(0, 2).equals("TP") && flowTask.getFlowTaskName().equals("拼合单"))) continue;
|
|
|
rmsTaskPool = runTask(flowTask, rmsLine, rmsTaskPool, rmsTaskOutstockLine, rmsTaskInstockLine, rmsBox, totalNum, parentId, groupCode);
|
|
|
if(rmsTaskPool == null){
|
|
|
@@ -539,10 +543,10 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
}
|
|
|
|
|
|
private RmsTaskPool runTask(RmsLineFlowTask rmsLineFlowTask, RmsLine rmsLine, RmsTaskPool rmsTaskPool, RmsTaskOutstockLine rmsTaskOutstockLine, RmsTaskInstockLine rmsTaskInstockLine, WmRmsBox rmsBox, int totalNum, Long parentId, String groupCode) throws Exception {
|
|
|
- if (Long.parseLong(rmsLineFlowTask.getDeviceType())
|
|
|
- == DeviceTypeEnum.ROLLERAGV.getValue() || Long.parseLong(rmsLineFlowTask.getDeviceType())
|
|
|
- == DeviceTypeEnum.LIFTAGV.getValue() || Long.parseLong(rmsLineFlowTask.getDeviceType())
|
|
|
- == DeviceTypeEnum.LATENTAGV.getValue()) {
|
|
|
+ if (Long.parseLong(rmsLineFlowTask.getDeviceType()) == DeviceTypeEnum.ROLLERAGV.getValue()
|
|
|
+ || Long.parseLong(rmsLineFlowTask.getDeviceType()) == DeviceTypeEnum.LIFTAGV.getValue()
|
|
|
+ || Long.parseLong(rmsLineFlowTask.getDeviceType()) == DeviceTypeEnum.LATENTAGV.getValue()
|
|
|
+ || Long.parseLong(rmsLineFlowTask.getDeviceType()) == DeviceTypeEnum.RAILAGV.getValue()) {
|
|
|
rmsTaskPool = sendAgvTask(rmsTaskPool, rmsLineFlowTask, rmsLine, parentId, groupCode,rmsTaskOutstockLine,rmsTaskInstockLine, rmsBox);
|
|
|
if(rmsTaskPool == null){
|
|
|
return null;
|
|
|
@@ -758,15 +762,6 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
rmsTaskPool.setDeviceType("1");
|
|
|
rmsTaskPool.setGroupCode(groupCode);
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
- //=========新增任务写库
|
|
|
-// int i = sendTaskPool(rmsTaskPool);
|
|
|
-// if(i > 0){
|
|
|
-// if (rmsTaskPool.getParentId() == 0) {
|
|
|
-// ApiCache.addLiftTask(rmsTaskPool);
|
|
|
-// }
|
|
|
-// }else{
|
|
|
-// throw new Exception("入库任务新增失败");
|
|
|
-// }
|
|
|
return rmsTaskPool;
|
|
|
}
|
|
|
|
|
|
@@ -832,14 +827,6 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
rmsTaskPool.setDeviceType("1");
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setGroupCode(groupCode);
|
|
|
-// int i = sendTaskPool(rmsTaskPool);
|
|
|
-// if (i > 0) {
|
|
|
-// if (rmsTaskPool.getParentId() == 0) {
|
|
|
-// ApiCache.addLiftTask(rmsTaskPool);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// throw new Exception("入库任务新增失败");
|
|
|
-// }
|
|
|
return rmsTaskPool;
|
|
|
}
|
|
|
|
|
|
@@ -993,15 +980,6 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
if(isWait){
|
|
|
rmsTaskPool.setWaitType(1);;
|
|
|
}
|
|
|
- //=========新增任务
|
|
|
-// int i = sendTaskPool(rmsTaskPool);
|
|
|
-// if (i > 0) {
|
|
|
-// if (rmsTaskPool.getParentId() == 0) {
|
|
|
-// ApiCache.addLiftTask(rmsTaskPool);
|
|
|
-// }
|
|
|
-// }else{
|
|
|
-// throw new Exception("出库任务新增失败");
|
|
|
-// }
|
|
|
return rmsTaskPool;
|
|
|
}
|
|
|
|
|
|
@@ -1019,9 +997,9 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
rmsTaskPool.setSourceId(rmsTaskOutstockLine.getLineId());
|
|
|
rmsTaskPool.setSourceType(rmsTaskOutstock.getErpOutstockCode());
|
|
|
}else{
|
|
|
- rmsTaskPool.setStockId(parentTaskPool.getStockId());
|
|
|
- rmsTaskPool.setSourceId(parentTaskPool.getSourceId());
|
|
|
- rmsTaskPool.setSourceType(parentTaskPool.getSourceType());
|
|
|
+ rmsTaskPool.setStockId(parentTaskPool.getStockId());
|
|
|
+ rmsTaskPool.setSourceId(parentTaskPool.getSourceId());
|
|
|
+ rmsTaskPool.setSourceType(parentTaskPool.getSourceType());
|
|
|
}
|
|
|
rmsTaskPool.setPickTime(flowTask.getPickTime());
|
|
|
rmsTaskPool.setFromType(rmsLine.getFromType());
|
|
|
@@ -1040,60 +1018,60 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
if(!isNext){
|
|
|
return null;
|
|
|
}
|
|
|
-// if (flowTask.getFlowTaskName().equals("拼合单") && !StringUtils.isEmpty(flowTask.getFromSite())) {
|
|
|
-// rmsTaskPool.setFromSite("1$" + flowTask.getFromSite());
|
|
|
-// } else {
|
|
|
+
|
|
|
setFromSite(parentTaskPool, flowTask, rmsTaskPool, rmsLine, rmsTaskOutstockLine, rmsTaskInstockLine, rmsBox);
|
|
|
-// }
|
|
|
|
|
|
String fromSite = flowTask.getFromSite();
|
|
|
int isLoad = flowTask.getIsLoad();
|
|
|
rmsTaskPool.setKeyRoute(parentTaskPool.getToSite());
|
|
|
- if(Long.parseLong(flowTask.getDeviceType())
|
|
|
- == DeviceTypeEnum.LIFTAGV.getValue()){
|
|
|
+ //叉车任务
|
|
|
+ if(Long.parseLong(flowTask.getDeviceType()) == DeviceTypeEnum.LIFTAGV.getValue()){
|
|
|
rmsTaskPool.setDeviceType(DeviceTypeEnum.LIFTAGV.getValue() + "");
|
|
|
if(isLoad == 1){
|
|
|
if(StringUtils.isEmpty(fromSite)){
|
|
|
throw new Exception(flowTask.getFlowTaskId() + "叉车任务没有来源地");
|
|
|
}
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
-// rmsTaskPool.setTaskType(TaskTypeEnum.CDA2BX.getValue());
|
|
|
rmsTaskPool.setTaskType(flowTask.getTaskType());
|
|
|
|
|
|
}else{
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.CX2B.getValue());
|
|
|
}
|
|
|
- }else{
|
|
|
+ }
|
|
|
+ //辊筒式AGV
|
|
|
+ if(Long.parseLong(flowTask.getDeviceType()) == DeviceTypeEnum.ROLLERAGV.getValue()){
|
|
|
rmsTaskPool.setDeviceType(DeviceTypeEnum.ROLLERAGV.getValue() + "");
|
|
|
if(isLoad == 1){
|
|
|
if(StringUtils.isEmpty(fromSite)){
|
|
|
throw new Exception(flowTask.getFlowTaskId() + "AGV任务没有来源地");
|
|
|
}
|
|
|
if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 1){
|
|
|
+ // 1: AGV上料并下料
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.RA2BX_ROLLER_BACK.getValue());
|
|
|
}else if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 2){
|
|
|
// 2: AGV上料
|
|
|
- if(rmsTaskPool.getStockType() == 1){//入库,A等 B上
|
|
|
+ if(rmsTaskPool.getStockType() == 1){//入库,A等 B滚动上料
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.TA2BR_ROLLER_BACK_UP.getValue());
|
|
|
}
|
|
|
- if(rmsTaskPool.getStockType() == 2){//出库,A滚,到B
|
|
|
+ if(rmsTaskPool.getStockType() == 2){//出库,A滚动上料,到B
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.RA2B_ROLLER_BACK_UP.getValue());
|
|
|
}
|
|
|
}else if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 3){
|
|
|
//3: AGV下料
|
|
|
- if(rmsTaskPool.getStockType() == 1) {//入库, A等,到 B下料
|
|
|
+ if(rmsTaskPool.getStockType() == 1) {//入库, A等,到 B滚动下料
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.TA2BR_ROLLER_BACK_DOWN.getValue());
|
|
|
}
|
|
|
- if(rmsTaskPool.getStockType() == 2){//出库,A下料, 到B
|
|
|
+ if(rmsTaskPool.getStockType() == 2){//出库,A滚动下料, 到B
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.RA2B_ROLLER_BACK_DOWN.getValue());
|
|
|
}
|
|
|
}else{
|
|
|
+ //移动 A到B
|
|
|
rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
rmsTaskPool.setTaskType(TaskTypeEnum.DA2BX.getValue());
|
|
|
}
|
|
|
@@ -1113,6 +1091,42 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //轨道AGV
|
|
|
+ if(Long.parseLong(flowTask.getDeviceType()) == DeviceTypeEnum.RAILAGV.getValue()){
|
|
|
+ rmsTaskPool.setDeviceType(DeviceTypeEnum.ROLLERAGV.getValue() + "");
|
|
|
+ if(isLoad == 1){
|
|
|
+ if(StringUtils.isEmpty(fromSite)){
|
|
|
+ throw new Exception(flowTask.getFlowTaskId() + "AGV任务没有来源地");
|
|
|
+ }
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 0){
|
|
|
+ //移动
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ rmsTaskPool.setTaskType(TaskTypeEnum.DA2BX.getValue());
|
|
|
+ }
|
|
|
+ if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 1){
|
|
|
+ // 1: AGV上料并下料,全自动
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ rmsTaskPool.setTaskType(TaskTypeEnum.RA2BX_ROLLER_BACK.getValue());
|
|
|
+ }
|
|
|
+ if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 2){
|
|
|
+ //A滚动上料,到B等
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ rmsTaskPool.setTaskType(TaskTypeEnum.RA2B_ROLLER_BACK_UP.getValue());
|
|
|
+ }
|
|
|
+ if(flowTask.getIsScroll()!=null && flowTask.getIsScroll() == 3){
|
|
|
+ //A等,到B滚动下料
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ rmsTaskPool.setTaskType(TaskTypeEnum.TA2BR_ROLLER_BACK_DOWN.getValue());
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //移动
|
|
|
+ rmsTaskPool.setTaskName(flowTask.getFlowTaskName());
|
|
|
+ rmsTaskPool.setTaskType(TaskTypeEnum.DA2BX.getValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
rmsTaskPool.setRunDelay(flowTask.getDelayTime());
|
|
|
if(flowTask.getFlowTaskId() == null){
|
|
|
flowTask.setFinishType(1);
|
|
|
@@ -1136,15 +1150,6 @@ public class RmsLineServiceImpl implements IRmsLineService {
|
|
|
rmsTaskPool.setCreateBy(rmsLine.getCreateBy());
|
|
|
rmsTaskPool.setCreateTime(new Date());
|
|
|
rmsTaskPool.setBeginTime(new Date());
|
|
|
-
|
|
|
-// int i = rmsTaskPoolMapper.insertRmsTaskPool(rmsTaskPool);
|
|
|
-// if (i > 0) {
|
|
|
-// if (rmsTaskPool.getParentId() == 0) {
|
|
|
-// ApiCache.addAgvTask(rmsTaskPool);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// throw new Exception("AGV任务新增失败");
|
|
|
-// }
|
|
|
return rmsTaskPool;
|
|
|
}
|
|
|
|