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
a84189b4
Commit
a84189b4
authored
Mar 26, 2026
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
滚动排产修改
parent
503590db
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
231 additions
and
50 deletions
+231
-50
LockedOrderProcessorService.java
...ava/com/aps/service/plan/LockedOrderProcessorService.java
+73
-4
PlanResultService.java
src/main/java/com/aps/service/plan/PlanResultService.java
+158
-46
No files found.
src/main/java/com/aps/service/plan/LockedOrderProcessorService.java
View file @
a84189b4
...
...
@@ -2,10 +2,7 @@ package com.aps.service.plan;
import
com.aps.common.util.ProductionDeepCopyUtil
;
import
com.aps.common.util.redis.RedisUtils
;
import
com.aps.entity.Algorithm.Chromosome
;
import
com.aps.entity.Algorithm.GAScheduleResult
;
import
com.aps.entity.Algorithm.GlobalOperationInfo
;
import
com.aps.entity.Algorithm.ScheduleResultDetail
;
import
com.aps.entity.Algorithm.*
;
import
com.aps.entity.ApsTimeConfig
;
import
com.aps.entity.Dispatch
;
import
com.aps.entity.MesShiftWorkSched
;
...
...
@@ -546,10 +543,12 @@ public class LockedOrderProcessorService {
.
orElse
(
0
);
int
nextAvailableId
=
maxExistingId
+
1
;
Map
<
Integer
,
Integer
>
lockedEntryIdMapping
=
new
HashMap
<>();
// 为锁定期Entry重新分配ID
for
(
Entry
lockedEntry
:
data
.
entries
.
values
())
{
int
oldId
=
lockedEntry
.
getId
();
lockedEntryIdMapping
.
put
(
oldId
,
nextAvailableId
);
lockedEntry
.
setId
(
nextAvailableId
);
// 更新对应的GAScheduleResult的operationId(包括result和resultOld)
...
...
@@ -577,6 +576,76 @@ public class LockedOrderProcessorService {
nextAvailableId
++;
}
// 同步更新锁定期Entry内部依赖中的工序ID引用(仅修正本批次重分配的ID)
for
(
Entry
lockedEntry
:
data
.
entries
.
values
())
{
if
(
lockedEntry
.
getPrevEntryIds
()
!=
null
)
{
for
(
OperationDependency
dep
:
lockedEntry
.
getPrevEntryIds
())
{
if
(
dep
==
null
)
{
continue
;
}
Integer
newPrev
=
lockedEntryIdMapping
.
get
(
dep
.
getPrevOperationId
());
if
(
newPrev
!=
null
)
{
dep
.
setPrevOperationId
(
newPrev
);
}
Integer
newNext
=
lockedEntryIdMapping
.
get
(
dep
.
getNextOperationId
());
if
(
newNext
!=
null
)
{
dep
.
setNextOperationId
(
newNext
);
}
}
}
if
(
lockedEntry
.
getNextEntryIds
()
!=
null
)
{
for
(
OperationDependency
dep
:
lockedEntry
.
getNextEntryIds
())
{
if
(
dep
==
null
)
{
continue
;
}
Integer
newPrev
=
lockedEntryIdMapping
.
get
(
dep
.
getPrevOperationId
());
if
(
newPrev
!=
null
)
{
dep
.
setPrevOperationId
(
newPrev
);
}
Integer
newNext
=
lockedEntryIdMapping
.
get
(
dep
.
getNextOperationId
());
if
(
newNext
!=
null
)
{
dep
.
setNextOperationId
(
newNext
);
}
}
}
}
// 同步更新锁定期Entry内部依赖中的工序ID引用(仅修正本批次重分配的ID)
for
(
Entry
lockedEntry
:
data
.
entries
.
values
())
{
if
(
lockedEntry
.
getPrevEntryIds
()
!=
null
)
{
for
(
OperationDependency
dep
:
lockedEntry
.
getPrevEntryIds
())
{
if
(
dep
==
null
)
{
continue
;
}
Integer
newPrev
=
lockedEntryIdMapping
.
get
(
dep
.
getPrevOperationId
());
if
(
newPrev
!=
null
)
{
dep
.
setPrevOperationId
(
newPrev
);
}
Integer
newNext
=
lockedEntryIdMapping
.
get
(
dep
.
getNextOperationId
());
if
(
newNext
!=
null
)
{
dep
.
setNextOperationId
(
newNext
);
}
}
}
if
(
lockedEntry
.
getNextEntryIds
()
!=
null
)
{
for
(
OperationDependency
dep
:
lockedEntry
.
getNextEntryIds
())
{
if
(
dep
==
null
)
{
continue
;
}
Integer
newPrev
=
lockedEntryIdMapping
.
get
(
dep
.
getPrevOperationId
());
if
(
newPrev
!=
null
)
{
dep
.
setPrevOperationId
(
newPrev
);
}
Integer
newNext
=
lockedEntryIdMapping
.
get
(
dep
.
getNextOperationId
());
if
(
newNext
!=
null
)
{
dep
.
setNextOperationId
(
newNext
);
}
}
}
}
chromosome
.
getAllOperations
().
addAll
(
data
.
entries
.
values
());
log
.
debug
(
"成功添加 {} 个锁定期Entry到allOperations中,大小从{}变为{},ID范围: {}-{}"
,
data
.
entries
.
size
(),
beforeEntrySize
,
chromosome
.
getAllOperations
().
size
(),
...
...
src/main/java/com/aps/service/plan/PlanResultService.java
View file @
a84189b4
This diff is collapsed.
Click to expand it.
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