|
@@ -728,9 +728,9 @@ public class TaskWorkNode {
|
|
|
// 获取锁定节点ID
|
|
|
Long campId = xbkStorage.getCampId();
|
|
|
// 获取锁定节点
|
|
|
- TaskNode targetNode = taskNodeService.getById(campId);
|
|
|
+ TWorkpiece workpiece = workpieceService.getWorkPiece(campId);
|
|
|
// 锁定节点对应设备ID
|
|
|
- Long targetId = targetNode.getResourceId();
|
|
|
+ Long targetId = Long.parseLong(workpiece.getTpointId());
|
|
|
if(!taskNodeService.getRunStatus(targetId)){
|
|
|
map.put("result", false);
|
|
|
map.put("msg", DictionaryKey.NodeException.RUNNING_FALSE);
|
|
@@ -741,19 +741,24 @@ public class TaskWorkNode {
|
|
|
Productionresource productionresource = productionresourceService.getOne(new QueryWrap<Productionresource>().eq("id", targetId));
|
|
|
//任意设备条件判断
|
|
|
boolean bool = resourcePosition!=null && resourcePosition.getLockStatus() == "1" && resourcePosition.getStatus() == "1" && resourcePosition.getHaveGoods() == "0";
|
|
|
+ Storge storge = null;
|
|
|
if(productionresource.getModuleDesc()=="接驳位"){
|
|
|
- //目标对象是接驳位
|
|
|
+ //目标对象是接驳位上托盘的库位
|
|
|
String[] jbwarr = new String[]{productionresource.getCode()};
|
|
|
//获取托盘的库位
|
|
|
Map plateMap = storgeService.getPlateStorgeByNo(jbwarr, task.getCompleteBatchNo());
|
|
|
- Storge plantStorge = plateMap.get("storge") == null ? null : (Storge) plateMap.get("storge");
|
|
|
- bool = bool && (plantStorge!=null );
|
|
|
+ storge = plateMap.get("storge") == null ? null : (Storge) plateMap.get("storge");
|
|
|
+ bool = bool && (storge!=null );
|
|
|
}else{
|
|
|
- Storge storge = storgeService.getById(resourcePosition.getStorgeId());
|
|
|
- bool = bool && (storge!=null && storge.getLockStatus() == "1");
|
|
|
+ //目标地址是加工设备
|
|
|
+ storge = storgeService.getById(resourcePosition.getStorgeId());
|
|
|
+ bool = bool && (storge!=null && storge.getLockStatus() == "1" && storge.getId() == workpiece.getTaskNodeId());
|
|
|
}
|
|
|
if(bool){
|
|
|
+ //预先锁定目标设备
|
|
|
+ storgeService.lockStorge(storge, taskNode.getId());
|
|
|
//实现移动操作到具体设备
|
|
|
+
|
|
|
//线边库解锁
|
|
|
storgeService.unlockStorge(xbkStorage);
|
|
|
//更新workpiece的库位信息
|