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
52bcf331
Commit
52bcf331
authored
Feb 26, 2026
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单甘特修改
parent
7c9fa3db
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
28 deletions
+50
-28
PlanResultService.java
src/main/java/com/aps/service/plan/PlanResultService.java
+50
-28
No files found.
src/main/java/com/aps/service/plan/PlanResultService.java
View file @
52bcf331
...
@@ -1988,6 +1988,7 @@ private GlobalParam InitGlobalParam()
...
@@ -1988,6 +1988,7 @@ private GlobalParam InitGlobalParam()
*/
*/
public
List
<
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
>
convertToProductGanttVO1
(
Chromosome
scheduleChromosome
)
{
public
List
<
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
>
convertToProductGanttVO1
(
Chromosome
scheduleChromosome
)
{
List
<
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
>
productGanttVOList
=
new
ArrayList
<>();
List
<
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
>
productGanttVOList
=
new
ArrayList
<>();
List
<
Entry
>
allOperations
=
scheduleChromosome
.
getAllOperations
();
// 按产品ID和工单ID分组基因
// 按产品ID和工单ID分组基因
if
(
scheduleChromosome
.
getResult
()
!=
null
)
{
if
(
scheduleChromosome
.
getResult
()
!=
null
)
{
...
@@ -1999,17 +2000,22 @@ private GlobalParam InitGlobalParam()
...
@@ -1999,17 +2000,22 @@ private GlobalParam InitGlobalParam()
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
productGanttVO
=
new
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
();
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
productGanttVO
=
new
com
.
aps
.
entity
.
Gantt
.
ProductGanttVO
();
GAScheduleResult
firstGene
=
genes
.
get
(
0
);
GAScheduleResult
firstGene
=
genes
.
get
(
0
);
productGanttVO
.
setId
(
firstGene
.
getOrderId
());
productGanttVO
.
setId
(
firstGene
.
getOrderId
());
productGanttVO
.
setProductName
(
"产品"
+
firstGene
.
getProductId
());
// 默认值,实际应从订单数据获取
productGanttVO
.
setProductName
(
firstGene
.
getProductName
());
productGanttVO
.
setProductType
(
0
);
productGanttVO
.
setProductType
(
0
);
productGanttVO
.
setProductId
(
firstGene
.
getProductId
());
productGanttVO
.
setProductId
(
firstGene
.
getProductId
());
// 计算总数量(假设同一批次)
// 计算总数量(假设同一批次)
productGanttVO
.
setQuantity
(
firstGene
.
getQuantity
());
productGanttVO
.
setQuantity
(
firstGene
.
getQuantity
());
productGanttVO
.
setCode
(
"编号"
+
firstGene
.
getProductId
());
// 默认值
productGanttVO
.
setCode
(
firstGene
.
getProductCode
());
productGanttVO
.
setShopId
(
firstGene
.
getMachineId
());
// 默认值
// productGanttVO.setShopId(firstGene.getMachineId());
productGanttVO
.
setShopName
(
firstGene
.
getMachineId
()+
"号线"
);
// 默认值
// productGanttVO.setShopName(firstGene.getMachineId()+"号线");
productGanttVO
.
setStatus
(
"已发布"
);
productGanttVO
.
setStatus
(
"已发布"
);
// productGanttVO.setHeaderId(firstGene.getProductId());
productGanttVO
.
setHeaderName
(
"工艺"
+
firstGene
.
getProductId
());
// 默认值
Entry
entry
=
allOperations
.
stream
()
.
filter
(
t
->
t
.
getId
()
==
firstGene
.
getOperationId
()).
findFirst
().
orElse
(
null
);
if
(
entry
!=
null
)
{
productGanttVO
.
setHeaderId
(
entry
.
getRoutingId
());
productGanttVO
.
setHeaderName
(
entry
.
getRoutingName
());
}
// 计算开始和结束时间
// 计算开始和结束时间
int
minStartTime
=
genes
.
stream
()
int
minStartTime
=
genes
.
stream
()
...
@@ -2031,35 +2037,51 @@ private GlobalParam InitGlobalParam()
...
@@ -2031,35 +2037,51 @@ private GlobalParam InitGlobalParam()
for
(
int
i
=
0
;
i
<
genes
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
genes
.
size
();
i
++)
{
GAScheduleResult
gene
=
genes
.
get
(
i
);
GAScheduleResult
gene
=
genes
.
get
(
i
);
Entry
entry1
=
allOperations
.
stream
()
.
filter
(
t
->
t
.
getId
()
==
gene
.
getOperationId
()).
findFirst
().
orElse
(
null
);
com
.
aps
.
entity
.
Gantt
.
TaskVO
taskVO
=
new
com
.
aps
.
entity
.
Gantt
.
TaskVO
();
com
.
aps
.
entity
.
Gantt
.
TaskVO
taskVO
=
new
com
.
aps
.
entity
.
Gantt
.
TaskVO
();
taskVO
.
setId
(
String
.
valueOf
(
gene
.
getOperationId
()));
// 生成唯一ID
taskVO
.
setId
(
String
.
valueOf
(
gene
.
getOperationId
()));
taskVO
.
setPlanId
(
String
.
valueOf
(
orderId
));
taskVO
.
setPlanId
(
gene
.
getOrderId
());
taskVO
.
setProductType
(
0
);
taskVO
.
setPlanCode
(
gene
.
getOrderCode
());
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
taskVO
.
setProductName
(
gene
.
getProductName
());
taskVO
.
setProductId
(
String
.
valueOf
(
gene
.
getProductId
()));
taskVO
.
setProductId
(
gene
.
getProductId
());
taskVO
.
setProductCode
(
gene
.
getProductCode
());
taskVO
.
setQuantity
(
gene
.
getQuantity
());
taskVO
.
setQuantity
(
gene
.
getQuantity
());
taskVO
.
setStart
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getStartTime
()));
taskVO
.
setStart
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getStartTime
()));
taskVO
.
setEnd
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getEndTime
()));
taskVO
.
setEnd
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getEndTime
()));
taskVO
.
setSetup
(
gene
.
getPreTime
());
// 默认值
taskVO
.
setSetup
(
gene
.
getPreTime
());
taskVO
.
setTeardown
(
gene
.
getTeardownTime
());
// 默认值
taskVO
.
setTeardown
(
gene
.
getTeardownTime
());
taskVO
.
setEquipChange
(
gene
.
getChangeOverTime
());
// 默认值
taskVO
.
setEquipChange
(
gene
.
getChangeOverTime
());
taskVO
.
setEquipCooling
(
0
);
// 默认值
taskVO
.
setEquipCooling
(
0
);
// taskVO.setEquipType("PTT-" + (i+1) + "-" + gene.getOperationName().toUpperCase().substring(0, Math.min(3, gene.getOperationName().length())));
taskVO
.
setLocked
(
gene
.
isIsLocked
());
// taskVO.setEquipName(gene.getOperationName());
taskVO
.
setDuration
(
calculateDuration
(
if
(
entry1
!=
null
)
{
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
gene
.
getStartTime
()),
taskVO
.
setSeq
(
Math
.
toIntExact
(
entry1
.
getTaskSeq
()));
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
gene
.
getEndTime
())));
taskVO
.
setSeqName
(
entry1
.
getRoutingDetailName
());
taskVO
.
setEquipId
(
gene
.
getMachineId
());
// 生成设备ID
}
if
(
gene
.
getDesignatedStartTime
()>
0
)
{
taskVO
.
setDesignatedStartTime
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getDesignatedStartTime
()));
}
else
{
taskVO
.
setDesignatedStartTime
(
null
);
}
taskVO
.
setDuration
(
0
);
taskVO
.
setEquipId
(
gene
.
getMachineId
());
taskVO
.
setShopId
(
gene
.
getMachineId
());
taskVO
.
setShopId
(
gene
.
getMachineId
());
taskVO
.
setShopName
(
gene
.
getMachineId
()+
"车间"
);
taskVO
.
setShopName
(
gene
.
getMachineId
()+
"车间"
);
taskVO
.
setStatus
(
0
);
taskVO
.
setStatus
(
0
);
// taskVO.setDetailId((long) gene.getProductId() * 1000 + gene.getOperationId());
// taskVO.setHeaderId(gene.getProductId());
if
(
entry1
!=
null
)
{
taskVO
.
setHeaderName
(
"工艺"
+
gene
.
getProductId
());
taskVO
.
setDetailId
(
entry1
.
getRoutingDetailId
());
// taskVO.setSeq(gene.getSequenceId());
taskVO
.
setHeaderId
(
entry1
.
getRoutingId
());
// taskVO.setSeqName("工序名称"+gene.getSequenceId());
taskVO
.
setHeaderName
(
entry1
.
getRoutingName
());
// taskVO.setAbsoluteStart(scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()));
}
// taskVO.setAbsoluteEnd(scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()));
taskVO
.
setProcessingTime
(
gene
.
getProcessingTime
());
taskVO
.
setAbsolutePreparationTime
(
gene
.
getTeardownTime
());
taskVOList
.
add
(
taskVO
);
taskVOList
.
add
(
taskVO
);
}
}
...
...
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