Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wcs-server-v8-nansha
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
heli_wms
wcs-server-v8-nansha
Commits
b6ba5258
Commit
b6ba5258
authored
Jan 20, 2020
by
tank.li@mushiny.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
南沙WCS版本临时存储地址
parent
dbe9f1ff
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
3 deletions
+17
-3
PodRunOrder.java
src/main/java/com/mushiny/beans/order/midea/PodRunOrder.java
+9
-1
PodManager.java
src/main/java/com/mushiny/business/PodManager.java
+8
-2
No files found.
src/main/java/com/mushiny/beans/order/midea/PodRunOrder.java
View file @
b6ba5258
package
com
.
mushiny
.
beans
.
order
.
midea
;
package
com
.
mushiny
.
beans
.
order
.
midea
;
import
com.mushiny.beans.Address
;
import
com.mushiny.beans.Address
;
import
com.mushiny.beans.Robot
;
import
com.mushiny.beans.Section
;
import
com.mushiny.beans.Section
;
import
com.mushiny.beans.enums.AddressType
;
import
com.mushiny.beans.enums.AddressType
;
import
com.mushiny.beans.enums.TripStatus
;
import
com.mushiny.beans.enums.TripStatus
;
...
@@ -86,7 +87,7 @@ public class PodRunOrder extends Order {
...
@@ -86,7 +87,7 @@ public class PodRunOrder extends Order {
if
(!
MideaConstants
.
CarryPod
.
equalsIgnoreCase
(
this
.
type
)
if
(!
MideaConstants
.
CarryPod
.
equalsIgnoreCase
(
this
.
type
)
&&
!
MideaConstants
.
ANNTOMVOUT
.
equalsIgnoreCase
(
this
.
type
)
&&
!
MideaConstants
.
ANNTOMVOUT
.
equalsIgnoreCase
(
this
.
type
)
&&
!
MideaConstants
.
LMGETMATERIAL
.
equalsIgnoreCase
(
this
.
type
))
{
&&
!
MideaConstants
.
LMGETMATERIAL
.
equalsIgnoreCase
(
this
.
type
))
{
boolean
success
=
this
.
getPodManager
().
targetAndLock
(
this
.
getPod
(),
this
.
getRobot
());
boolean
success
=
this
.
getPodManager
().
targetAndLock
(
this
.
getPod
(),
this
.
getRobot
()
,
this
.
getRobotManager
()
);
if
(!
success
)
{
if
(!
success
)
{
logger
.
error
(
this
.
getOrderId
()
+
"的POD="
+
this
.
getPod
().
getPodName
()
+
":热度算法没有生成目标地址"
);
logger
.
error
(
this
.
getOrderId
()
+
"的POD="
+
this
.
getPod
().
getPodName
()
+
":热度算法没有生成目标地址"
);
//从地图上查找一次
//从地图上查找一次
...
@@ -97,6 +98,13 @@ public class PodRunOrder extends Order {
...
@@ -97,6 +98,13 @@ public class PodRunOrder extends Order {
if
(
address
.
getType
()
==
AddressType
.
STORAGE
){
if
(
address
.
getType
()
==
AddressType
.
STORAGE
){
success
=
noPodOnAddress
(
address
)
success
=
noPodOnAddress
(
address
)
&&
address
.
robotLock
(
this
.
getRobot
().
getRobotId
(),
true
);
&&
address
.
robotLock
(
this
.
getRobot
().
getRobotId
(),
true
);
//如果该节点被某小车锁定,而小车锁定的目的地不是该节点,表示数据有问题 2020-01-20
Robot
lockedRobot
=
this
.
getRobotManager
().
getRobotById
(
address
.
getLockedBy
());
if
(
lockedRobot
.
getLockedAddr
()
!=
Long
.
parseLong
(
address
.
getId
())){
logger
.
error
(
"该位置锁定的小车目的地不是这个点 lockedRobot.getLockedAddr():"
+
lockedRobot
.
getLockedAddr
()+
" address.getId():"
+
address
.
getId
());
success
=
true
;
}
if
(
success
)
{
if
(
success
)
{
logger
.
error
(
this
.
getOrderId
()
+
"的POD="
logger
.
error
(
this
.
getOrderId
()
+
"的POD="
+
this
.
getPod
().
getPodName
()+
" 获取到目标地址:"
+
address
.
getId
());
+
this
.
getPod
().
getPodName
()+
" 获取到目标地址:"
+
address
.
getId
());
...
...
src/main/java/com/mushiny/business/PodManager.java
View file @
b6ba5258
...
@@ -864,9 +864,10 @@ public class PodManager implements CommandLineRunner {
...
@@ -864,9 +864,10 @@ public class PodManager implements CommandLineRunner {
*
*
* @param pod
* @param pod
* @param robot
* @param robot
* @param robotManager
* @return
* @return
*/
*/
public
synchronized
boolean
targetAndLock
(
Pod
pod
,
Robot
robot
)
{
public
synchronized
boolean
targetAndLock
(
Pod
pod
,
Robot
robot
,
RobotManager
robotManager
)
{
Address
address
=
null
;
Address
address
=
null
;
try
{
try
{
logger
.
debug
(
"获取热度计算后的目标地址..."
);
logger
.
debug
(
"获取热度计算后的目标地址..."
);
...
@@ -885,15 +886,20 @@ public class PodManager implements CommandLineRunner {
...
@@ -885,15 +886,20 @@ public class PodManager implements CommandLineRunner {
for
(
int
j
=
0
;
j
<
addressList
.
size
();
j
++)
{
for
(
int
j
=
0
;
j
<
addressList
.
size
();
j
++)
{
address
=
addressList
.
get
(
j
);
address
=
addressList
.
get
(
j
);
//动态的目的地址要排除设定目标地址的那些
//动态的目的地址要排除设定目标地址的那些
//如果该节点被某小车锁定,而小车锁定的目的地不是该节点,表示数据有问题 2020-01-20
Robot
lockedRobot
=
robotManager
.
getRobotById
(
address
.
getLockedBy
());
if
(
isAvaliable
(
address
)
&&
!
Objects
.
equals
(
address
,
pod
.
getAddress
())
//不能找当前节点
if
(
isAvaliable
(
address
)
&&
!
Objects
.
equals
(
address
,
pod
.
getAddress
())
//不能找当前节点
&&
!
innerEmptyOrLockedBy
(
address
)
&&
noAvailableTripInInner
(
address
)
&&
!
innerEmptyOrLockedBy
(
address
)
&&
noAvailableTripInInner
(
address
)
&&
(
pod
.
getLockedBy
()
==
address
.
getLockedBy
()
||
address
.
getLockedBy
()
==
0
))
{
&&
(
pod
.
getLockedBy
()
==
address
.
getLockedBy
()
||
address
.
getLockedBy
()
==
0
//增加这个条件 2020-01-20
||
lockedRobot
.
getLockedAddr
()
!=
Long
.
parseLong
(
address
.
getId
())))
{
address
.
setLockedBy
(
robot
.
getRobotId
());
address
.
setLockedBy
(
robot
.
getRobotId
());
address
.
setNodeState
(
AddressStatus
.
RESERVED
);
address
.
setNodeState
(
AddressStatus
.
RESERVED
);
robot
.
setLockedAddr
(
Long
.
parseLong
(
address
.
getId
()));
robot
.
setLockedAddr
(
Long
.
parseLong
(
address
.
getId
()));
logger
.
debug
(
"小车"
+
robot
.
getRobotId
()
+
" 同步锁定"
+
address
);
logger
.
debug
(
"小车"
+
robot
.
getRobotId
()
+
" 同步锁定"
+
address
);
return
true
;
return
true
;
}
}
}
}
//未找到再循环
//未找到再循环
/*try {
/*try {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment