Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Z
zhmes-agecal
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
耿迪迪
zhmes-agecal
Commits
d22727dd
Commit
d22727dd
authored
Sep 25, 2025
by
wanghao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1 指令指令完成,但是 没有检测到机械臂完成。
parent
e61c0379
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
140 additions
and
7 deletions
+140
-7
DeviceComm501Device1Job.java
...ng/system/task/DeviceCommJob/DeviceComm501Device1Job.java
+28
-0
DeviceComm501Device2Job.java
...ng/system/task/DeviceCommJob/DeviceComm501Device2Job.java
+27
-0
DeviceComm501Device3Job.java
...ng/system/task/DeviceCommJob/DeviceComm501Device3Job.java
+27
-0
DeviceComm501Job.java
...om/zehong/system/task/DeviceCommJob/DeviceComm501Job.java
+2
-1
DeviceComm502Job.java
...om/zehong/system/task/DeviceCommJob/DeviceComm502Job.java
+2
-1
DeviceComm503Job.java
...om/zehong/system/task/DeviceCommJob/DeviceComm503Job.java
+3
-2
DeviceTaskScheduler.java
...main/java/com/zehong/system/task/DeviceTaskScheduler.java
+51
-3
No files found.
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceCommJob/DeviceComm501Device1Job.java
0 → 100644
View file @
d22727dd
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author lenovo
* @date 2025/9/25
* @description TODO
*/
@Component
public
class
DeviceComm501Device1Job
extends
BaseDeviceCommJob
{
@Override
protected
int
getFixedPort
()
{
return
501
;
// 固定端口501
}
@Override
protected
List
<
Integer
>
getDeviceIds
()
{
// 端口501对应的设备ID列表
return
Collections
.
singletonList
(
1
);
}
}
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceCommJob/DeviceComm501Device2Job.java
0 → 100644
View file @
d22727dd
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author lenovo
* @date 2025/9/25
* @description TODO
*/
@Component
public
class
DeviceComm501Device2Job
extends
BaseDeviceCommJob
{
@Override
protected
int
getFixedPort
()
{
return
501
;
// 固定端口501
}
@Override
protected
List
<
Integer
>
getDeviceIds
()
{
// 端口501对应的设备ID列表
return
Collections
.
singletonList
(
2
);
}
}
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceCommJob/DeviceComm501Device3Job.java
0 → 100644
View file @
d22727dd
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author lenovo
* @date 2025/9/25
* @description TODO
*/
@Component
public
class
DeviceComm501Device3Job
extends
BaseDeviceCommJob
{
@Override
protected
int
getFixedPort
()
{
return
501
;
// 固定端口501
}
@Override
protected
List
<
Integer
>
getDeviceIds
()
{
// 端口501对应的设备ID列表
return
Collections
.
singletonList
(
3
);
}
}
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm501Job.java
→
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm
Job/DeviceComm
501Job.java
View file @
d22727dd
package
com
.
zehong
.
system
.
task
;
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm502Job.java
→
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm
Job/DeviceComm
502Job.java
View file @
d22727dd
package
com
.
zehong
.
system
.
task
;
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm503Job.java
→
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceComm
Job/DeviceComm
503Job.java
View file @
d22727dd
package
com
.
zehong
.
system
.
task
;
package
com
.
zehong
.
system
.
task
.
DeviceCommJob
;
import
com.zehong.system.task.BaseDeviceCommJob
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
...
...
@@ -11,7 +12,7 @@ import java.util.List;
* @description TODO
*/
@Component
public
class
DeviceComm503Job
extends
BaseDeviceCommJob
{
public
class
DeviceComm503Job
extends
BaseDeviceCommJob
{
@Override
protected
int
getFixedPort
()
{
return
503
;
// 固定端口503
...
...
zhmes-agecal-system/src/main/java/com/zehong/system/task/DeviceTaskScheduler.java
View file @
d22727dd
package
com
.
zehong
.
system
.
task
;
import
com.zehong.system.task.DeviceCommJob.*
;
import
org.quartz.*
;
import
org.quartz.impl.matchers.GroupMatcher
;
import
org.slf4j.Logger
;
...
...
@@ -73,11 +74,58 @@ public class DeviceTaskScheduler {
*/
private
void
createPortSpecificCommJobs
(
Long
fStoreyId
)
throws
SchedulerException
{
// 1. 端口501:5分钟后执行
createPortCommJob
(
fStoreyId
,
501
,
DeviceComm50
1Job
.
class
,
2
);
createPortCommJob
(
fStoreyId
,
501
,
1
,
DeviceComm501Device
1Job
.
class
,
2
);
// 2. 端口502:10分钟后执行
createPortCommJob
(
fStoreyId
,
50
2
,
DeviceComm50
2Job
.
class
,
4
);
createPortCommJob
(
fStoreyId
,
50
1
,
2
,
DeviceComm501Device
2Job
.
class
,
4
);
// 3. 端口503:15分钟后执行
createPortCommJob
(
fStoreyId
,
503
,
DeviceComm503Job
.
class
,
6
);
createPortCommJob
(
fStoreyId
,
501
,
3
,
DeviceComm501Device3Job
.
class
,
6
);
}
/**
* 单个端口Job和Trigger创建(通用方法)
* @param fStoreyId 设备ID
* @param port 端口号
* @param jobClass Job类
* @param delayMin 延迟执行时间(分钟)
*/
private
void
createPortCommJob
(
Long
fStoreyId
,
int
port
,
int
deviceId
,
Class
<?
extends
Job
>
jobClass
,
int
delayMin
)
throws
SchedulerException
{
String
jobId
=
"COMM_"
+
port
+
deviceId
+
"_"
+
fStoreyId
;
// JobID:COMM_501_123(端口+设备ID,确保唯一)
String
triggerId
=
"TRIGGER_"
+
port
+
deviceId
+
"_"
+
fStoreyId
;
// TriggerID:TRIGGER_501_123
JobKey
jobKey
=
new
JobKey
(
jobId
,
JOB_GROUP
);
TriggerKey
triggerKey
=
new
TriggerKey
(
triggerId
,
TRIGGER_GROUP
);
// 1. 去重:先删除旧任务/触发器
if
(
scheduler
.
checkExists
(
triggerKey
))
{
scheduler
.
unscheduleJob
(
triggerKey
);
log
.
info
(
"端口[{}]旧触发器已删除:{}"
,
port
,
triggerId
);
}
if
(
scheduler
.
checkExists
(
jobKey
))
{
scheduler
.
deleteJob
(
jobKey
);
log
.
info
(
"端口[{}]旧任务已删除:{}"
,
port
,
jobId
);
}
// 2. 创建JobDetail
JobDetail
job
=
JobBuilder
.
newJob
(
jobClass
)
.
withIdentity
(
jobKey
)
.
usingJobData
(
"fStoreyId"
,
fStoreyId
.
toString
())
// 传递设备ID
.
storeDurably
(
false
)
.
build
();
// 3. 创建一次性SimpleTrigger(延迟delayMin分钟,仅执行1次)
Date
triggerTime
=
Date
.
from
(
Instant
.
now
().
plus
(
delayMin
,
ChronoUnit
.
MINUTES
));
SimpleTrigger
trigger
=
TriggerBuilder
.
newTrigger
()
.
withIdentity
(
triggerKey
)
.
forJob
(
jobKey
)
.
startAt
(
triggerTime
)
// 延迟执行时间
.
withSchedule
(
SimpleScheduleBuilder
.
simpleSchedule
()
.
withRepeatCount
(
0
)
// 仅执行1次
.
withMisfireHandlingInstructionFireNow
())
// 错过则立即执行
.
build
();
// 4. 提交调度
Date
nextFireTime
=
scheduler
.
scheduleJob
(
job
,
trigger
);
log
.
info
(
"端口[{}]任务创建成功:jobId={},延迟{}分钟,下次执行:{}"
,
port
,
jobId
,
delayMin
,
nextFireTime
);
}
/**
* 单个端口Job和Trigger创建(通用方法)
...
...
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