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
406cfe40
Commit
406cfe40
authored
Dec 03, 2025
by
Tong Li
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
e1e21676
12fd1bf8
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
7261 additions
and
16 deletions
+7261
-16
chromosome_result_B571EF6682DB463AB2977B1055A74112.json
...t/chromosome_result_B571EF6682DB463AB2977B1055A74112.json
+6333
-0
LanuchController.java
src/main/java/com/aps/controller/LanuchController.java
+8
-0
ResourceGanttController.java
...ava/com/aps/controller/gantt/ResourceGanttController.java
+117
-11
Dispatch.java
src/main/java/com/aps/entity/Dispatch.java
+69
-0
ProductGanttVO.java
src/main/java/com/aps/entity/Gantt/ProductGanttVO.java
+3
-3
TaskVO.java
src/main/java/com/aps/entity/Gantt/TaskVO.java
+1
-1
MesOrder.java
src/main/java/com/aps/entity/MesOrder.java
+95
-0
ProdProcessExec.java
src/main/java/com/aps/entity/ProdProcessExec.java
+9
-0
RoutingDiscreteParam.java
src/main/java/com/aps/entity/RoutingDiscreteParam.java
+27
-0
DispatchMapper.java
src/main/java/com/aps/mapper/DispatchMapper.java
+16
-0
MesOrderMapper.java
src/main/java/com/aps/mapper/MesOrderMapper.java
+16
-0
RoutingDiscreteParamMapper.java
src/main/java/com/aps/mapper/RoutingDiscreteParamMapper.java
+16
-0
DispatchService.java
src/main/java/com/aps/service/DispatchService.java
+16
-0
LanuchService.java
src/main/java/com/aps/service/LanuchService.java
+7
-0
MesOrderService.java
src/main/java/com/aps/service/MesOrderService.java
+16
-0
RoutingDiscreteParamService.java
...ain/java/com/aps/service/RoutingDiscreteParamService.java
+16
-0
DispatchServiceImpl.java
src/main/java/com/aps/service/impl/DispatchServiceImpl.java
+20
-0
LanuchServiceImpl.java
src/main/java/com/aps/service/impl/LanuchServiceImpl.java
+106
-1
MesOrderServiceImpl.java
src/main/java/com/aps/service/impl/MesOrderServiceImpl.java
+20
-0
RoutingDiscreteParamServiceImpl.java
...com/aps/service/impl/RoutingDiscreteParamServiceImpl.java
+20
-0
PlanResultService.java
src/main/java/com/aps/service/plan/PlanResultService.java
+130
-0
DispatchMapper.xml
src/main/resources/mapper/DispatchMapper.xml
+73
-0
MesOrderMapper.xml
src/main/resources/mapper/MesOrderMapper.xml
+97
-0
RoutingDiscreteParamMapper.xml
src/main/resources/mapper/RoutingDiscreteParamMapper.xml
+30
-0
No files found.
result/chromosome_result_B571EF6682DB463AB2977B1055A74112.json
0 → 100644
View file @
406cfe40
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/main/java/com/aps/controller/LanuchController.java
View file @
406cfe40
...
@@ -60,5 +60,13 @@ public class LanuchController {
...
@@ -60,5 +60,13 @@ public class LanuchController {
return
lanuchService
.
copyScene
(
oldSceneName
,
username
,
newSceneName
);
return
lanuchService
.
copyScene
(
oldSceneName
,
username
,
newSceneName
);
}
}
@GetMapping
(
"/exportPlan"
)
public
R
<
String
>
exportPlan
(
@RequestParam
String
sceneID
)
{
// 调用 PlanResultService 获取 ScheduleChromosome 列表
return
lanuchService
.
exportPlan
(
sceneID
);
}
}
}
\ No newline at end of file
src/main/java/com/aps/controller/gantt/ResourceGanttController.java
View file @
406cfe40
...
@@ -66,16 +66,16 @@ public class ResourceGanttController {
...
@@ -66,16 +66,16 @@ public class ResourceGanttController {
return
resourceGanttVOList
;
return
resourceGanttVOList
;
}
}
@GetMapping
(
"/productGantt"
)
@GetMapping
(
"/productGantt
1
"
)
@Operation
(
summary
=
"获取产品甘特图数据"
,
description
=
"获取产品甘特图数据"
)
@Operation
(
summary
=
"获取产品甘特图数据"
,
description
=
"获取产品甘特图数据"
)
public
List
<
ProductGanttVO
>
getProductGantt1
(
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Lo
ng
sceneId
)
{
public
List
<
ProductGanttVO
>
getProductGantt1
(
@RequestParam
Stri
ng
sceneId
)
{
// 从PlanResultService获取ScheduleChromosome列表
// 从PlanResultService获取ScheduleChromosome列表
List
<
ScheduleChromosome
>
scheduleChromosomes
=
planResultService
.
execute
();
List
<
ScheduleChromosome
>
scheduleChromosomes
=
planResultService
.
execute
();
// 根据sceneId查找对应的ScheduleChromosome
// 根据sceneId查找对应的ScheduleChromosome
ScheduleChromosome
targetChromosome
=
null
;
ScheduleChromosome
targetChromosome
=
null
;
for
(
ScheduleChromosome
chromosome
:
scheduleChromosomes
)
{
for
(
ScheduleChromosome
chromosome
:
scheduleChromosomes
)
{
if
(
chromosome
.
getSceneId
()
==
sceneId
)
{
if
(
chromosome
.
getSceneId
()
==
1
)
{
targetChromosome
=
chromosome
;
targetChromosome
=
chromosome
;
break
;
break
;
}
}
...
@@ -290,7 +290,7 @@ public class ResourceGanttController {
...
@@ -290,7 +290,7 @@ public class ResourceGanttController {
for
(
Gene
gene
:
machineGenes
)
{
for
(
Gene
gene
:
machineGenes
)
{
TaskVO
taskVO
=
new
TaskVO
();
TaskVO
taskVO
=
new
TaskVO
();
taskVO
.
setId
(
gene
.
getId
(
));
// 临时处理
taskVO
.
setId
(
String
.
valueOf
(
gene
.
getId
()
));
// 临时处理
taskVO
.
setPlanId
(
String
.
valueOf
(
gene
.
getOrderId
()));
// 默认值
taskVO
.
setPlanId
(
String
.
valueOf
(
gene
.
getOrderId
()));
// 默认值
taskVO
.
setProductType
(
0
);
// 默认值
taskVO
.
setProductType
(
0
);
// 默认值
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
...
@@ -363,10 +363,10 @@ public class ResourceGanttController {
...
@@ -363,10 +363,10 @@ public class ResourceGanttController {
if
(!
genes
.
isEmpty
())
{
if
(!
genes
.
isEmpty
())
{
ProductGanttVO
productGanttVO
=
new
ProductGanttVO
();
ProductGanttVO
productGanttVO
=
new
ProductGanttVO
();
Gene
firstGene
=
genes
.
get
(
0
);
Gene
firstGene
=
genes
.
get
(
0
);
productGanttVO
.
setId
(
firstGene
.
getId
(
));
productGanttVO
.
setId
(
String
.
valueOf
(
firstGene
.
getId
()
));
productGanttVO
.
setProductName
(
"产品"
+
firstGene
.
getProductId
());
// 默认值,实际应从订单数据获取
productGanttVO
.
setProductName
(
"产品"
+
firstGene
.
getProductId
());
// 默认值,实际应从订单数据获取
productGanttVO
.
setProductType
(
0
);
productGanttVO
.
setProductType
(
0
);
productGanttVO
.
setProductId
(
firstGene
.
getProductId
(
));
productGanttVO
.
setProductId
(
String
.
valueOf
(
firstGene
.
getProductId
()
));
// 计算总数量(假设同一批次)
// 计算总数量(假设同一批次)
productGanttVO
.
setQuantity
(
firstGene
.
getBatchSize
());
productGanttVO
.
setQuantity
(
firstGene
.
getBatchSize
());
productGanttVO
.
setCode
(
"编号"
+
firstGene
.
getProductId
());
// 默认值
productGanttVO
.
setCode
(
"编号"
+
firstGene
.
getProductId
());
// 默认值
...
@@ -397,7 +397,7 @@ public class ResourceGanttController {
...
@@ -397,7 +397,7 @@ public class ResourceGanttController {
for
(
int
i
=
0
;
i
<
genes
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
genes
.
size
();
i
++)
{
Gene
gene
=
genes
.
get
(
i
);
Gene
gene
=
genes
.
get
(
i
);
TaskVO
taskVO
=
new
TaskVO
();
TaskVO
taskVO
=
new
TaskVO
();
taskVO
.
setId
(
gene
.
getId
(
));
// 生成唯一ID
taskVO
.
setId
(
String
.
valueOf
(
gene
.
getId
()
));
// 生成唯一ID
taskVO
.
setPlanId
(
String
.
valueOf
(
orderId
));
taskVO
.
setPlanId
(
String
.
valueOf
(
orderId
));
taskVO
.
setProductType
(
0
);
taskVO
.
setProductType
(
0
);
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
...
@@ -465,6 +465,21 @@ public class ResourceGanttController {
...
@@ -465,6 +465,21 @@ public class ResourceGanttController {
@GetMapping
(
"/productGantt"
)
@Operation
(
summary
=
"获取资源甘特图数据"
,
description
=
"获取资源甘特图数据"
)
public
List
<
ProductGanttVO
>
getProductGantt
(
@RequestParam
String
sceneId
)
{
// 从PlanResultService获取ScheduleChromosome列表
Chromosome
schedule
=
sceneService
.
loadChromosomeFromFile
(
sceneId
);
// 转换为 ResourceGanttVO 格式
List
<
ProductGanttVO
>
productGanttVOList
=
new
ArrayList
<>();
List
<
ProductGanttVO
>
resourceGanttVOs
=
convertToProductGanttVO1
(
schedule
);
productGanttVOList
.
addAll
(
resourceGanttVOs
);
return
productGanttVOList
;
}
@GetMapping
(
"/resourceGantt"
)
@GetMapping
(
"/resourceGantt"
)
@Operation
(
summary
=
"获取资源甘特图数据"
,
description
=
"获取资源甘特图数据"
)
@Operation
(
summary
=
"获取资源甘特图数据"
,
description
=
"获取资源甘特图数据"
)
public
List
<
ResourceGanttVO
>
getResourceGantt
(
@RequestParam
String
sceneId
)
{
public
List
<
ResourceGanttVO
>
getResourceGantt
(
@RequestParam
String
sceneId
)
{
...
@@ -482,14 +497,14 @@ public class ResourceGanttController {
...
@@ -482,14 +497,14 @@ public class ResourceGanttController {
private
List
<
ResourceGanttVO
>
convertToResourceGanttVO1
(
Chromosome
scheduleChromosome
)
{
private
List
<
ResourceGanttVO
>
convertToResourceGanttVO1
(
Chromosome
scheduleChromosome
)
{
List
<
ResourceGanttVO
>
resourceGanttVOList
=
new
ArrayList
<>();
List
<
ResourceGanttVO
>
resourceGanttVOList
=
new
ArrayList
<>();
List
<
Machine
>
machineList
=
planResultService
.
InitCalendarToAllMachines1
(
scheduleChromosome
.
getScenarioID
());
// 遍历所有机器资源
// 遍历所有机器资源
if
(
scheduleChromosome
.
getMachines
()
!=
null
)
{
if
(
machineList
!=
null
)
{
for
(
int
i
=
0
;
i
<
scheduleChromosome
.
getMachines
()
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
machineList
.
size
();
i
++)
{
Machine
machine
=
scheduleChromosome
.
getMachines
()
.
get
(
i
);
Machine
machine
=
machineList
.
get
(
i
);
ResourceGanttVO
resourceGanttVO
=
new
ResourceGanttVO
();
ResourceGanttVO
resourceGanttVO
=
new
ResourceGanttVO
();
resourceGanttVO
.
setId
(
machine
.
getId
());
resourceGanttVO
.
setId
(
machine
.
getId
());
...
@@ -568,6 +583,97 @@ public class ResourceGanttController {
...
@@ -568,6 +583,97 @@ public class ResourceGanttController {
/**
* 将 ScheduleChromosome 转换为 ProductGanttVO 列表
* @param scheduleChromosome 调度结果
* @return 转换后的数据
*/
private
List
<
ProductGanttVO
>
convertToProductGanttVO1
(
Chromosome
scheduleChromosome
)
{
List
<
ProductGanttVO
>
productGanttVOList
=
new
ArrayList
<>();
// 按产品ID和工单ID分组基因
if
(
scheduleChromosome
.
getResult
()
!=
null
)
{
// 按工单ID分组
scheduleChromosome
.
getResult
().
stream
()
.
collect
(
Collectors
.
groupingBy
(
GAScheduleResult:
:
getOrderId
))
.
forEach
((
orderId
,
genes
)
->
{
if
(!
genes
.
isEmpty
())
{
ProductGanttVO
productGanttVO
=
new
ProductGanttVO
();
GAScheduleResult
firstGene
=
genes
.
get
(
0
);
productGanttVO
.
setId
(
firstGene
.
getOrderId
());
productGanttVO
.
setProductName
(
"产品"
+
firstGene
.
getProductId
());
// 默认值,实际应从订单数据获取
productGanttVO
.
setProductType
(
0
);
productGanttVO
.
setProductId
(
firstGene
.
getProductId
());
// 计算总数量(假设同一批次)
productGanttVO
.
setQuantity
(
firstGene
.
getQuantity
());
productGanttVO
.
setCode
(
"编号"
+
firstGene
.
getProductId
());
// 默认值
productGanttVO
.
setShopId
(
firstGene
.
getMachineId
());
// 默认值
productGanttVO
.
setShopName
(
firstGene
.
getMachineId
()+
"号线"
);
// 默认值
productGanttVO
.
setStatus
(
"已发布"
);
// productGanttVO.setHeaderId(firstGene.getProductId());
productGanttVO
.
setHeaderName
(
"工艺"
+
firstGene
.
getProductId
());
// 默认值
// 计算开始和结束时间
int
minStartTime
=
genes
.
stream
()
.
mapToInt
(
GAScheduleResult:
:
getStartTime
)
.
min
()
.
orElse
(
0
);
int
maxEndTime
=
genes
.
stream
()
.
mapToInt
(
GAScheduleResult:
:
getEndTime
)
.
max
()
.
orElse
(
0
);
productGanttVO
.
setStartDate
(
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
minStartTime
));
productGanttVO
.
setEndDate
(
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
maxEndTime
));
// 转换任务列表
List
<
TaskVO
>
taskVOList
=
new
ArrayList
<>();
// // 按工序顺序排序
// genes.sort((g1, g2) -> Integer.compare(g1.getSequenceId(), g2.getSequenceId()));
for
(
int
i
=
0
;
i
<
genes
.
size
();
i
++)
{
GAScheduleResult
gene
=
genes
.
get
(
i
);
TaskVO
taskVO
=
new
TaskVO
();
taskVO
.
setId
(
gene
.
getOrderId
());
// 生成唯一ID
taskVO
.
setPlanId
(
String
.
valueOf
(
orderId
));
taskVO
.
setProductType
(
0
);
taskVO
.
setProductName
(
"产品"
+
gene
.
getProductId
());
taskVO
.
setProductId
(
String
.
valueOf
(
gene
.
getProductId
()));
taskVO
.
setQuantity
(
gene
.
getQuantity
());
taskVO
.
setStart
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getStartTime
()));
taskVO
.
setEnd
(
scheduleChromosome
.
getBaseTime
().
plusSeconds
(
gene
.
getEndTime
()));
taskVO
.
setSetup
(
0
);
// 默认值
taskVO
.
setTeardown
(
gene
.
getTeardownTime
());
// 默认值
taskVO
.
setEquipChange
(
gene
.
getChangeoverTime
());
// 默认值
taskVO
.
setEquipCooling
(
0
);
// 默认值
// taskVO.setEquipType("PTT-" + (i+1) + "-" + gene.getOperationName().toUpperCase().substring(0, Math.min(3, gene.getOperationName().length())));
// taskVO.setEquipName(gene.getOperationName());
taskVO
.
setDuration
(
calculateDuration
(
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
gene
.
getStartTime
()),
scheduleChromosome
.
getBaseTime
().
plusMinutes
(
gene
.
getEndTime
())));
taskVO
.
setEquipId
(
gene
.
getMachineId
());
// 生成设备ID
taskVO
.
setShopId
(
gene
.
getMachineId
());
taskVO
.
setShopName
(
gene
.
getMachineId
()+
"车间"
);
taskVO
.
setStatus
(
0
);
// taskVO.setDetailId((long) gene.getProductId() * 1000 + gene.getOperationId());
// taskVO.setHeaderId(gene.getProductId());
taskVO
.
setHeaderName
(
"工艺"
+
gene
.
getProductId
());
// taskVO.setSeq(gene.getSequenceId());
// taskVO.setSeqName("工序名称"+gene.getSequenceId());
// taskVO.setAbsoluteStart(scheduleChromosome.getBaseTime().plusMinutes(gene.getStartTime()));
// taskVO.setAbsoluteEnd(scheduleChromosome.getBaseTime().plusMinutes(gene.getEndTime()));
taskVOList
.
add
(
taskVO
);
}
productGanttVO
.
setList
(
taskVOList
);
productGanttVOList
.
add
(
productGanttVO
);
}
});
}
return
productGanttVOList
;
}
...
...
src/main/java/com/aps/entity/Dispatch.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
entity
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
Dispatch
{
private
Long
id
;
private
Long
routingDetailId
;
private
Long
executeId
;
private
Long
equipId
;
private
Double
quantity
;
private
Long
boardCount
;
private
LocalDateTime
beginTime
;
private
LocalDateTime
endTime
;
private
LocalDateTime
actualBeginTime
;
private
LocalDateTime
actualEndTime
;
private
String
pid
;
private
Long
status
;
private
Long
isDeleted
;
private
String
remark
;
private
Long
creatorUserId
;
private
LocalDateTime
creationTime
;
private
Long
lastModifierUserId
;
private
LocalDateTime
lastModificationTime
;
private
String
extend
;
private
String
boardNumbers
;
private
Long
schemeDetailId
;
private
Long
routingHeaderId
;
private
Long
partTaskReadyId
;
private
Long
taskSeq
;
private
String
taskName
;
private
Long
resourceId
;
private
String
resourceCode
;
private
BigDecimal
runTime
;
private
BigDecimal
setupTime
;
private
Long
putIntoQty
;
private
BigDecimal
singleout
;
private
BigDecimal
transportTime
;
private
BigDecimal
checkTime
;
private
String
taskType
;
private
Long
taskFlag
;
private
Long
insertFlag
;
private
Long
shopid
;
private
Long
lockFlag
;
private
Short
subWorkHourStatus
;
private
Short
isOutsourcing
;
private
BigDecimal
totalWorkHours
;
private
Short
checkStatus
;
private
String
eNof
;
private
String
ope
;
private
String
mesCode
;
private
String
strBeginTime
;
private
String
strEndTime
;
private
String
nomEnc
;
private
String
departName
;
private
String
ilot
;
private
String
nocalhebd
;
private
Long
durreal
;
private
Long
tempspass
;
private
Long
tempsrest
;
private
Long
routingDetailIdq
;
private
Long
issplit
;
private
Long
parentid
;
private
Long
statusOrtems
;
private
LocalDateTime
actualEndTimeOrtems
;
}
\ No newline at end of file
src/main/java/com/aps/entity/Gantt/ProductGanttVO.java
View file @
406cfe40
...
@@ -16,7 +16,7 @@ import java.util.List;
...
@@ -16,7 +16,7 @@ import java.util.List;
public
class
ProductGanttVO
{
public
class
ProductGanttVO
{
@Schema
(
description
=
"产品ID"
)
@Schema
(
description
=
"产品ID"
)
private
Integer
id
;
private
String
id
;
@Schema
(
description
=
"产品名称"
)
@Schema
(
description
=
"产品名称"
)
private
String
productName
;
private
String
productName
;
...
@@ -25,10 +25,10 @@ public class ProductGanttVO {
...
@@ -25,10 +25,10 @@ public class ProductGanttVO {
private
Integer
productType
;
private
Integer
productType
;
@Schema
(
description
=
"产品编号"
)
@Schema
(
description
=
"产品编号"
)
private
Integer
productId
;
private
String
productId
;
@Schema
(
description
=
"数量"
)
@Schema
(
description
=
"数量"
)
private
Integer
quantity
;
private
double
quantity
;
@Schema
(
description
=
"编码"
)
@Schema
(
description
=
"编码"
)
private
String
code
;
private
String
code
;
...
...
src/main/java/com/aps/entity/Gantt/TaskVO.java
View file @
406cfe40
...
@@ -17,7 +17,7 @@ import java.util.List;
...
@@ -17,7 +17,7 @@ import java.util.List;
public
class
TaskVO
{
public
class
TaskVO
{
@Schema
(
description
=
"任务ID"
)
@Schema
(
description
=
"任务ID"
)
private
Integer
id
;
private
String
id
;
@Schema
(
description
=
"计划ID"
)
@Schema
(
description
=
"计划ID"
)
private
String
planId
;
private
String
planId
;
...
...
src/main/java/com/aps/entity/MesOrder.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
entity
;
import
lombok.Data
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
MesOrder
{
private
Long
id
;
private
Long
upId
;
private
String
mesCode
;
private
String
taskType
;
private
Long
productId
;
private
String
stage
;
private
String
materialId
;
private
Long
quantity
;
private
String
remark
;
private
LocalDateTime
taskInputDate
;
private
String
taskRequire
;
private
Long
status
;
private
String
equipment
;
private
Short
isSupportingFinish
;
private
LocalDateTime
demandStartDate
;
private
LocalDateTime
demandFinishDate
;
private
LocalDateTime
actualStartDate
;
private
LocalDateTime
actualFinishDate
;
private
Long
isDeleted
;
private
Long
creatorUserId
;
private
LocalDateTime
creationTime
;
private
Long
lastModifierUserId
;
private
LocalDateTime
lastModificationTime
;
private
Short
orderQuotationStatus
;
private
Long
distributeMainRouting
;
private
LocalDateTime
mainRoutingFinishDate
;
private
Long
checkUpPeople
;
private
LocalDateTime
checkUpFinishDate
;
private
Long
productingPreparationPeople
;
private
LocalDateTime
productingFinishDate
;
private
Long
quotationPeople
;
private
LocalDateTime
quotationFinishDate
;
private
Short
divideMark
;
private
String
productCode
;
private
String
productName
;
private
String
drawnNumber
;
private
Long
qualifiedQuantity
;
private
Long
uncertificateQuantity
;
private
Short
mainRoutingSetStatus
;
private
Short
routingDataSetStatus
;
private
Long
rootId
;
private
Short
mainRoutingExecuteStatus
;
private
String
batchNumber
;
private
String
projectNumber
;
private
String
urgencyLevel
;
private
String
materialName
;
private
Short
isPreschedule
;
private
LocalDateTime
materialPlanFinishDate
;
private
Long
planId
;
private
Long
upSplitId
;
private
Long
splitCardStatus
;
private
String
version
;
private
Long
bomId
;
private
Short
productionType
;
private
Short
isFromPlan
;
private
Short
isAllStock
;
private
Long
stockQuantity
;
private
Long
applyQuantity
;
private
Long
specialPassQuantity
;
private
Short
isOutsourcing
;
private
String
routingName
;
private
String
strDemandStart
;
private
String
strDemandEnd
;
private
String
eNof
;
private
Long
routingId
;
private
String
nomEnc
;
private
String
serie
;
private
String
dplustot
;
private
LocalDateTime
fplustard
;
private
String
codegest
;
private
LocalDateTime
canningActualEndTime
;
private
LocalDateTime
packagingActualEndTime
;
private
Long
statusOrtems
;
private
LocalDateTime
actualFinishDateOrtems
;
private
String
datastatus
;
private
BigDecimal
ypquantity
;
private
BigDecimal
qjquantity
;
private
Short
ptzt
;
private
BigDecimal
sycount
;
private
String
senderpstatus
;
private
String
senderpmsg
;
private
LocalDateTime
senderptime
;
private
String
sendversionid
;
}
\ No newline at end of file
src/main/java/com/aps/entity/ProdProcessExec.java
View file @
406cfe40
...
@@ -73,4 +73,13 @@ public class ProdProcessExec {
...
@@ -73,4 +73,13 @@ public class ProdProcessExec {
private
Double
speed
;
private
Double
speed
;
private
String
id
;
private
String
id
;
/**
* 离散参数组ID
* 离散参数ID
*/
private
String
groupId
;
private
String
groupName
;
private
String
parameterId
;
private
String
parameterName
;
}
}
\ No newline at end of file
src/main/java/com/aps/entity/RoutingDiscreteParam.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
entity
;
import
lombok.Data
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
RoutingDiscreteParam
{
private
Long
id
;
private
LocalDateTime
creationTime
;
private
BigDecimal
creatorUserId
;
private
LocalDateTime
lastModificationTime
;
private
BigDecimal
lastModifierUserId
;
private
BigDecimal
deleterUserId
;
private
LocalDateTime
deletionTime
;
private
Short
isDeleted
;
private
Long
routingHeaderId
;
private
Long
routingDetailId
;
private
Long
routingDetailSeq
;
private
String
routingDetailName
;
private
String
groupId
;
private
String
groupName
;
private
String
parameterId
;
private
String
parameterName
;
}
\ No newline at end of file
src/main/java/com/aps/mapper/DispatchMapper.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
mapper
;
import
com.aps.entity.Dispatch
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 工单工序表 Mapper 接口
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
public
interface
DispatchMapper
extends
BaseMapper
<
Dispatch
>
{
}
src/main/java/com/aps/mapper/MesOrderMapper.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
mapper
;
import
com.aps.entity.MesOrder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 工单表 Mapper 接口
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
public
interface
MesOrderMapper
extends
BaseMapper
<
MesOrder
>
{
}
src/main/java/com/aps/mapper/RoutingDiscreteParamMapper.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
mapper
;
import
com.aps.entity.RoutingDiscreteParam
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 工艺离散参数 Mapper 接口
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-03
*/
public
interface
RoutingDiscreteParamMapper
extends
BaseMapper
<
RoutingDiscreteParam
>
{
}
src/main/java/com/aps/service/DispatchService.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
;
import
com.aps.entity.Dispatch
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 工单工序表 服务类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
public
interface
DispatchService
extends
IService
<
Dispatch
>
{
}
src/main/java/com/aps/service/LanuchService.java
View file @
406cfe40
...
@@ -25,4 +25,11 @@ public interface LanuchService {
...
@@ -25,4 +25,11 @@ public interface LanuchService {
*/
*/
R
<
String
>
copyScene
(
String
oldSceneId
,
String
username
,
String
newSceneId
);
R
<
String
>
copyScene
(
String
oldSceneId
,
String
username
,
String
newSceneId
);
/**
* 下发场景数据到mes_order
*/
R
<
String
>
exportPlan
(
String
sceneId
);
}
}
\ No newline at end of file
src/main/java/com/aps/service/MesOrderService.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
;
import
com.aps.entity.MesOrder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 工单表 服务类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
public
interface
MesOrderService
extends
IService
<
MesOrder
>
{
}
src/main/java/com/aps/service/RoutingDiscreteParamService.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
;
import
com.aps.entity.RoutingDiscreteParam
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 工艺离散参数 服务类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-03
*/
public
interface
RoutingDiscreteParamService
extends
IService
<
RoutingDiscreteParam
>
{
}
src/main/java/com/aps/service/impl/DispatchServiceImpl.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
.
impl
;
import
com.aps.entity.Dispatch
;
import
com.aps.mapper.DispatchMapper
;
import
com.aps.service.DispatchService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 工单工序表 服务实现类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
@Service
public
class
DispatchServiceImpl
extends
ServiceImpl
<
DispatchMapper
,
Dispatch
>
implements
DispatchService
{
}
src/main/java/com/aps/service/impl/LanuchServiceImpl.java
View file @
406cfe40
...
@@ -4,6 +4,8 @@ import com.aps.common.util.R;
...
@@ -4,6 +4,8 @@ import com.aps.common.util.R;
import
com.aps.common.util.SnowFlackIdWorker
;
import
com.aps.common.util.SnowFlackIdWorker
;
import
com.aps.entity.*
;
import
com.aps.entity.*
;
import
com.aps.entity.Algorithm.Chromosome
;
import
com.aps.entity.Algorithm.Chromosome
;
import
com.aps.entity.Algorithm.GAScheduleResult
;
import
com.aps.entity.basic.Order
;
import
com.aps.mapper.RoutingDetailMapper
;
import
com.aps.mapper.RoutingDetailMapper
;
import
com.aps.mapper.RoutingHeaderMapper
;
import
com.aps.mapper.RoutingHeaderMapper
;
import
com.aps.service.*
;
import
com.aps.service.*
;
...
@@ -67,7 +69,12 @@ public class LanuchServiceImpl implements LanuchService {
...
@@ -67,7 +69,12 @@ public class LanuchServiceImpl implements LanuchService {
RoutingDetailEquipService
routingDetailEquipService
;
RoutingDetailEquipService
routingDetailEquipService
;
@Autowired
@Autowired
SceneService
sceneService
;
SceneService
sceneService
;
@Autowired
MesOrderService
mesOrderService
;
@Autowired
DispatchService
dispatchService
;
@Autowired
RoutingDiscreteParamService
routingDiscreteParamService
;
/**
/**
◦ 生成场景数据
◦ 生成场景数据
...
@@ -181,6 +188,102 @@ public class LanuchServiceImpl implements LanuchService {
...
@@ -181,6 +188,102 @@ public class LanuchServiceImpl implements LanuchService {
/**
*下发计划
* @param sceneId
* @return R<String> Result
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
R
<
String
>
exportPlan
(
String
sceneId
)
{
try
{
Chromosome
chromosome
=
sceneService
.
loadChromosomeFromFile
(
sceneId
);
if
(
chromosome
==
null
||
chromosome
.
getResult
()
==
null
||
chromosome
.
getResult
().
isEmpty
())
{
return
R
.
failed
(
"未找到排程结果"
);
}
List
<
Order
>
prodLanuchList
=
chromosome
.
getOrders
();
List
<
MesOrder
>
mesOrderList
=
new
ArrayList
<>();
for
(
Order
prodLaunchOrder
:
prodLanuchList
)
{
MesOrder
mesOrder
=
new
MesOrder
();
mesOrder
.
setMesCode
(
prodLaunchOrder
.
getOrderId
());
// mesOrder.setSerie(prodLaunchOrder.getSerie());
mesOrder
.
setMaterialId
(
prodLaunchOrder
.
getMaterialId
());
mesOrder
.
setQuantity
((
long
)
prodLaunchOrder
.
getQuantity
());
// mesOrder.setDemandStartDate(prodLaunchOrder.getStartDate());
// mesOrder.setDemandFinishDate(prodLaunchOrder.getEndDate());
// mesOrder.setRoutingId(prodLaunchOrder.getRoutingId() != null ? Long.valueOf(prodLaunchOrder.getRoutingId()) : null);
// mesOrder.setProductCode(prodLaunchOrder.getMaterialCode());
// mesOrder.setStatus(1L); // Default status
mesOrderList
.
add
(
mesOrder
);
}
boolean
saved
=
mesOrderService
.
saveBatch
(
mesOrderList
);
if
(
saved
)
{
log
.
info
(
"插入 {} 条数据到mes_order"
,
mesOrderList
.
size
());
}
else
{
log
.
error
(
"插入失败"
);
return
R
.
failed
(
"插入mes_order失败"
);
}
List
<
ProdProcessExec
>
processExecList
=
prodProcessExecService
.
lambdaQuery
()
.
eq
(
ProdProcessExec:
:
getSceneId
,
sceneId
)
.
list
();
// 遍历GAScheduleResult结果并转换为dispatch
List
<
Dispatch
>
dispatches
=
new
ArrayList
<>();
for
(
GAScheduleResult
gaResult
:
chromosome
.
getResult
())
{
ProdProcessExec
prodProcessExec
=
processExecList
.
stream
()
.
filter
(
processExec
->
processExec
.
getExecId
().
equals
(
gaResult
.
getExecId
()))
.
findFirst
()
.
orElse
(
null
);
Dispatch
dispatch
=
new
Dispatch
();
// 更新相关字段
dispatch
.
setENof
(
gaResult
.
getOrderId
());
dispatch
.
setQuantity
(
gaResult
.
getQuantity
());
LocalDateTime
baseTime
=
chromosome
.
getBaseTime
()
!=
null
?
chromosome
.
getBaseTime
()
:
LocalDateTime
.
now
();
dispatch
.
setBeginTime
(
baseTime
.
plusSeconds
(
gaResult
.
getStartTime
()));
dispatch
.
setEndTime
(
baseTime
.
plusSeconds
(
gaResult
.
getEndTime
()));
dispatch
.
setENof
(
gaResult
.
getOrderId
());
// 设置状态等其他字段
dispatch
.
setTaskSeq
(
prodProcessExec
.
getTaskSeq
());
dispatch
.
setMesCode
(
gaResult
.
getOrderId
());
dispatch
.
setRoutingDetailId
(
prodProcessExec
.
getRoutingDetailId
());
dispatch
.
setOpe
(
prodProcessExec
.
getRoutingDetailName
());
// 添加到列表中
dispatches
.
add
(
dispatch
);
}
// 批量保存到数据库
boolean
savedDispatch
=
dispatchService
.
saveOrUpdateBatch
(
dispatches
);
if
(
savedDispatch
)
{
return
R
.
ok
(
"计划下发成功,共处理 "
+
dispatches
.
size
()
+
" 条记录"
);
}
else
{
return
R
.
failed
(
"保存到数据库失败"
);
}
}
catch
(
NumberFormatException
e
)
{
log
.
error
(
"数据转换失败,场景ID: "
+
sceneId
,
e
);
return
R
.
failed
(
"数据转换失败,请检查数据格式: "
+
e
.
getMessage
());
}
catch
(
Exception
e
)
{
log
.
error
(
"下发计划失败,场景ID: "
+
sceneId
,
e
);
return
R
.
failed
(
"下发计划失败: "
+
e
.
getMessage
());
}
}
/**
/**
◦ 处理订单数据:批量转换ProdOrderMain到ProdLaunchOrder
◦ 处理订单数据:批量转换ProdOrderMain到ProdLaunchOrder
...
@@ -561,6 +664,8 @@ public class LanuchServiceImpl implements LanuchService {
...
@@ -561,6 +664,8 @@ public class LanuchServiceImpl implements LanuchService {
private
void
batchInsertProcessExec
(
ProdLaunchOrder
prodOrderMain
,
private
void
batchInsertProcessExec
(
ProdLaunchOrder
prodOrderMain
,
List
<
RoutingDetail
>
routingDetails
,
List
<
RoutingDetail
>
routingDetails
,
String
sceneId
,
List
<
RoutingDetailEquip
>
routingDetailEquip
)
{
String
sceneId
,
List
<
RoutingDetailEquip
>
routingDetailEquip
)
{
List
<
ProdProcessExec
>
processExecList
=
routingDetails
.
stream
()
List
<
ProdProcessExec
>
processExecList
=
routingDetails
.
stream
()
.
map
(
detail
->
createProcessExec
(
prodOrderMain
,
detail
,
sceneId
))
.
map
(
detail
->
createProcessExec
(
prodOrderMain
,
detail
,
sceneId
))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
...
...
src/main/java/com/aps/service/impl/MesOrderServiceImpl.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
.
impl
;
import
com.aps.entity.MesOrder
;
import
com.aps.mapper.MesOrderMapper
;
import
com.aps.service.MesOrderService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 工单表 服务实现类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-02
*/
@Service
public
class
MesOrderServiceImpl
extends
ServiceImpl
<
MesOrderMapper
,
MesOrder
>
implements
MesOrderService
{
}
src/main/java/com/aps/service/impl/RoutingDiscreteParamServiceImpl.java
0 → 100644
View file @
406cfe40
package
com
.
aps
.
service
.
impl
;
import
com.aps.entity.RoutingDiscreteParam
;
import
com.aps.mapper.RoutingDiscreteParamMapper
;
import
com.aps.service.RoutingDiscreteParamService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 工艺离散参数 服务实现类
* </p>
*
* @author MyBatis-Plus
* @since 2025-12-03
*/
@Service
public
class
RoutingDiscreteParamServiceImpl
extends
ServiceImpl
<
RoutingDiscreteParamMapper
,
RoutingDiscreteParam
>
implements
RoutingDiscreteParamService
{
}
src/main/java/com/aps/service/plan/PlanResultService.java
View file @
406cfe40
...
@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
...
@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.ChronoUnit
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.*
;
...
@@ -917,4 +918,133 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
...
@@ -917,4 +918,133 @@ order.setDueDate(LocalDateTime.of(2025, 12, 1,0,0,0));
// 注意:tasks 字段需要在其他地方设置,因为 Machine 类中没有任务信息
// 注意:tasks 字段需要在其他地方设置,因为 Machine 类中没有任务信息
return
machineVO
;
return
machineVO
;
}
}
public
List
<
Machine
>
InitCalendarToAllMachines1
(
String
SceneId
)
{
// 按设备分组
List
<
ProdEquipment
>
ProdEquipments
=
_prodEquipmentService
.
lambdaQuery
()
.
eq
(
ProdEquipment:
:
getSceneId
,
SceneId
)
.
list
();
List
<
Long
>
MachineIds
=
ProdEquipments
.
stream
()
.
map
(
ProdEquipment:
:
getEquipId
)
.
distinct
()
.
sorted
()
.
collect
(
Collectors
.
toList
());
List
<
Machine
>
machines
=
new
ArrayList
<>();
for
(
Long
id
:
MachineIds
)
{
Machine
machine
=
new
Machine
();
machine
.
setId
(
id
);
machines
.
add
(
machine
);
}
//节假日
List
<
MesHoliday
>
holidays
=
_MesHolidayService
.
list
();
LambdaQueryWrapper
<
ProdEquipSpecialCal
>
ProdEquipSpecialCalWrapper
=
new
LambdaQueryWrapper
<>();
ProdEquipSpecialCalWrapper
.
eq
(
ProdEquipSpecialCal:
:
getSceneId
,
SceneId
);
List
<
PlanResource
>
PlanResources
=
_PlanResourceService
.
lambdaQuery
()
.
eq
(
PlanResource:
:
getIsdeleted
,
0
)
.
list
();
List
<
ProdEquipSpecialCal
>
ProdEquipSpecialCals
=
_prodEquipSpecialCalService
.
list
(
ProdEquipSpecialCalWrapper
);
List
<
MesShiftWorkSched
>
MesShiftWorkScheds
=
_MesShiftWorkSchedService
.
lambdaQuery
()
.
eq
(
MesShiftWorkSched:
:
getIsdeleted
,
0
).
list
();
if
(
machines
==
null
)
{
return
null
;
}
for
(
Machine
machine
:
machines
)
{
// 确保维护窗口列表不为null
if
(
machine
.
getMaintenanceWindows
()
==
null
)
{
machine
.
setMaintenanceWindows
(
new
ArrayList
<>());
}
List
<
ProdEquipSpecialCal
>
machineProdEquipSpecialCals
=
ProdEquipSpecialCals
.
stream
()
.
filter
(
t
->
t
.
getEquipId
()
==
machine
.
getId
()&&
t
.
getReferenceType
()==
1
)
.
collect
(
Collectors
.
toList
());
List
<
Shift
>
shifts1
=
new
ArrayList
<>();
for
(
ProdEquipSpecialCal
machineProdEquipSpecialCal
:
machineProdEquipSpecialCals
)
{
List
<
MesShiftWorkSched
>
ShiftWorkScheds
=
MesShiftWorkScheds
.
stream
()
.
filter
(
t
->
(
long
)
t
.
getWeekWorkSchedId
()
==
machineProdEquipSpecialCal
.
getReferenceId
())
.
collect
(
Collectors
.
toList
());
List
<
Shift
>
Shifts
=
mergeShiftData
(
ShiftWorkScheds
);
for
(
Shift
shift
:
Shifts
)
{
shift
.
setMachineId
(
machine
.
getId
());
shift
.
setStartDate
(
machineProdEquipSpecialCal
.
getStartDate
());
shift
.
setEndDate
(
machineProdEquipSpecialCal
.
getEndDate
());
shifts1
.
add
(
shift
);
}
}
// 转换为列表返回
List
<
Shift
>
result
=
new
ArrayList
<>();
for
(
Shift
shift
:
shifts1
)
{
// 处理跨天班次(开始时间晚于结束时间的情况,如 7:30 到 3:30)
if
(
shift
.
getEndTime
().
isBefore
(
shift
.
getStartTime
()))
{
// 创建第一天的班次 (开始时间到24:00)
Shift
firstShift
=
new
Shift
();
firstShift
.
setStartTime
(
shift
.
getStartTime
());
firstShift
.
setEndTime
(
LocalTime
.
of
(
23
,
59
,
59
));
// 23:59:59代替24:00
firstShift
.
setDays
(
new
HashSet
<>(
shift
.
getDays
()));
firstShift
.
setStatus
(
shift
.
getStatus
());
// 创建第二天的班次 (00:00到结束时间)
Shift
secondShift
=
new
Shift
();
secondShift
.
setStartTime
(
LocalTime
.
MIDNIGHT
);
secondShift
.
setEndTime
(
shift
.
getEndTime
());
secondShift
.
setDays
(
new
HashSet
<>(
shift
.
getDays
()));
secondShift
.
setStatus
(
shift
.
getStatus
());
result
.
add
(
firstShift
);
result
.
add
(
secondShift
);
}
else
{
// 正常班次直接添加
result
.
add
(
shift
);
}
}
machine
.
setShifts
(
result
);
List
<
ProdEquipSpecialCal
>
Holidays
=
ProdEquipSpecialCals
.
stream
()
.
filter
(
t
->
t
.
getEquipId
()
==
machine
.
getId
()&&
t
.
getReferenceType
()==
2
)
.
collect
(
Collectors
.
toList
());
List
<
Holiday
>
Holidays1
=
new
ArrayList
<>();
for
(
ProdEquipSpecialCal
machineProdEquipSpecialCal
:
Holidays
)
{
Holiday
holiday
=
new
Holiday
();
holiday
.
setStart
(
machineProdEquipSpecialCal
.
getStartDate
());
holiday
.
setEnd
(
machineProdEquipSpecialCal
.
getEndDate
());
Holidays1
.
add
(
holiday
);
}
machine
.
setHolidays
(
Holidays1
);
}
return
machines
;
}
}
}
\ No newline at end of file
src/main/resources/mapper/DispatchMapper.xml
0 → 100644
View file @
406cfe40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.aps.mapper.DispatchMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.aps.entity.Dispatch"
>
<id
column=
"TASK_SEQ"
property=
"taskSeq"
/>
<id
column=
"TASK_TYPE"
property=
"taskType"
/>
<id
column=
"E_NOF"
property=
"eNof"
/>
<id
column=
"NOM_ENC"
property=
"nomEnc"
/>
<result
column=
"ID"
property=
"id"
/>
<result
column=
"ROUTING_DETAIL_ID"
property=
"routingDetailId"
/>
<result
column=
"EXECUTE_ID"
property=
"executeId"
/>
<result
column=
"EQUIP_ID"
property=
"equipId"
/>
<result
column=
"QUANTITY"
property=
"quantity"
/>
<result
column=
"BOARD_COUNT"
property=
"boardCount"
/>
<result
column=
"BEGIN_TIME"
property=
"beginTime"
/>
<result
column=
"END_TIME"
property=
"endTime"
/>
<result
column=
"ACTUAL_BEGIN_TIME"
property=
"actualBeginTime"
/>
<result
column=
"ACTUAL_END_TIME"
property=
"actualEndTime"
/>
<result
column=
"PID"
property=
"pid"
/>
<result
column=
"STATUS"
property=
"status"
/>
<result
column=
"IS_DELETED"
property=
"isDeleted"
/>
<result
column=
"REMARK"
property=
"remark"
/>
<result
column=
"CREATOR_USER_ID"
property=
"creatorUserId"
/>
<result
column=
"CREATION_TIME"
property=
"creationTime"
/>
<result
column=
"LAST_MODIFIER_USER_ID"
property=
"lastModifierUserId"
/>
<result
column=
"LAST_MODIFICATION_TIME"
property=
"lastModificationTime"
/>
<result
column=
"EXTEND"
property=
"extend"
/>
<result
column=
"BOARD_NUMBERS"
property=
"boardNumbers"
/>
<result
column=
"SCHEME_DETAIL_ID"
property=
"schemeDetailId"
/>
<result
column=
"ROUTING_HEADER_ID"
property=
"routingHeaderId"
/>
<result
column=
"PART_TASK_READY_ID"
property=
"partTaskReadyId"
/>
<result
column=
"TASK_NAME"
property=
"taskName"
/>
<result
column=
"RESOURCE_ID"
property=
"resourceId"
/>
<result
column=
"RESOURCE_CODE"
property=
"resourceCode"
/>
<result
column=
"RUN_TIME"
property=
"runTime"
/>
<result
column=
"SETUP_TIME"
property=
"setupTime"
/>
<result
column=
"PUT_INTO_QTY"
property=
"putIntoQty"
/>
<result
column=
"SINGLEOUT"
property=
"singleout"
/>
<result
column=
"TRANSPORT_TIME"
property=
"transportTime"
/>
<result
column=
"CHECK_TIME"
property=
"checkTime"
/>
<result
column=
"TASK_FLAG"
property=
"taskFlag"
/>
<result
column=
"INSERT_FLAG"
property=
"insertFlag"
/>
<result
column=
"SHOPID"
property=
"shopid"
/>
<result
column=
"LOCK_FLAG"
property=
"lockFlag"
/>
<result
column=
"SUB_WORK_HOUR_STATUS"
property=
"subWorkHourStatus"
/>
<result
column=
"IS_OUTSOURCING"
property=
"isOutsourcing"
/>
<result
column=
"TOTAL_WORK_HOURS"
property=
"totalWorkHours"
/>
<result
column=
"CHECK_STATUS"
property=
"checkStatus"
/>
<result
column=
"OPE"
property=
"ope"
/>
<result
column=
"MES_CODE"
property=
"mesCode"
/>
<result
column=
"STR_BEGIN_TIME"
property=
"strBeginTime"
/>
<result
column=
"STR_END_TIME"
property=
"strEndTime"
/>
<result
column=
"DEPART_NAME"
property=
"departName"
/>
<result
column=
"ILOT"
property=
"ilot"
/>
<result
column=
"NOCALHEBD"
property=
"nocalhebd"
/>
<result
column=
"DURREAL"
property=
"durreal"
/>
<result
column=
"TEMPSPASS"
property=
"tempspass"
/>
<result
column=
"TEMPSREST"
property=
"tempsrest"
/>
<result
column=
"ROUTING_DETAIL_IDQ"
property=
"routingDetailIdq"
/>
<result
column=
"ISSPLIT"
property=
"issplit"
/>
<result
column=
"PARENTID"
property=
"parentid"
/>
<result
column=
"STATUS_ORTEMS"
property=
"statusOrtems"
/>
<result
column=
"ACTUAL_END_TIME_ORTEMS"
property=
"actualEndTimeOrtems"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
ID, ROUTING_DETAIL_ID, EXECUTE_ID, EQUIP_ID, QUANTITY, BOARD_COUNT, BEGIN_TIME, END_TIME, ACTUAL_BEGIN_TIME, ACTUAL_END_TIME, PID, STATUS, IS_DELETED, REMARK, CREATOR_USER_ID, CREATION_TIME, LAST_MODIFIER_USER_ID, LAST_MODIFICATION_TIME, EXTEND, BOARD_NUMBERS, SCHEME_DETAIL_ID, ROUTING_HEADER_ID, PART_TASK_READY_ID, TASK_SEQ, TASK_NAME, RESOURCE_ID, RESOURCE_CODE, RUN_TIME, SETUP_TIME, PUT_INTO_QTY, SINGLEOUT, TRANSPORT_TIME, CHECK_TIME, TASK_TYPE, TASK_FLAG, INSERT_FLAG, SHOPID, LOCK_FLAG, SUB_WORK_HOUR_STATUS, IS_OUTSOURCING, TOTAL_WORK_HOURS, CHECK_STATUS, E_NOF, OPE, MES_CODE, STR_BEGIN_TIME, STR_END_TIME, NOM_ENC, DEPART_NAME, ILOT, NOCALHEBD, DURREAL, TEMPSPASS, TEMPSREST, ROUTING_DETAIL_IDQ, ISSPLIT, PARENTID, STATUS_ORTEMS, ACTUAL_END_TIME_ORTEMS
</sql>
</mapper>
src/main/resources/mapper/MesOrderMapper.xml
0 → 100644
View file @
406cfe40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.aps.mapper.MesOrderMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.aps.entity.MesOrder"
>
<id
column=
"E_NOF"
property=
"eNof"
/>
<result
column=
"ID"
property=
"id"
/>
<result
column=
"UP_ID"
property=
"upId"
/>
<result
column=
"MES_CODE"
property=
"mesCode"
/>
<result
column=
"TASK_TYPE"
property=
"taskType"
/>
<result
column=
"PRODUCT_ID"
property=
"productId"
/>
<result
column=
"STAGE"
property=
"stage"
/>
<result
column=
"MATERIAL_ID"
property=
"materialId"
/>
<result
column=
"QUANTITY"
property=
"quantity"
/>
<result
column=
"REMARK"
property=
"remark"
/>
<result
column=
"TASK_INPUT_DATE"
property=
"taskInputDate"
/>
<result
column=
"TASK_REQUIRE"
property=
"taskRequire"
/>
<result
column=
"STATUS"
property=
"status"
/>
<result
column=
"EQUIPMENT"
property=
"equipment"
/>
<result
column=
"IS_SUPPORTING_FINISH"
property=
"isSupportingFinish"
/>
<result
column=
"DEMAND_START_DATE"
property=
"demandStartDate"
/>
<result
column=
"DEMAND_FINISH_DATE"
property=
"demandFinishDate"
/>
<result
column=
"ACTUAL_START_DATE"
property=
"actualStartDate"
/>
<result
column=
"ACTUAL_FINISH_DATE"
property=
"actualFinishDate"
/>
<result
column=
"IS_DELETED"
property=
"isDeleted"
/>
<result
column=
"CREATOR_USER_ID"
property=
"creatorUserId"
/>
<result
column=
"CREATION_TIME"
property=
"creationTime"
/>
<result
column=
"LAST_MODIFIER_USER_ID"
property=
"lastModifierUserId"
/>
<result
column=
"LAST_MODIFICATION_TIME"
property=
"lastModificationTime"
/>
<result
column=
"ORDER_QUOTATION_STATUS"
property=
"orderQuotationStatus"
/>
<result
column=
"DISTRIBUTE_MAIN_ROUTING"
property=
"distributeMainRouting"
/>
<result
column=
"MAIN_ROUTING_FINISH_DATE"
property=
"mainRoutingFinishDate"
/>
<result
column=
"CHECK_UP_PEOPLE"
property=
"checkUpPeople"
/>
<result
column=
"CHECK_UP_FINISH_DATE"
property=
"checkUpFinishDate"
/>
<result
column=
"PRODUCTING_PREPARATION_PEOPLE"
property=
"productingPreparationPeople"
/>
<result
column=
"PRODUCTING_FINISH_DATE"
property=
"productingFinishDate"
/>
<result
column=
"QUOTATION_PEOPLE"
property=
"quotationPeople"
/>
<result
column=
"QUOTATION_FINISH_DATE"
property=
"quotationFinishDate"
/>
<result
column=
"DIVIDE_MARK"
property=
"divideMark"
/>
<result
column=
"PRODUCT_CODE"
property=
"productCode"
/>
<result
column=
"PRODUCT_NAME"
property=
"productName"
/>
<result
column=
"DRAWN_NUMBER"
property=
"drawnNumber"
/>
<result
column=
"QUALIFIED_QUANTITY"
property=
"qualifiedQuantity"
/>
<result
column=
"UNCERTIFICATE_QUANTITY"
property=
"uncertificateQuantity"
/>
<result
column=
"MAIN_ROUTING_SET_STATUS"
property=
"mainRoutingSetStatus"
/>
<result
column=
"ROUTING_DATA_SET_STATUS"
property=
"routingDataSetStatus"
/>
<result
column=
"ROOT_ID"
property=
"rootId"
/>
<result
column=
"MAIN_ROUTING_EXECUTE_STATUS"
property=
"mainRoutingExecuteStatus"
/>
<result
column=
"BATCH_NUMBER"
property=
"batchNumber"
/>
<result
column=
"PROJECT_NUMBER"
property=
"projectNumber"
/>
<result
column=
"URGENCY_LEVEL"
property=
"urgencyLevel"
/>
<result
column=
"MATERIAL_NAME"
property=
"materialName"
/>
<result
column=
"IS_PRESCHEDULE"
property=
"isPreschedule"
/>
<result
column=
"MATERIAL_PLAN_FINISH_DATE"
property=
"materialPlanFinishDate"
/>
<result
column=
"PLAN_ID"
property=
"planId"
/>
<result
column=
"UP_SPLIT_ID"
property=
"upSplitId"
/>
<result
column=
"SPLIT_CARD_STATUS"
property=
"splitCardStatus"
/>
<result
column=
"VERSION"
property=
"version"
/>
<result
column=
"BOM_ID"
property=
"bomId"
/>
<result
column=
"PRODUCTION_TYPE"
property=
"productionType"
/>
<result
column=
"IS_FROM_PLAN"
property=
"isFromPlan"
/>
<result
column=
"IS_ALL_STOCK"
property=
"isAllStock"
/>
<result
column=
"STOCK_QUANTITY"
property=
"stockQuantity"
/>
<result
column=
"APPLY_QUANTITY"
property=
"applyQuantity"
/>
<result
column=
"SPECIAL_PASS_QUANTITY"
property=
"specialPassQuantity"
/>
<result
column=
"IS_OUTSOURCING"
property=
"isOutsourcing"
/>
<result
column=
"ROUTING_NAME"
property=
"routingName"
/>
<result
column=
"STR_DEMAND_START"
property=
"strDemandStart"
/>
<result
column=
"STR_DEMAND_END"
property=
"strDemandEnd"
/>
<result
column=
"ROUTING_ID"
property=
"routingId"
/>
<result
column=
"NOM_ENC"
property=
"nomEnc"
/>
<result
column=
"SERIE"
property=
"serie"
/>
<result
column=
"DPLUSTOT"
property=
"dplustot"
/>
<result
column=
"FPLUSTARD"
property=
"fplustard"
/>
<result
column=
"CODEGEST"
property=
"codegest"
/>
<result
column=
"CANNING_ACTUAL_END_TIME"
property=
"canningActualEndTime"
/>
<result
column=
"PACKAGING_ACTUAL_END_TIME"
property=
"packagingActualEndTime"
/>
<result
column=
"STATUS_ORTEMS"
property=
"statusOrtems"
/>
<result
column=
"ACTUAL_FINISH_DATE_ORTEMS"
property=
"actualFinishDateOrtems"
/>
<result
column=
"DATASTATUS"
property=
"datastatus"
/>
<result
column=
"YPQUANTITY"
property=
"ypquantity"
/>
<result
column=
"QJQUANTITY"
property=
"qjquantity"
/>
<result
column=
"PTZT"
property=
"ptzt"
/>
<result
column=
"SYCOUNT"
property=
"sycount"
/>
<result
column=
"SENDERPSTATUS"
property=
"senderpstatus"
/>
<result
column=
"SENDERPMSG"
property=
"senderpmsg"
/>
<result
column=
"SENDERPTIME"
property=
"senderptime"
/>
<result
column=
"SENDVERSIONID"
property=
"sendversionid"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
ID, UP_ID, MES_CODE, TASK_TYPE, PRODUCT_ID, STAGE, MATERIAL_ID, QUANTITY, REMARK, TASK_INPUT_DATE, TASK_REQUIRE, STATUS, EQUIPMENT, IS_SUPPORTING_FINISH, DEMAND_START_DATE, DEMAND_FINISH_DATE, ACTUAL_START_DATE, ACTUAL_FINISH_DATE, IS_DELETED, CREATOR_USER_ID, CREATION_TIME, LAST_MODIFIER_USER_ID, LAST_MODIFICATION_TIME, ORDER_QUOTATION_STATUS, DISTRIBUTE_MAIN_ROUTING, MAIN_ROUTING_FINISH_DATE, CHECK_UP_PEOPLE, CHECK_UP_FINISH_DATE, PRODUCTING_PREPARATION_PEOPLE, PRODUCTING_FINISH_DATE, QUOTATION_PEOPLE, QUOTATION_FINISH_DATE, DIVIDE_MARK, PRODUCT_CODE, PRODUCT_NAME, DRAWN_NUMBER, QUALIFIED_QUANTITY, UNCERTIFICATE_QUANTITY, MAIN_ROUTING_SET_STATUS, ROUTING_DATA_SET_STATUS, ROOT_ID, MAIN_ROUTING_EXECUTE_STATUS, BATCH_NUMBER, PROJECT_NUMBER, URGENCY_LEVEL, MATERIAL_NAME, IS_PRESCHEDULE, MATERIAL_PLAN_FINISH_DATE, PLAN_ID, UP_SPLIT_ID, SPLIT_CARD_STATUS, VERSION, BOM_ID, PRODUCTION_TYPE, IS_FROM_PLAN, IS_ALL_STOCK, STOCK_QUANTITY, APPLY_QUANTITY, SPECIAL_PASS_QUANTITY, IS_OUTSOURCING, ROUTING_NAME, STR_DEMAND_START, STR_DEMAND_END, E_NOF, ROUTING_ID, NOM_ENC, SERIE, DPLUSTOT, FPLUSTARD, CODEGEST, CANNING_ACTUAL_END_TIME, PACKAGING_ACTUAL_END_TIME, STATUS_ORTEMS, ACTUAL_FINISH_DATE_ORTEMS, DATASTATUS, YPQUANTITY, QJQUANTITY, PTZT, SYCOUNT, SENDERPSTATUS, SENDERPMSG, SENDERPTIME, SENDVERSIONID
</sql>
</mapper>
src/main/resources/mapper/RoutingDiscreteParamMapper.xml
0 → 100644
View file @
406cfe40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.aps.mapper.RoutingDiscreteParamMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"com.aps.entity.RoutingDiscreteParam"
>
<id
column=
"ID"
property=
"id"
/>
<result
column=
"CREATION_TIME"
property=
"creationTime"
/>
<result
column=
"CREATOR_USER_ID"
property=
"creatorUserId"
/>
<result
column=
"LAST_MODIFICATION_TIME"
property=
"lastModificationTime"
/>
<result
column=
"LAST_MODIFIER_USER_ID"
property=
"lastModifierUserId"
/>
<result
column=
"DELETER_USER_ID"
property=
"deleterUserId"
/>
<result
column=
"DELETION_TIME"
property=
"deletionTime"
/>
<result
column=
"IS_DELETED"
property=
"isDeleted"
/>
<result
column=
"ROUTING_HEADER_ID"
property=
"routingHeaderId"
/>
<result
column=
"ROUTING_DETAIL_ID"
property=
"routingDetailId"
/>
<result
column=
"ROUTING_DETAIL_SEQ"
property=
"routingDetailSeq"
/>
<result
column=
"ROUTING_DETAIL_NAME"
property=
"routingDetailName"
/>
<result
column=
"GROUP_ID"
property=
"groupId"
/>
<result
column=
"GROUP_NAME"
property=
"groupName"
/>
<result
column=
"PARAMETER_ID"
property=
"parameterId"
/>
<result
column=
"PARAMETER_NAME"
property=
"parameterName"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
ID, CREATION_TIME, CREATOR_USER_ID, LAST_MODIFICATION_TIME, LAST_MODIFIER_USER_ID, DELETER_USER_ID, DELETION_TIME, IS_DELETED, ROUTING_HEADER_ID, ROUTING_DETAIL_ID, ROUTING_DETAIL_SEQ, ROUTING_DETAIL_NAME, GROUP_ID, GROUP_NAME, PARAMETER_ID, PARAMETER_NAME
</sql>
</mapper>
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