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
bf350b40
Commit
bf350b40
authored
Jan 04, 2026
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://39.100.78.207:1213/tongli/hyh.apsj
parents
ce8dcf27
ea974f9b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
13 deletions
+40
-13
Entry.java
src/main/java/com/aps/entity/basic/Entry.java
+3
-1
Order.java
src/main/java/com/aps/entity/basic/Order.java
+6
-2
MaterialRequirementService.java
...com/aps/service/Algorithm/MaterialRequirementService.java
+21
-7
RoutingDataService.java
...in/java/com/aps/service/Algorithm/RoutingDataService.java
+7
-2
ScheduleOperationService.java
...a/com/aps/service/Algorithm/ScheduleOperationService.java
+3
-1
No files found.
src/main/java/com/aps/entity/basic/Entry.java
View file @
bf350b40
...
...
@@ -117,7 +117,9 @@ public class Entry {
/// <summary>
/// 关联的成品工序ID(核心:明确该半成品服务于哪个成品工序)
/// </summary>
public
int
TargetFinishedOperationId
=
0
;
public
List
<
Integer
>
TargetFinishedOperationId
;
private
boolean
newCreate
=
false
;
/// <summary>
/// 半成品最晚完工时间(即成品工序开始时间-1天)
...
...
src/main/java/com/aps/entity/basic/Order.java
View file @
bf350b40
...
...
@@ -39,7 +39,11 @@ public class Order {
private
double
actualPriority
;
private
String
mainId
;
/*使用这个半成品的成品工单*/
public
List
<
Integer
>
FinishOrderId
;
private
List
<
Integer
>
FinishOrderId
;
private
boolean
newCreate
=
false
;
/// <summary>
/// 关联的成品工序ID(核心:明确该半成品服务于哪个成品工序)
/// </summary>
private
List
<
Integer
>
TargetFinishedOperationId
;
private
double
delayHours
;
//延迟时间
}
\ No newline at end of file
src/main/java/com/aps/service/Algorithm/MaterialRequirementService.java
View file @
bf350b40
...
...
@@ -149,7 +149,7 @@ if(routingIds.size()==0)
// 递归展开BOM层级(通过结果对象接收out参数数据)
BOMBuildResult
result
=
buildOrderBOM
(
demand
.
getRoutingId
(),
""
,
demand
.
getOrderId
(),
demand
.
getOrderId
(),
demand
.
getQuantity
(),
0
,
demand
);
demand
.
getQuantity
(),
0
,
demand
,
0
);
allRequirements
.
addAll
(
result
.
getMaterialRequirements
());
childorders
.
addAll
(
result
.
getChildOrders
());
_newEntrys
.
addAll
(
result
.
getNewEntrys
());
...
...
@@ -183,7 +183,7 @@ if(routingIds.size()==0)
* @return 包含物料需求列表和子订单列表的结果对象(替代C#的out参数)
*/
public
BOMBuildResult
buildOrderBOM
(
int
parent
,
String
materialID
,
String
mainorderId
,
String
childorderId
,
double
parentQuantity
,
int
level
,
Order
forder
)
{
String
childorderId
,
double
parentQuantity
,
int
level
,
Order
forder
,
int
finishOpertionID
)
{
RoutingHeader
routingHeaders
=
headers
.
stream
()
.
filter
(
t
->
t
.
getId
()==
parent
||
t
.
getMaterialId
().
equals
(
materialID
))
...
...
@@ -211,6 +211,14 @@ if(routingIds.size()==0)
if
(
Operations
!=
null
)
{
for
(
Entry
operation
:
Operations
)
{
if
(
finishOpertionID
!=
0
)
{
if
(
operation
.
getTargetFinishedOperationId
()==
null
)
{
operation
.
setTargetFinishedOperationId
(
new
ArrayList
<>());
}
operation
.
getTargetFinishedOperationId
().
add
(
finishOpertionID
);
}
// 调用BuildOperationBOM方法(返回结果对象替代out参数)
BOMBuildResult
operationResult
=
buildOperationBOM
(
mainorderId
,
childorderId
,
parentQuantity
,
operation
,
level
,
forder
);
...
...
@@ -228,7 +236,7 @@ if(routingIds.size()==0)
}
private
Map
<
Integer
,
Object
>
CreateChild
(
Order
order
,
String
materialID
)
private
Map
<
Integer
,
Object
>
CreateChild
(
Order
order
,
String
materialID
,
int
finishOpertionID
)
{
String
sceneId
=
""
;
Long
routingIds
=
0
l
;
...
...
@@ -360,7 +368,7 @@ if(routingIds.size()==0)
List
<
Order
>
ProdLaunchOrders
=
new
ArrayList
<>();
ProdLaunchOrders
.
add
(
order
);
Map
<
Integer
,
Object
>
list
=
_routingDataService
.
CreateEntry
(
sceneId
,
ProdEquipmentList
,
ProdLaunchOrders
,
routingDiscreteParams
,
ProdOrderProcesslist
,
processExecList
,
_entryRel
);
Map
<
Integer
,
Object
>
list
=
_routingDataService
.
CreateEntry
(
sceneId
,
ProdEquipmentList
,
ProdLaunchOrders
,
routingDiscreteParams
,
ProdOrderProcesslist
,
processExecList
,
_entryRel
,
finishOpertionID
);
// List<Machine> machines= _routingDataService.InitCalendarToAllMachines(sceneId,ProdEquipmentList,machineScheduler, globalParam.isIsUseCalendar());
...
...
@@ -532,8 +540,11 @@ if(routingIds.size()==0)
for
(
Order
order
:
orders2
)
{
if
(
order
.
getFinishOrderId
()
==
null
)
{
order
.
setFinishOrderId
(
new
ArrayList
<>());
order
.
setTargetFinishedOperationId
(
new
ArrayList
<>());
}
order
.
getFinishOrderId
().
add
(
forder
.
getId
());
order
.
getTargetFinishedOperationId
().
add
(
operation
.
getId
());
orderMaterial
.
getProductOrderID
().
add
(
forder
.
getId
());
double
useq
=
Math
.
min
(
needed
,
order
.
getSYQuantity
());
...
...
@@ -546,7 +557,7 @@ if(routingIds.size()==0)
BOMBuildResult
childResult
=
buildOrderBOM
(
0
,
material
.
getId
(),
orderId
,
order
.
getOrderId
(),
order
.
getQuantity
(),
l
,
order
);
order
.
getQuantity
(),
l
,
order
,
operation
.
getId
()
);
materialRequirements
.
addAll
(
childResult
.
getMaterialRequirements
());
_childorders
.
addAll
(
childResult
.
getChildOrders
());
_newEntrys
.
addAll
(
childResult
.
getNewEntrys
());
...
...
@@ -576,6 +587,9 @@ if(routingIds.size()==0)
childorder
.
setQuantity
((
int
)
orderMaterial
.
getQjQty
());
childorder
.
setFinishOrderId
(
new
ArrayList
<>());
childorder
.
getFinishOrderId
().
add
(
forder
.
getId
());
childorder
.
setNewCreate
(
true
);
childorder
.
setTargetFinishedOperationId
(
new
ArrayList
<>());
childorder
.
getTargetFinishedOperationId
().
add
(
operation
.
getId
());
childorder
.
setSerie
(
forder
.
getSerie
());
childorder
.
setStartDate
(
forder
.
getStartDate
());
...
...
@@ -584,7 +598,7 @@ if(routingIds.size()==0)
childorder
.
setActualPriority
(
forder
.
getActualPriority
());
Map
<
Integer
,
Object
>
list
=
CreateChild
(
childorder
,
material
.
getId
());
Map
<
Integer
,
Object
>
list
=
CreateChild
(
childorder
,
material
.
getId
()
,
operation
.
getId
()
);
if
(
list
==
null
)
{
continue
;
...
...
@@ -599,7 +613,7 @@ if(routingIds.size()==0)
int
l
=
level
+
1
;
BOMBuildResult
childResult
=
buildOrderBOM
(
0
,
material
.
getId
(),
orderId
,
childorder
.
getOrderId
(),
childorder
.
getQuantity
(),
l
,
childorder
);
childorder
.
getQuantity
(),
l
,
childorder
,
0
);
materialRequirements
.
addAll
(
childResult
.
getMaterialRequirements
());
_childorders
.
addAll
(
childResult
.
getChildOrders
());
_newEntrys
.
addAll
(
childResult
.
getNewEntrys
());
...
...
src/main/java/com/aps/service/Algorithm/RoutingDataService.java
View file @
bf350b40
...
...
@@ -96,11 +96,11 @@ public class RoutingDataService {
.
eq
(
ProdOrderProcess:
:
getSceneId
,
SceneId
)
.
list
();
return
CreateEntry
(
SceneId
,
ProdEquipments
,
ProdLaunchOrders
,
routingDiscreteParams
,
ProdOrderProcesss
,
ProdProcessExecs
,
null
);
return
CreateEntry
(
SceneId
,
ProdEquipments
,
ProdLaunchOrders
,
routingDiscreteParams
,
ProdOrderProcesss
,
ProdProcessExecs
,
null
,
0
);
}
public
Map
<
Integer
,
Object
>
CreateEntry
(
String
SceneId
,
List
<
ProdEquipment
>
ProdEquipments
,
List
<
Order
>
ProdLaunchOrders
,
List
<
RoutingDiscreteParam
>
routingDiscreteParams
,
List
<
ProdOrderProcess
>
ProdOrderProcesss
,
List
<
ProdProcessExec
>
ProdProcessExecs
,
List
<
GroupResult
>
existingResults
)
public
Map
<
Integer
,
Object
>
CreateEntry
(
String
SceneId
,
List
<
ProdEquipment
>
ProdEquipments
,
List
<
Order
>
ProdLaunchOrders
,
List
<
RoutingDiscreteParam
>
routingDiscreteParams
,
List
<
ProdOrderProcess
>
ProdOrderProcesss
,
List
<
ProdProcessExec
>
ProdProcessExecs
,
List
<
GroupResult
>
existingResults
,
int
FinishOpertionID
)
{
Map
<
Integer
,
Object
>
list
=
new
HashMap
<>();
List
<
String
>
soutceExecId
=
ProdOrderProcesss
.
stream
()
...
...
@@ -155,6 +155,11 @@ public class RoutingDataService {
entry
.
setGroupId
(
i
+
1
);
entry
.
setSequence
(
nodeInfo
.
getGroupSerial
());
entry
.
setExecId
(
nodeInfo
.
getOriginalId
());
if
(
FinishOpertionID
!=
0
)
{
entry
.
setNewCreate
(
true
);
entry
.
setTargetFinishedOperationId
(
new
ArrayList
<>());
entry
.
getTargetFinishedOperationId
().
add
(
FinishOpertionID
);
}
ProdProcessExec
op
=
ProdProcessExecs
.
stream
()
.
filter
(
t
->
t
.
getExecId
().
equals
(
entry
.
getExecId
()))
.
findFirst
().
orElse
(
null
);
...
...
src/main/java/com/aps/service/Algorithm/ScheduleOperationService.java
View file @
bf350b40
...
...
@@ -347,6 +347,7 @@ Integer newMachineId1=newMachineId.intValue();
newOp
.
setId
(
nodeInfo
.
getGlobalSerial
());
newOp
.
setSequence
(
nodeInfo
.
getGroupSerial
());
newOp
.
setExecId
(
nodeInfo
.
getOriginalId
());
newOp
.
setNewCreate
(
true
);
// newOp.setPrevEntryIds(nodeInfo.getNewParentIds());
// newOp.setNextEntryIds(nodeInfo.getNewChildIds());
if
(
nodeInfo
.
getNewParentIds
()!=
null
)
...
...
@@ -433,6 +434,7 @@ Integer newMachineId1=newMachineId.intValue();
order
.
setQuantity
(
splitCounts
[
i
]);
}
neworder
.
setMainId
(
order
.
getOrderId
());
neworder
.
setNewCreate
(
true
);
orders
.
add
(
neworder
);
for
(
Entry
entry
:
targetOps
)
{
if
(
splitCounts
[
0
]!=
0
&&
i
==
1
)
{
// 数组第一个是0,为复制
...
...
@@ -445,7 +447,7 @@ Integer newMachineId1=newMachineId.intValue();
newOp
.
setOrderId
(
neworder
.
getOrderId
());
newOp
.
setGroupId
(
maxorderId
);
newOp
.
setQuantity
(
splitCounts
[
i
]);
newOp
.
setNewCreate
(
true
);
newEntrys
.
add
(
newOp
);
}
}
...
...
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