Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
HYH.APSJ
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
佟礼
HYH.APSJ
Commits
e9f76f68
Commit
e9f76f68
authored
Dec 29, 2025
by
Tong Li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
遗传算法-初始话日历
parent
edb4f4d5
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
21 deletions
+59
-21
RoutingDataService.java
...in/java/com/aps/service/Algorithm/RoutingDataService.java
+40
-9
PlanResultService.java
src/main/java/com/aps/service/plan/PlanResultService.java
+19
-12
No files found.
src/main/java/com/aps/service/Algorithm/RoutingDataService.java
View file @
e9f76f68
...
@@ -393,7 +393,7 @@ public class RoutingDataService {
...
@@ -393,7 +393,7 @@ public class RoutingDataService {
}
}
public
List
<
Machine
>
InitCalendarToAllMachines
(
MachineSchedulerService
machineScheduler
,
boolean
IsUseCalendar
,
LocalDateTime
baseTime
)
{
public
List
<
Machine
>
InitCalendarToAllMachines
(
MachineSchedulerService
machineScheduler
,
LocalDateTime
baseTime
)
{
// 按设备分组
// 按设备分组
...
@@ -438,12 +438,8 @@ public class RoutingDataService {
...
@@ -438,12 +438,8 @@ public class RoutingDataService {
machine
.
setId
(
resource
.
getId
());
machine
.
setId
(
resource
.
getId
());
machine
.
setCode
(
resource
.
getReferenceCode
());
machine
.
setCode
(
resource
.
getReferenceCode
());
machine
.
setName
(
resource
.
getTitle
());
machine
.
setName
(
resource
.
getTitle
());
if
(
machine
.
getName
().
contains
(
"铲车-2"
))
{
int
i
=
1
+
2
;
}
if
(!
IsUseCalendar
)
{
List
<
EquipCapacityDef
>
machineProdEquipSpecialCals
=
ProdEquipSpecialCals
.
stream
()
List
<
EquipCapacityDef
>
machineProdEquipSpecialCals
=
ProdEquipSpecialCals
.
stream
()
.
filter
(
t
->
t
.
getPlanResourceId
()
!=
null
&&
t
.
getReferenceId
()
!=
null
&&
t
.
getPlanResourceId
()
==
machine
.
getId
()
&&
t
.
getReferenceType
()
==
1
)
.
filter
(
t
->
t
.
getPlanResourceId
()
!=
null
&&
t
.
getReferenceId
()
!=
null
&&
t
.
getPlanResourceId
()
==
machine
.
getId
()
&&
t
.
getReferenceType
()
==
1
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
...
@@ -553,7 +549,41 @@ public class RoutingDataService {
...
@@ -553,7 +549,41 @@ public class RoutingDataService {
machine
.
setMaintenanceWindows
(
maintenanceWindows
);
machine
.
setMaintenanceWindows
(
maintenanceWindows
);
}
else
{
machines
.
add
(
machine
);
}
// 4. 初始化机器时间线
for
(
Machine
machine
:
machines
)
{
MachineTimeline
timeline
=
machineScheduler
.
getOrCreateTimeline
(
machine
);
machine
.
setAvailability
(
timeline
.
getSegments
());
}
return
machines
;
}
public
List
<
Machine
>
InitNoCalendarToAllMachines
(
MachineSchedulerService
machineScheduler
,
LocalDateTime
baseTime
)
{
// 按设备分组
List
<
Machine
>
machines
=
new
ArrayList
<>();
List
<
PlanResource
>
PlanResources
=
_PlanResourceService
.
lambdaQuery
()
.
eq
(
PlanResource:
:
getIsdeleted
,
0
)
.
list
();
//设备能力
for
(
PlanResource
resource
:
PlanResources
)
{
Machine
machine
=
new
Machine
();
machine
.
setId
(
resource
.
getId
());
machine
.
setCode
(
resource
.
getReferenceCode
());
machine
.
setName
(
resource
.
getTitle
());
List
<
Shift
>
shifts1
=
new
ArrayList
<>();
List
<
Shift
>
shifts1
=
new
ArrayList
<>();
Shift
shift
=
new
Shift
();
Shift
shift
=
new
Shift
();
shift
.
setMachineId
(
machine
.
getId
());
shift
.
setMachineId
(
machine
.
getId
());
...
@@ -572,7 +602,7 @@ public class RoutingDataService {
...
@@ -572,7 +602,7 @@ public class RoutingDataService {
shift
.
setEndDate
(
LocalDateTime
.
of
(
2000
,
1
,
1
,
0
,
0
,
0
));
shift
.
setEndDate
(
LocalDateTime
.
of
(
2000
,
1
,
1
,
0
,
0
,
0
));
shifts1
.
add
(
shift
);
shifts1
.
add
(
shift
);
machine
.
setShifts
(
shifts1
);
machine
.
setShifts
(
shifts1
);
}
machines
.
add
(
machine
);
machines
.
add
(
machine
);
}
}
...
@@ -589,6 +619,7 @@ public class RoutingDataService {
...
@@ -589,6 +619,7 @@ public class RoutingDataService {
}
}
/**
/**
* 合并重复的ShiftData,将serialNumber收集为列表
* 合并重复的ShiftData,将serialNumber收集为列表
* @param originalList 原始数据列表
* @param originalList 原始数据列表
...
...
src/main/java/com/aps/service/plan/PlanResultService.java
View file @
e9f76f68
...
@@ -766,13 +766,19 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
...
@@ -766,13 +766,19 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
// 按设备分组
// 按设备分组
FileHelper
.
writeLogFile
(
"初始化设备日历-----------开始-------"
);
FileHelper
.
writeLogFile
(
"初始化设备日历-----------开始-------"
);
if
(!
IsUseCalendar
)
{
ScheduleParams
param
=
InitScheduleParams
();
return
_routingDataService
.
InitNoCalendarToAllMachines
(
machineScheduler
,
param
.
getBaseTime
());
}
else
{
// List<Machine> machines = _routingDataService.InitCalendarToAllMachines(SceneId, ProdEquipments, machineScheduler, IsUseCalendar);
// List<Machine> machines = _routingDataService.InitCalendarToAllMachines(SceneId, ProdEquipments, machineScheduler, IsUseCalendar);
List
<
Machine
>
machines
=
(
List
<
Machine
>)
GlobalCacheUtil
.
get
(
"machines"
);
List
<
Machine
>
machines
=
(
List
<
Machine
>)
GlobalCacheUtil
.
get
(
"machines"
);
if
(
machines
==
null
||
machines
.
size
()==
0
)
{
if
(
machines
==
null
||
machines
.
size
()
==
0
)
{
machines
=
(
List
<
Machine
>)
redisUtils
.
get
(
"machines"
);
machines
=
(
List
<
Machine
>)
redisUtils
.
get
(
"machines"
);
if
(
machines
==
null
||
machines
.
size
()==
0
)
{
if
(
machines
==
null
||
machines
.
size
()
==
0
)
{
machines
=
InitCalendarToAllMachines
();
machines
=
InitCalendarToAllMachines
();
...
@@ -780,20 +786,21 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
...
@@ -780,20 +786,21 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
}
}
FileHelper
.
writeLogFile
(
"初始化设备日历-----------结束-------"
);
FileHelper
.
writeLogFile
(
"初始化设备日历-----------结束-------"
);
GlobalCacheUtil
.
put
(
"machines"
,
machines
,
10
,
TimeUnit
.
MINUTES
);
GlobalCacheUtil
.
put
(
"machines"
,
machines
,
10
,
TimeUnit
.
MINUTES
);
return
machines
;
return
machines
;
}
}
}
public
List
<
Machine
>
InitCalendarToAllMachines
()
public
List
<
Machine
>
InitCalendarToAllMachines
()
{
{
FileHelper
.
writeLogFile
(
"初始化Redis设备日历-----------开始-------"
);
FileHelper
.
writeLogFile
(
"初始化Redis设备日历-----------开始-------"
);
GlobalParam
globalParam
=
InitGlobalParam
();
ScheduleParams
param
=
InitScheduleParams
();
ScheduleParams
param
=
InitScheduleParams
();
MachineSchedulerService
machineScheduler
=
new
MachineSchedulerService
(
MachineSchedulerService
machineScheduler
=
new
MachineSchedulerService
(
param
.
getBaseTime
());
param
.
getBaseTime
());
List
<
Machine
>
machines
=
_routingDataService
.
InitCalendarToAllMachines
(
machineScheduler
,
globalParam
.
isIsUseCalendar
(),
param
.
getBaseTime
());
List
<
Machine
>
machines
=
_routingDataService
.
InitCalendarToAllMachines
(
machineScheduler
,
param
.
getBaseTime
());
redisUtils
.
set
(
"machines"
,
machines
);
redisUtils
.
set
(
"machines"
,
machines
);
...
...
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