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
a7c9d3a4
Commit
a7c9d3a4
authored
Jan 13, 2026
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kpi修改
parent
99817cb4
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
31 additions
and
22 deletions
+31
-22
GeneticDecoder.java
src/main/java/com/aps/service/Algorithm/GeneticDecoder.java
+0
-4
KpiCalculator.java
src/main/java/com/aps/service/Algorithm/KpiCalculator.java
+28
-16
ChromosomeDataService.java
...in/java/com/aps/service/common/ChromosomeDataService.java
+1
-1
DiscreteParameterMatrixServiceImpl.java
.../aps/service/impl/DiscreteParameterMatrixServiceImpl.java
+1
-0
PlanResultServiceTest.java
src/test/java/com/aps/demo/PlanResultServiceTest.java
+1
-1
No files found.
src/main/java/com/aps/service/Algorithm/GeneticDecoder.java
View file @
a7c9d3a4
...
@@ -861,11 +861,7 @@ if(finishedOrder==null||finishedOrder.size()==0)
...
@@ -861,11 +861,7 @@ if(finishedOrder==null||finishedOrder.size()==0)
setupTime
=
(
int
)
discreteParameterMatrixValue
;
setupTime
=
(
int
)
discreteParameterMatrixValue
;
if
(
operation
.
getOrderId
()==
"a0e61488-0647-4f8e-a27c-cfed9cbbba52"
){
System
.
out
.
println
(
"lastGene"
+
operation
.
getExecId
());
}
// System.out.println("换型时间"+discreteParameterMatrixValue);
// System.out.println("换型时间"+discreteParameterMatrixValue);
// System.out.println(setupTime+"换型时间"+"huanxingshijian ");
// System.out.println(setupTime+"换型时间"+"huanxingshijian ");
...
...
src/main/java/com/aps/service/Algorithm/KpiCalculator.java
View file @
a7c9d3a4
...
@@ -63,62 +63,74 @@ public class KpiCalculator {
...
@@ -63,62 +63,74 @@ public class KpiCalculator {
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最大延迟"
,
OrderMaxDelay
,
"所有订单的延迟时间最大值"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"最大延迟"
,
OrderMaxDelay
,
"所有订单的延迟时间最大值"
,
2
,
1
);
//最小延迟
//最小延迟
double
O
rderMinDelay
=
chromosome
.
getOrders
().
stream
()
double
o
rderMinDelay
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getDelayHours
)
.
mapToDouble
(
Order:
:
getDelayHours
)
.
min
()
.
min
()
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最小延迟"
,
O
rderMinDelay
,
"所有订单的延迟时间最小值"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"最小延迟"
,
o
rderMinDelay
,
"所有订单的延迟时间最小值"
,
2
,
1
);
double
O
rderSumDelay
=
chromosome
.
getOrders
().
stream
()
double
o
rderSumDelay
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getDelayHours
)
.
mapToDouble
(
Order:
:
getDelayHours
)
.
sum
();
.
sum
();
//平均延迟
//平均延迟
double
OrderDelay
=
Math
.
round
(
O
rderSumDelay
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
double
OrderDelay
=
Math
.
round
(
o
rderSumDelay
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
addKpi
(
kpiMetrics
,
"平均延迟"
,
OrderDelay
,
"所有订单的延迟时间平均值"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"平均延迟"
,
OrderDelay
,
"所有订单的延迟时间平均值"
,
2
,
1
);
//最长生产周期
//最长生产周期
double
O
rderMaxProductTime
=
chromosome
.
getOrders
().
stream
()
double
o
rderMaxProductTime
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
max
()
.
max
()
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最长生产周期"
,
O
rderMaxProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"最长生产周期"
,
o
rderMaxProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
//最小生产周期
//最小生产周期
double
O
rderMinProductTime
=
chromosome
.
getOrders
().
stream
()
double
o
rderMinProductTime
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
min
()
.
min
()
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最短生产周期"
,
O
rderMinProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"最短生产周期"
,
o
rderMinProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
double
O
rderSumProductTime
=
chromosome
.
getOrders
().
stream
()
double
o
rderSumProductTime
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
mapToDouble
(
Order:
:
getOrderProductTime
)
.
sum
();
.
sum
();
//平均生产周期
//平均生产周期
double
OrderProductTime
=
Math
.
round
(
O
rderSumProductTime
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
double
OrderProductTime
=
Math
.
round
(
o
rderSumProductTime
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
addKpi
(
kpiMetrics
,
"平均生产周期"
,
OrderProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
addKpi
(
kpiMetrics
,
"平均生产周期"
,
OrderProductTime
,
"订单在计划中的实际存续时长"
,
2
,
1
);
//最大流量
//最大流量
double
O
rderMaxFlow
=
chromosome
.
getOrders
().
stream
()
double
o
rderMaxFlow
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
max
()
.
max
()
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最大流量"
,
O
rderMaxFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值最大值"
,
0
,
1
);
addKpi
(
kpiMetrics
,
"最大流量"
,
o
rderMaxFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值最大值"
,
0
,
1
);
//最小流量
//最小流量
double
O
rderMinFlow
=
chromosome
.
getOrders
().
stream
()
double
o
rderMinFlow
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
min
()
.
min
()
.
orElse
(
0
);
.
orElse
(
0
);
addKpi
(
kpiMetrics
,
"最小流量"
,
O
rderMinFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值最小值"
,
0
,
1
);
addKpi
(
kpiMetrics
,
"最小流量"
,
o
rderMinFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值最小值"
,
0
,
1
);
double
O
rderSumFlow
=
chromosome
.
getOrders
().
stream
()
double
o
rderSumFlow
=
chromosome
.
getOrders
().
stream
()
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
mapToDouble
(
Order:
:
getOrderFlow
)
.
sum
();
.
sum
();
//平均流量
//平均流量
double
OrderFlow
=
Math
.
round
(
O
rderSumFlow
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
double
OrderFlow
=
Math
.
round
(
o
rderSumFlow
/
chromosome
.
getOrders
().
size
()
*
100.0
)
/
100.0
;
addKpi
(
kpiMetrics
,
"平均流量"
,
OrderFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值"
,
0
,
1
);
addKpi
(
kpiMetrics
,
"平均流量"
,
OrderFlow
,
"订单的最短理论耗时与其在计划中的实际耗时的比值"
,
0
,
1
);
chromosome
.
setKpiMetrics
(
kpiMetrics
);
chromosome
.
setKpiMetrics
(
kpiMetrics
);
//总换型
double
totalChangeOverTime
=
chromosome
.
getResult
().
stream
()
.
mapToDouble
(
GAScheduleResult:
:
getChangeOverTime
)
.
sum
();
addKpi
(
kpiMetrics
,
"换型时间"
,
totalChangeOverTime
,
"总的换型时间"
,
2
,
1
);
//总换型次数
long
changeOverTimeCount
=
chromosome
.
getResult
().
stream
()
.
mapToLong
(
GAScheduleResult:
:
getChangeOverTime
)
.
filter
(
changeOverTime
->
changeOverTime
>
0
)
.
count
();
addKpi
(
kpiMetrics
,
"换型次数"
,
changeOverTimeCount
,
"总的换型次数"
,
2
,
1
);
}
}
...
...
src/main/java/com/aps/service/common/ChromosomeDataService.java
View file @
a7c9d3a4
...
@@ -327,7 +327,7 @@ public class ChromosomeDataService {
...
@@ -327,7 +327,7 @@ public class ChromosomeDataService {
private
Object
queryFileData
(
String
sceneId
,
EntityConfig
config
)
{
private
Object
queryFileData
(
String
sceneId
,
EntityConfig
config
)
{
Chromosome
chromosome
=
sceneService
.
loadChromosomeFromFile
(
sceneId
);
Chromosome
chromosome
=
sceneService
.
loadChromosomeFromFile
(
sceneId
);
if
(
chromosome
==
null
)
{
if
(
chromosome
==
null
)
{
throw
new
RuntimeException
(
"未找到场景ID为 "
+
sceneId
+
" 的Chromosome数据"
)
;
return
null
;
}
}
try
{
try
{
...
...
src/main/java/com/aps/service/impl/DiscreteParameterMatrixServiceImpl.java
View file @
a7c9d3a4
...
@@ -35,6 +35,7 @@ public class DiscreteParameterMatrixServiceImpl extends ServiceImpl<DiscretePara
...
@@ -35,6 +35,7 @@ public class DiscreteParameterMatrixServiceImpl extends ServiceImpl<DiscretePara
@Override
@Override
public
double
getDiscreteParameterMatrixValue
(
Entry
entry
,
Entry
lastEntry
)
{
public
double
getDiscreteParameterMatrixValue
(
Entry
entry
,
Entry
lastEntry
)
{
// 参数校验
// 参数校验
if
(
entry
==
null
||
lastEntry
==
null
)
{
if
(
entry
==
null
||
lastEntry
==
null
)
{
return
0.0
;
return
0.0
;
}
}
...
...
src/test/java/com/aps/demo/PlanResultServiceTest.java
View file @
a7c9d3a4
...
@@ -39,7 +39,7 @@ public class PlanResultServiceTest {
...
@@ -39,7 +39,7 @@ public class PlanResultServiceTest {
// nsgaiiUtils.Test();
// nsgaiiUtils.Test();
//planResultService.execute2("C5FB5EF2A7334A0A92F826F4937E1008");
//planResultService.execute2("C5FB5EF2A7334A0A92F826F4937E1008");
// planResultService.execute2("726D4C1A712B4B1393175BD44B775B66");
// planResultService.execute2("726D4C1A712B4B1393175BD44B775B66");
planResultService
.
execute2
(
"
BCA6FA43FFA444D3952CF8F6E1EA291B
"
);
planResultService
.
execute2
(
"
E81EE93EFA564CEB8594C61CAEEBCD53
"
);
// LocalDateTime t= LocalDateTime.of(2025, 11, 15, 6, 51, 11);
// LocalDateTime t= LocalDateTime.of(2025, 11, 15, 6, 51, 11);
// List<Integer> opids=new ArrayList<>();
// List<Integer> opids=new ArrayList<>();
// opids.add(1);
// opids.add(1);
...
...
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