Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
QZSA
Project
Project
Details
Activity
Releases
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
gavelinfo
QZSA
Commits
64bffb72
Commit
64bffb72
authored
Oct 08, 2022
by
黄自鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加设备单元解析,增加AGV电量控制
parent
bee745af
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
121 additions
and
5 deletions
+121
-5
AgvServiceImpl.java
.../java/com/gavel/qzsa/agv/service/impl/AgvServiceImpl.java
+2
-2
TemplateService.java
...ain/java/com/gavel/qzsa/jcsj/service/TemplateService.java
+4
-2
TemplateServiceImpl.java
...com/gavel/qzsa/jcsj/service/impl/TemplateServiceImpl.java
+100
-0
GwlxEnum.java
gavel/src/main/java/com/gavel/qzsa/jcsj/utils/GwlxEnum.java
+1
-0
RcmsServiceImpl.java
...java/com/gavel/qzsa/mcs/service/impl/RcmsServiceImpl.java
+2
-1
AgvTask.java
.../src/main/java/com/gavel/qzsa/rabbitmq/model/AgvTask.java
+12
-0
No files found.
gavel/src/main/java/com/gavel/qzsa/agv/service/impl/AgvServiceImpl.java
View file @
64bffb72
...
...
@@ -154,7 +154,7 @@ public class AgvServiceImpl extends BaseEditServiceImpl implements AgvService {
if
(
agvExsit
!=
null
&&
BooleanEnum
.
equalsYes
(
agvExsit
.
getTybz
())){
continue
;
}
/*
//是否启用充电阈值设置
//是否启用充电阈值设置
String
isEnable
=
commonService
.
getStringOptionValue
(
JcsjParamEnum
.
AgvBatteryEnable
.
id
());
//充电状态,阈值比较
if
(
StringUtils
.
equals
(
isEnable
,
"Y"
)){
...
...
@@ -166,7 +166,7 @@ public class AgvServiceImpl extends BaseEditServiceImpl implements AgvService {
continue
;
}
}
}
*/
}
//查询Eptask中是否已存在小车,如果存在,返回空,生成任务失败
if
(
eptaskDao
.
countExecutingHcTask
(
agvStatus
.
getRobotCode
())
>
0
)
{
logger
.
error
(
"小车"
+
agvStatus
.
getRobotCode
()+
"已存在执行任务,生成任务失败!"
);
...
...
gavel/src/main/java/com/gavel/qzsa/jcsj/service/TemplateService.java
View file @
64bffb72
...
...
@@ -13,16 +13,18 @@ import com.gavel.persistence.sql.RecordSet;
public
interface
TemplateService
extends
BaseEditService
{
public
RecordSet
<
TemplateVO
>
query
(
TemplateCondition
condition
);
public
List
<
TemplatedetailVO
>
queryDetail
(
String
mid
);
public
List
<
Position
>
parseTemplate
(
String
agvCode
,
String
code
,
List
<
Device
>
deviceList
);
public
List
<
Position
>
parseTemplate
(
String
agvCode
,
String
code
,
List
<
Device
>
deviceList
,
String
equipID
);
public
List
<
Position
>
parseTemplate
(
String
agvCode
,
String
podCode
,
String
code
,
List
<
Device
>
deviceList
);
public
Template
queryByCode
(
String
tasktype
);
public
int
queryDetailRealCount
(
String
id
);
}
gavel/src/main/java/com/gavel/qzsa/jcsj/service/impl/TemplateServiceImpl.java
View file @
64bffb72
...
...
@@ -159,11 +159,111 @@ public class TemplateServiceImpl extends BaseEditServiceImpl implements Template
return
list
;
}
@Override
public
List
<
Position
>
parseTemplate
(
String
agvCode
,
String
code
,
List
<
Device
>
deviceList
)
{
return
parseTemplate
(
agvCode
,
null
,
code
,
deviceList
);
}
@Override
public
List
<
Position
>
parseTemplate
(
String
agvCode
,
String
code
,
List
<
Device
>
deviceList
,
String
equipID
)
{
if
(
StringUtils
.
isEmpty
(
code
))
{
throwReturnMessage
(
"编码不允许为空!"
);
}
List
<
Position
>
list
=
new
ArrayList
<>();
//查询模板
Template
param
=
new
Template
();
param
.
setCode
(
code
);
Template
template
=
templateDao
.
queryByEntity
(
param
);
if
(
template
==
null
)
{
throwReturnMessage
(
"参数错误,找不到对应的模板!"
);
}
List
<
TemplatedetailVO
>
templatedetails
=
templatedetailDao
.
queryByMid
(
template
.
getId
());
if
(
templatedetails
==
null
)
{
throwReturnMessage
(
"模板错误,没有正确定义!"
);
}
List
<
TemplatedetailVO
>
fliterList
=
new
ArrayList
<>();
for
(
TemplatedetailVO
templatedetail
:
templatedetails
)
{
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
E
.
getId
())){
fliterList
.
add
(
templatedetail
);
}
}
if
(
fliterList
.
size
()>
deviceList
.
size
()){
throwReturnMessage
(
"设备数量小于模板设定设备数量!"
);
}
//根据AGV查询货架位置点、货架待命点
Pod
pod
=
podDao
.
findByAgvCode
(
agvCode
);
int
deviceIndex
=
0
;
//解析明细列表
for
(
TemplatedetailVO
templatedetail
:
templatedetails
)
{
Position
position
=
new
Position
();
position
.
setType
(
POSITION_TYPE
);
/* if (StringUtils.equals(templatedetail.getGwlx(), GwlxEnum.A.getId())) {
if (pod == null) {
throwReturnMessage("无货获取货架信息!");
}
position.setPositionCode(pod.getBerthCode());
list.add(position);
} else*/
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
B
.
getId
()))
{
if
(
pod
==
null
)
{
throwReturnMessage
(
"无货获取货架信息!"
);
}
position
.
setPositionCode
(
pod
.
getWaitCode
());
list
.
add
(
position
);
}
else
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
F
.
getId
()))
{
//货架摆放点
if
(
pod
==
null
)
{
throwReturnMessage
(
"无货获取货架信息!"
);
}
position
.
setPositionCode
(
pod
.
getDispositionCode
());
list
.
add
(
position
);
}
else
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
C
.
getId
())
||
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
G
.
getId
())
||
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
J
.
getId
())||
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
H
.
getId
()))
{
//鹏总说了,只有一个
Gw
gwParam
=
new
Gw
();
gwParam
.
setType
(
templatedetail
.
getGwlx
());
Gw
gw
=
gwDao
.
queryByEntity
(
gwParam
);
if
(
gw
==
null
)
{
throwReturnMessage
(
"无法获取电子货架待命点!"
);
}
position
.
setPositionCode
(
gw
.
getMapdatacode
());
list
.
add
(
position
);
}
else
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
D
.
getId
())
||
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
E
.
getId
()))
{
if
(
deviceIndex
>=
deviceList
.
size
())
{
throwReturnMessage
(
"设备数量大于模板设定设备数量!"
);
//如果发送的设备数大于模板配置的设备数
}
Device
device
=
deviceList
.
get
(
deviceIndex
);
//机台待命点、机台进入点
Gw
gw
=
gwDao
.
findByDevice
(
device
.
getDevice
(),
templatedetail
.
getGwlx
());
if
(
gw
==
null
)
{
throwReturnMessage
(
"无法获取设备%s的%s!"
,
device
.
getDevice
(),
GwlxEnum
.
findNameById
(
templatedetail
.
getGwlx
()));
}
position
.
setPositionCode
(
gw
.
getMapdatacode
());
list
.
add
(
position
);
}
else
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
Z
.
getId
()))
{
deviceIndex
++;
}
else
if
(
StringUtils
.
equals
(
templatedetail
.
getGwlx
(),
GwlxEnum
.
S
.
getId
()))
{
//设备单元工位位置点
Gw
gw
=
gwDao
.
findByDevice
(
equipID
,
templatedetail
.
getGwlx
());
if
(
gw
==
null
)
{
throwReturnMessage
(
"无法获取设备%s的%s!"
,
equipID
,
GwlxEnum
.
findNameById
(
templatedetail
.
getGwlx
()));
}
position
.
setPositionCode
(
gw
.
getMapdatacode
());
list
.
add
(
position
);
}
}
return
list
;
}
@Override
public
int
queryDetailRealCount
(
String
id
)
{
List
<
TemplatedetailVO
>
list
=
queryDetail
(
id
);
...
...
gavel/src/main/java/com/gavel/qzsa/jcsj/utils/GwlxEnum.java
View file @
64bffb72
...
...
@@ -18,6 +18,7 @@ public enum GwlxEnum {
F
(
"货架摆放点"
,
"6"
),
G
(
"取消点内"
,
"7"
),
H
(
"取消点外"
,
"8"
),
S
(
"设备单元"
,
"10"
),
Z
(
"切换设备◎"
,
"99"
);
private
String
id
;
...
...
gavel/src/main/java/com/gavel/qzsa/mcs/service/impl/RcmsServiceImpl.java
View file @
64bffb72
...
...
@@ -468,8 +468,9 @@ public class RcmsServiceImpl extends BaseEditServiceImpl implements RcmsService
// RCS 提交任务
List
<
Device
>
deviceList
=
agvTask
.
getDesttask
().
stream
().
filter
(
device
->
!
"0"
.
equals
(
device
.
getDevice
())).
collect
(
Collectors
.
toList
());
//过滤设备号为零
String
equipID
=
agvTask
.
getEquipID
();
//获取位置集合
List
<
Position
>
positionCodePath
=
templateService
.
parseTemplate
(
eptask
.
getAgvCode
(),
agvTask
.
getTasktype
(),
deviceList
);
List
<
Position
>
positionCodePath
=
templateService
.
parseTemplate
(
eptask
.
getAgvCode
(),
agvTask
.
getTasktype
(),
deviceList
,
equipID
);
GenAgvTaskResp
genAgvTaskResp
=
genAgvSchedulingTask
(
eptask
.
getTaskTyp
(),
positionCodePath
,
eptask
.
getPriority
(),
eptask
.
getTaskCode
(),
eptask
.
getPodCode
(),
eptask
.
getAgvCode
());
...
...
gavel/src/main/java/com/gavel/qzsa/rabbitmq/model/AgvTask.java
View file @
64bffb72
...
...
@@ -26,6 +26,10 @@ public class AgvTask {
@JSONField
(
ordinal
=
5
)
private
List
<
Device
>
desttask
=
new
ArrayList
<>();
//设备信息
@JSONField
(
ordinal
=
6
)
private
String
EquipID
;
private
String
agvcode
;
private
String
time
;
//时间戳
...
...
@@ -95,4 +99,12 @@ public class AgvTask {
public
void
setAgvcode
(
String
agvcode
)
{
this
.
agvcode
=
agvcode
;
}
public
String
getEquipID
()
{
return
EquipID
;
}
public
void
setEquipID
(
String
equipID
)
{
EquipID
=
equipID
;
}
}
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