Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes
Project
Project
Details
Activity
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
ximai
mes
Commits
744fd8da
Commit
744fd8da
authored
Oct 29, 2024
by
温志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.更新修改报工
2.增加工单修改生产版本接口
parent
c7c9aaaa
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
132 additions
and
6 deletions
+132
-6
messages.properties
admin/src/main/resources/i18n/messages.properties
+2
-0
messages_en.properties
admin/src/main/resources/i18n/messages_en.properties
+2
-0
messages_th.properties
admin/src/main/resources/i18n/messages_th.properties
+2
-1
messages_zh_CN.properties
admin/src/main/resources/i18n/messages_zh_CN.properties
+2
-0
ProWorkorderController.java
...s/pro/controller/proWorkOrder/ProWorkorderController.java
+16
-0
ProFeedbackMapper.java
...main/java/com/ximai/mes/pro/mapper/ProFeedbackMapper.java
+3
-0
ProWorkorderMapper.java
...ximai/mes/pro/mapper/proWorkOrder/ProWorkorderMapper.java
+2
-0
AlgorithmDataSourceImpl.java
.../ximai/mes/pro/schedule/impl/AlgorithmDataSourceImpl.java
+4
-0
ProFeedbackServiceImpl.java
...om/ximai/mes/pro/service/impl/ProFeedbackServiceImpl.java
+7
-4
ProWorkorderServiceImpl.java
...ro/service/impl/proWorkOrder/ProWorkorderServiceImpl.java
+83
-1
IProWorkorderService.java
...ai/mes/pro/service/proWorkOrder/IProWorkorderService.java
+2
-0
ProFeedbackMapper.xml
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
+3
-0
ProWorkorderMapper.xml
.../resources/mapper/pro/proWorkOrder/ProWorkorderMapper.xml
+4
-0
No files found.
admin/src/main/resources/i18n/messages.properties
View file @
744fd8da
...
...
@@ -147,6 +147,7 @@ pro.tool.error.error29=\u5DE5\u5355\u7F16\u7801\uFF1A{0}\uFF0C\u5DE5\u88C5\u91CF
#md.process
md.process.error.not.exist
=
\u
5DE5
\u
5E8F
\u
4E0D
\u
5B58
\u5728
#pro.workOrder
pro.workOrder.status.published.error
=
\u
53ea
\u
80fd
\u
4fee
\u6539\u5904\u
4e8e
\u
5df2
\u
53d1
\u
5e03
\u
72b6
\u6001\u
5de5
\u5355
pro.workOrder.error.not.exist
=
\u
5DE5
\u5355\u
4E0D
\u
5B58
\u5728
pro.workOrder.error.limit.min.quantity
=
\u
5DE5
\u5355\u
751F
\u
4EA7
\u6570\u
91CF
\u
5FC5
\u
987B
\u5927\u
4E8E0
pro.workOrder.error.workOrderNo.exist
=
\u
751F
\u
4EA7
\u
5DE5
\u5355\u
7F16
\u
53F7
\u
5DF2
\u
5B58
\u5728
...
...
@@ -183,6 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E
pro.schedule.error.canNot.use.standardTime=
\u
4E0D
\u
652F
\u6301\u
5DE5
\u
65F6
\u5355\u
4F4D{0}
pro.schedule.error.cal.error1=
\u
65E5
\u5386\u
7ED3
\u
675F
\u
65F6
\u
95F4
\u
5FC5
\u
987B
\u5927\u
4E8E
\u
5F00
\u
59CB
\u
65F6
\u
95F4
pro.schedule.error.not.exist.solution=
\u
751F
\u
4EA7
\u
5DE5
\u5355\u
FF1A{0}
\u
751F
\u
4EA7
\u7248\u
672C
\u
672A
\u
627E
\u5230
pro.schedule.error.not.exist.process =
\u
751f
\u
4ea7
\u
5de5
\u5355\u
672a
\u
8bbe
\u
7f6e
\u
5de5
\u
827a
\u
8def
\u
7ebf
pro.schedule.error.fail=
\u6392\u
4EA7
\u5931\u
8D25{0},{1},{2}
pro.schedule.error.not.exist.main.task=
\u
6CA1
\u6709\u
67E5
\u5230\u
4E3B
\u8981\u6392\u
4EA7
\u
4EFB
\u
52A1
pro.schedule.error.split.quantity.lack=
\u
62C6
\u5206\u6570\u
91CF
\u
5FC5
\u9700\u
5C0F
\u
4E8E
\u6392\u
4EA7
\u6570\u
91CF
...
...
admin/src/main/resources/i18n/messages_en.properties
View file @
744fd8da
...
...
@@ -145,6 +145,7 @@ pro.tool.error.error29=Work order code: {0}, tooling and measuring tools: {1}, i
#md.process
md.process.error.not.exist
=
Process does not exist.
#pro.workOrder
pro.workOrder.status.published.error
=
This work order is not in the modified state.
pro.workOrder.error.not.exist
=
Work order does not exist.
pro.workOrder.error.limit.min.quantity
=
The production quantity of the work order must be greater than 0.
pro.workOrder.error.workOrderNo.exist
=
The production work order number already exists.
...
...
@@ -180,6 +181,7 @@ pro.schedule.limit.min.duration=Production duration must be greater than 0.
pro.schedule.error.canNot.use.standardTime=The labor hour unit {0} is not supported.
pro.schedule.error.cal.error1=The calendar end time must be greater than the start time.
pro.schedule.error.not.exist.solution=Production work order: {0} production version not found.
pro.schedule.error.not.exist.process = Production work order process not found.
pro.schedule.error.fail=Production scheduling failed {0}, {1}, {2}.
pro.schedule.error.not.exist.main.task=No main production scheduling task found.
pro.schedule.error.split.quantity.lack=The split quantity must be less than the production scheduling quantity.
...
...
admin/src/main/resources/i18n/messages_th.properties
View file @
744fd8da
...
...
@@ -159,6 +159,7 @@ pro.workOrder.error.error2=\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E23\u0E30\u0E1
pro.workOrder.error.error3
=
\u
0E02
\u
0E49
\u
0E2D
\u
0E21
\u
0E39
\u
0E25
\u
0E01
\u
0E23
\u
0E30
\u
0E1A
\u
0E27
\u
0E19
\u
0E01
\u
0E32
\u
0E23
\u
0E17
\u
0E35
\u
0E48
\u
0E2A
\u
0E2D
\u
0E14
\u
0E04
\u
0E25
\u
0E49
\u
0E2D
\u
0E07
\u
0E01
\u
0E31
\u
0E1A
\u
0E07
\u
0E32
\u
0E19
\u
0E01
\u
0E32
\u
0E23
\u
0E1C
\u
0E25
\u
0E34
\u
0E15
\u
0E1B
\u
0E31
\u
0E08
\u
0E08
\u
0E38
\u
0E1A
\u
0E31
\u
0E19
\u
0E44
\u
0E21
\u
0E48
\u
0E16
\u
0E39
\u
0E01
\u
0E15
\u
0E49
\u
0E2D
\u
0E07
pro.workOrder.error.error4
=
\u
0E15
\u
0E32
\u
0E23
\u
0E32
\u
0E07
\u
0E07
\u
0E32
\u
0E19
\u
0E17
\u
0E35
\u
0E48
\u
0E15
\u
0E49
\u
0E2D
\u
0E07
\u
0E1B
\u
0E34
\u
0E14
\u
0E1B
\u
0E34
\u
0E14
\u
0E1B
\u
0E34
\u
0E14
\u
0E2B
\u
0E23
\u
0E37
\u
0E2D
\u
0E40
\u
0E2A
\u
0E23
\u
0E47
\u
0E08
\u
0E2A
\u
0E34
\u
0E49
\u
0E19
\u
0E41
\u
0E25
\u
0E49
\u
0E27
pro.workOrder.error.error5
=
\u
0E2A
\u
0E16
\u
0E32
\u
0E19
\u
0E30
\u
0E1B
\u
0E31
\u
0E08
\u
0E08
\u
0E38
\u
0E1A
\u
0E31
\u
0E19
\u
0E02
\u
0E2D
\u
0E07
\u
0E07
\u
0E32
\u
0E19
\u
0E16
\u
0E39
\u
0E01
\u
0E1B
\u
0E34
\u
0E14
\u
0E2B
\u
0E23
\u
0E37
\u
0E2D
\u
0E40
\u
0E2A
\u
0E23
\u
0E47
\u
0E08
\u
0E2A
\u
0E34
\u
0E49
\u
0E19
\u
0E41
\u
0E25
\u
0E30
\u
0E44
\u
0E21
\u
0E48
\u
0E2A
\u
0E32
\u
0E21
\u
0E32
\u
0E23
\u
0E16
\u
0E1B
\u
0E34
\u
0E14
\u
0E44
\u
0E14
\u
0E49
\u
0E0B
\u
0E49
\u
0E4D
\u
0E32
pro.workOrder.status.published.error
=
\u
0e44
\u
0e21
\u
0e48
\u
0e2d
\u
0e19
\u
0e38
\u
0e0d
\u
0e32
\u
0e15
\u
0e43
\u
0e2b
\u
0e49
\u
0e41
\u
0e01
\u
0e49
\u
0e44
\u
0e02
\u
0e40
\u
0e1e
\u
0e34
\u
0e48
\u
0e21
\u
0e40
\u
0e15
\u
0e34
\u
0e21
\u
0e43
\u
0e19
\u
0e2a
\u
0e16
\u
0e32
\u
0e19
\u
0e30
\u
0e43
\u
0e1a
\u
0e2a
\u
0e31
\u
0e48
\u
0e07
\u
0e07
\u
0e32
\u
0e19
\u
0e19
\u
0e35
\u
0e49
#pro.material
pro.material.error.not.exist
=
\u
0E27
\u
0E31
\u
0E2A
\u
0E14
\u
0E38
\u
0E44
\u
0E21
\u
0E48
\u
0E21
\u
0E35
\u
0E2D
\u
0E22
\u
0E39
\u
0E48
pro.material.error.error1
=
\u
0E23
\u
0E2B
\u
0E31
\u
0E2A
\u
0E1A
\u
0E34
\u
0E25:{0},
\u
0E44
\u
0E21
\u
0E48
\u
0E1E
\u
0E1A
\u
0E1A
\u
0E31
\u
0E19
\u
0E17
\u
0E36
\u
0E01
\u
0E01
\u
0E32
\u
0E23
\u
0E1C
\u
0E25
\u
0E34
\u
0E15
\u
0E02
\u
0E2D
\u
0E07
\u
0E1A
\u
0E34
\u
0E25
...
...
@@ -182,7 +183,7 @@ pro.schedule.limit.min.duration=\u0E23\u0E30\u0E22\u0E30\u0E40\u0E27\u0E25\u0E32
pro.schedule.error.not.null.vendor
=
\u
0E15
\u
0E31
\u
0E27
\u
0E1B
\u
0E23
\u
0E30
\u
0E21
\u
0E27
\u
0E25
\u
0E1C
\u
0E25
\u
0E20
\u
0E32
\u
0E22
\u
0E19
\u
0E2D
\u
0E01
\u
0E44
\u
0E21
\u
0E48
\u
0E2A
\u
0E32
\u
0E21
\u
0E32
\u
0E23
\u
0E16
\u
0E27
\u
0E48
\u
0E32
\u
0E07
\u
0E44
\u
0E14
\u
0E49
pro.schedule.error.cannot.use.standardtime
=
\u
0E44
\u
0E21
\u
0E48
\u
0E23
\u
0E2D
\u
0E07
\u
0E23
\u
0E31
\u
0E1A
\u
0E2B
\u
0E19
\u
0E48
\u
0E27
\u
0E22
\u
0E07
\u
0E32
\u
0E19
\u
0E0A
\u
0E31
\u
0E48
\u
0E27
\u
0E42
\u
0E21
\u
0E07{0}
pro.schedule.error.cal.error1
=
\u
0E40
\u
0E27
\u
0E25
\u
0E32
\u
0E2A
\u
0E34
\u
0E49
\u
0E19
\u
0E2A
\u
0E38
\u
0E14
\u
0E02
\u
0E2D
\u
0E07
\u
0E1B
\u
0E0F
\u
0E34
\u
0E17
\u
0E34
\u
0E19
\u
0E15
\u
0E49
\u
0E2D
\u
0E07
\u
0E21
\u
0E32
\u
0E01
\u
0E01
\u
0E27
\u
0E48
\u
0E32
\u
0E40
\u
0E27
\u
0E25
\u
0E32
\u
0E40
\u
0E23
\u
0E34
\u
0E48
\u
0E21
\u
0E15
\u
0E49
\u
0E19
pro.schedule.error.not.exist.solution
=
\u
0
E15
\u
0E32
\u
0E23
\u
0E32
\u
0E07
\u
0E07
\u
0E32
\u
0E19
\u
0E01
\u
0E32
\u
0E23
\u
0E1C
\u
0E25
\u
0E34
\u
0E15:{0}
\u
0E44
\u
0E21
\u
0E48
\u
0E1E
\u
0E1A
\u
0E23
\u
0E38
\u
0E48
\u
0E19
\u
0E01
\u
0E32
\u
0E23
\u
0E1C
\u
0E25
\u
0E34
\u
0E15
pro.schedule.error.not.exist.solution
=
\u
0
e43
\u
0e1a
\u
0e2a
\u
0e31
\u
0e48
\u
0e07
\u
0e07
\u
0e32
\u
0e19
\u
0e02
\u
0e32
\u
0e14
\u
0e40
\u
0e2a
\u
0e49
\u
0e19
\u
0e17
\u
0e32
\u
0e07
\u
0e01
\u
0e23
\u
0e30
\u
0e1a
\u
0e27
\u
0e19
\u
0e01
\u
0e32
\u
0e23
pro.schedule.error.fail
=
\u
0E01
\u
0E32
\u
0E23
\u
0E40
\u
0E23
\u
0E35
\u
0E22
\u
0E07
\u
0E25
\u
0E4D
\u
0E32
\u
0E14
\u
0E31
\u
0E1A
\u
0E25
\u
0E49
\u
0E21
\u
0E40
\u
0E2B
\u
0E25
\u
0E27{0},{1},{2}
pro.schedule.error.not.exist.main.task
=
\u
0E44
\u
0E21
\u
0E48
\u
0E1E
\u
0E1A
\u
0E20
\u
0E32
\u
0E23
\u
0E01
\u
0E34
\u
0E08
\u
0E01
\u
0E32
\u
0E23
\u
0E16
\u
0E48
\u
0E32
\u
0E22
\u
0E42
\u
0E2D
\u
0E19
\u
0E2B
\u
0E25
\u
0E31
\u
0E01
pro.schedule.error.split.quantity.black
=
\u
0E08
\u
0E4D
\u
0E32
\u
0E19
\u
0E27
\u
0E19
\u
0E17
\u
0E35
\u
0E48
\u
0E41
\u
0E1A
\u
0E48
\u
0E07
\u
0E08
\u
0E30
\u
0E15
\u
0E49
\u
0E2D
\u
0E07
\u
0E19
\u
0E49
\u
0E2D
\u
0E22
\u
0E01
\u
0E27
\u
0E48
\u
0E32
\u
0E08
\u
0E4D
\u
0E32
\u
0E19
\u
0E27
\u
0E19
\u
0E17
\u
0E35
\u
0E48
\u
0E1B
\u
0E25
\u
0E48
\u
0E2D
\u
0E22
\u
0E2D
\u
0E2D
\u
0E01
\u
0E21
\u
0E32
...
...
admin/src/main/resources/i18n/messages_zh_CN.properties
View file @
744fd8da
...
...
@@ -147,6 +147,7 @@ pro.tool.error.error29=\u5DE5\u5355\u7F16\u7801\uFF1A{0}\uFF0C\u5DE5\u88C5\u91CF
#md.process
md.process.error.not.exist
=
\u
5DE5
\u
5E8F
\u
4E0D
\u
5B58
\u5728
#pro.workOrder
pro.workOrder.status.published.error
=
\u
53ea
\u
80fd
\u
4fee
\u6539\u5904\u
4e8e
\u
5df2
\u
53d1
\u
5e03
\u
72b6
\u6001\u
5de5
\u5355
pro.workOrder.error.not.exist
=
\u
5DE5
\u5355\u
4E0D
\u
5B58
\u5728
pro.workOrder.error.limit.min.quantity
=
\u
5DE5
\u5355\u
751F
\u
4EA7
\u6570\u
91CF
\u
5FC5
\u
987B
\u5927\u
4E8E0
pro.workOrder.error.workOrderNo.exist
=
\u
751F
\u
4EA7
\u
5DE5
\u5355\u
7F16
\u
53F7
\u
5DF2
\u
5B58
\u5728
...
...
@@ -183,6 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E
pro.schedule.error.canNot.use.standardTime=
\u
4E0D
\u
652F
\u6301\u
5DE5
\u
65F6
\u5355\u
4F4D{0}
pro.schedule.error.cal.error1=
\u
65E5
\u5386\u
7ED3
\u
675F
\u
65F6
\u
95F4
\u
5FC5
\u
987B
\u5927\u
4E8E
\u
5F00
\u
59CB
\u
65F6
\u
95F4
pro.schedule.error.not.exist.solution=
\u
751F
\u
4EA7
\u
5DE5
\u5355\u
FF1A{0}
\u
751F
\u
4EA7
\u7248\u
672C
\u
672A
\u
627E
\u5230
pro.schedule.error.not.exist.process =
\u
751f
\u
4ea7
\u
5de5
\u5355\u
672a
\u
8bbe
\u
7f6e
\u
5de5
\u
827a
\u
8def
\u
7ebf
pro.schedule.error.fail=
\u6392\u
4EA7
\u5931\u
8D25{0},{1},{2}
pro.schedule.error.not.exist.main.task=
\u
6CA1
\u6709\u
67E5
\u5230\u
4E3B
\u8981\u6392\u
4EA7
\u
4EFB
\u
52A1
pro.schedule.error.split.quantity.lack=
\u
62C6
\u5206\u6570\u
91CF
\u
5FC5
\u9700\u
5C0F
\u
4E8E
\u6392\u
4EA7
\u6570\u
91CF
...
...
mes/src/main/java/com/ximai/mes/pro/controller/proWorkOrder/ProWorkorderController.java
View file @
744fd8da
...
...
@@ -277,6 +277,22 @@ public class ProWorkorderController extends BaseController {
return
toAjax
(
ret
);
}
/**
* 修改生产工单
*/
@ApiOperation
(
"生产工单修改生产版本以及工艺路线"
)
@PreAuthorize
(
"@ss.hasPermi('mes:pro:workorder:edit')"
)
@Log
(
title
=
"生产工单"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
(
"/updateWorkProcess"
)
public
AjaxResult
updateWorkProcess
(
@RequestBody
ProWorkorderVo
proWorkorderVo
)
{
int
ret
=
proWorkorderService
.
updateWorkProcess
(
proWorkorderVo
);
return
toAjax
(
ret
);
}
/**
* 删除生产工单
*/
...
...
mes/src/main/java/com/ximai/mes/pro/mapper/ProFeedbackMapper.java
View file @
744fd8da
...
...
@@ -6,6 +6,7 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackVo;
import
com.ximai.mes.pro.domain.vo.ProProcessTaskVo
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.security.core.parameters.P
;
import
java.util.List
;
...
...
@@ -108,4 +109,6 @@ public interface ProFeedbackMapper {
"sum(quantity_uncheck) quantity_uncheck"
+
"from pro_feedback where task_id=#{taskId} and process_id=#{processId} GROUP BY task_id, process_id"
)
ProProcessTaskVo
selectProFeedbackFeedback
(
@Param
(
"taskId"
)
Long
taskId
,
@Param
(
"processId"
)
Long
processId
);
void
updateAbnormal
(
@Param
(
"abnormalId"
)
Long
abnormalId
,
@Param
(
"abnormalReason"
)
String
abnormalReason
,
@Param
(
"abnormalRemark"
)
String
abnormalRemark
,
@Param
(
"abnormalType"
)
String
abnormalType
,
@Param
(
"recordId"
)
Long
recordId
);
}
mes/src/main/java/com/ximai/mes/pro/mapper/proWorkOrder/ProWorkorderMapper.java
View file @
744fd8da
...
...
@@ -144,4 +144,6 @@ public interface ProWorkorderMapper extends BaseMapper<ProWorkorder> {
@Select
(
value
=
"select max(erp_update_time) from pro_workorder"
)
Date
maxErpUpdateTime
();
int
updateProductionSolution
(
@Param
(
"productionSolutionId"
)
Long
productionSolutionId
,
@Param
(
"productionSolutionCode"
)
String
productionSolutionCode
,
@Param
(
"productionSolutionName"
)
String
productionSolutionName
,
@Param
(
"workorderId"
)
Long
workorderId
);
}
mes/src/main/java/com/ximai/mes/pro/schedule/impl/AlgorithmDataSourceImpl.java
View file @
744fd8da
...
...
@@ -135,6 +135,10 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource {
processQuery
.
eq
(
"t1.workorder_id"
,
firstWorkorder
.
getWorkorderId
());
processQuery
.
orderByAsc
(
"t1.idx"
);
List
<
ProWorkOrderProcess
>
productionOrderRoutings
=
proWorkOrderProcessService
.
selectListByQw
(
processQuery
);
//
if
(
productionOrderRoutings
==
null
){
throw
new
ServiceException
(
MessageUtils
.
message
(
"pro.schedule.error.not.exist.process"
,
firstWorkorder
.
getWorkorderCode
()));
}
//生产版本查询
ProProductionSolutionVo
productionSolution
=
proProductionSolutionService
.
selectProProductionSolutionByProductionSolutionId
(
firstWorkorder
.
getProductionSolutionId
());
if
(
productionSolution
==
null
){
...
...
mes/src/main/java/com/ximai/mes/pro/service/impl/ProFeedbackServiceImpl.java
View file @
744fd8da
...
...
@@ -678,11 +678,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
ExceptionUtil
.
checkTrueThrowException
(
CollectionUtil
.
isEmpty
(
proFeedbacks
),
MessageUtils
.
message
(
"pro.feedback.error.not.data"
));
ProFeedback
oldFeedback
=
proFeedbacks
.
get
(
0
);
proFeedback
.
setFeedbackCode
(
oldFeedback
.
getFeedbackCode
());
BigDecimal
feedbackQuantitySubtract
=
quantityFeedback
.
subtract
(
oldFeedback
.
getQuantityFeedback
());
//
BigDecimal feedbackQuantitySubtract = quantityFeedback.subtract(oldFeedback.getQuantityFeedback());
if
(
feedbackQuantitySubtract
.
doubleValue
()
==
0
)
{
return
1
;
}
//
if (feedbackQuantitySubtract.doubleValue() == 0) {
//
return 1;
//
}
BigDecimal
updateUnQuality
=
proFeedback
.
getQuantityUnqualify
();
BigDecimal
updateQuality
=
proFeedback
.
getQuantityQualify
();
...
...
@@ -698,6 +698,9 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
if
(
v1
==
0
&&
b3
&&
v2
==
0
)
{
//有可能是修改异常信息
if
(
proFeedback
.
getAbnormalId
()
!=
null
)
proFeedbackMapper
.
updateAbnormal
(
proFeedback
.
getAbnormalId
(),
proFeedback
.
getAbnormalReason
(),
proFeedback
.
getAbnormalRemark
(),
proFeedback
.
getAbnormalType
(),
proFeedback
.
getRecordId
());
return
1
;
}
...
...
mes/src/main/java/com/ximai/mes/pro/service/impl/proWorkOrder/ProWorkorderServiceImpl.java
View file @
744fd8da
...
...
@@ -1066,7 +1066,7 @@ public class ProWorkorderServiceImpl implements IProWorkorderService {
proWorkorder
.
setAncestors
(
parent
.
getAncestors
()
+
","
+
parent
.
getParentId
());
}
}
proWorkorder
.
setStatus
(
WorkorderStatusEnum
.
P
UBLISHED
.
getValue
());
proWorkorder
.
setStatus
(
WorkorderStatusEnum
.
P
REPARE
.
getValue
());
proWorkorder
.
createAction
();
proWorkorder
.
setQuantityProduced
(
BigDecimal
.
ZERO
);
proWorkorder
.
setQuantityQualify
(
BigDecimal
.
ZERO
);
...
...
@@ -1842,6 +1842,88 @@ public class ProWorkorderServiceImpl implements IProWorkorderService {
}
}
@Override
public
int
updateWorkProcess
(
ProWorkorderVo
proWorkorderVo
)
{
ProWorkorder
proWorkorder
=
proWorkorderMapper
.
selectWorkorderById
(
proWorkorderVo
.
getWorkorderId
());
ExceptionUtil
.
checkTrueThrowException
(
proWorkorder
==
null
,
MessageUtils
.
message
(
"pro.workOrder.error.not.exist"
));
ExceptionUtil
.
checkTrueThrowException
(
proWorkorder
.
getStatus
().
equals
(
WorkorderStatusEnum
.
PUBLISHED
.
getValue
()),
MessageUtils
.
message
(
"pro.workOrder.status.published.error"
));
List
<
ProWorkOrderProcessVo
>
processList
=
proWorkorderVo
.
getProcessList
();
if
(
processList
!=
null
)
{
for
(
ProWorkOrderProcessVo
proWorkOrderProcessVo
:
processList
)
{
// 保存工序
ProWorkOrderProcess
tempProcess
=
proWorkOrderProcessVo
.
deepCopyObj
(
ProWorkOrderProcess
.
class
);
tempProcess
.
setWorkorderId
(
proWorkorderVo
.
getWorkorderId
());
if
(
tempProcess
.
getWorkorderProcessId
()
==
null
)
{
proWorkOrderProcessService
.
insertProWorkOrderProcess
(
tempProcess
);
}
Long
workorderProcessId
=
tempProcess
.
getWorkorderProcessId
();
// 获取工序物料-保存
if
(
proWorkOrderProcessVo
.
getProcessItemList
()
==
null
)
{
proWorkOrderProcessVo
.
setProcessItemList
(
new
ArrayList
<
ProWorkOrderProcessItem
>());
}
List
<
ProWorkOrderProcessItem
>
proWorkOrderProcessItemList
=
proWorkOrderProcessVo
.
getProcessItemList
();
ProWorkOrderProcessItem
proWorkOrderProcessItemQuery
=
new
ProWorkOrderProcessItem
();
proWorkOrderProcessItemQuery
.
setWorkorderProcessId
(
workorderProcessId
);
List
<
ProWorkOrderProcessItem
>
proWorkOrderProcessItemListDb
=
proWorkOrderProcessItemMapper
.
selectProWorkOrderProcessItemList
(
proWorkOrderProcessItemQuery
);
for
(
ProWorkOrderProcessItem
proWorkOrderProcessItem
:
proWorkOrderProcessItemList
)
{
proWorkOrderProcessItem
.
setWorkorderProcessId
(
workorderProcessId
);
if
(
proWorkOrderProcessItem
.
getWorkorderProcessItemId
()
==
null
)
{
proWorkOrderProcessItemService
.
insertProWorkOrderProcessItem
(
proWorkOrderProcessItem
);
}
else
{
proWorkOrderProcessItemService
.
updateProWorkOrderProcessItem
(
proWorkOrderProcessItem
);
}
}
proWorkOrderProcessItemListDb
.
forEach
(
v
->
{
if
(!
proWorkOrderProcessItemList
.
stream
().
filter
(
v2
->
v
.
getWorkorderProcessItemId
().
equals
(
v2
.
getWorkorderProcessItemId
())).
findFirst
().
isPresent
())
{
proWorkOrderProcessItemMapper
.
deleteProWorkOrderProcessItemByWorkorderProcessItemId
(
v
.
getWorkorderProcessItemId
());
}
});
//检验项保存、删除
List
<
ProWorkOrderProcessQcindex
>
proWorkOrderProcessQcindexList
=
proWorkOrderProcessVo
.
getQcindexList
();
ProWorkOrderProcessQcindex
proWorkOrderProcessQcindexQuery
=
new
ProWorkOrderProcessQcindex
();
proWorkOrderProcessQcindexQuery
.
setWorkorderProcessId
(
workorderProcessId
);
List
<
ProWorkOrderProcessQcindex
>
proWorkOrderProcessQcindexListDb
=
proWorkOrderProcessQcindexMapper
.
selectProWorkOrderProcessQcindexList
(
proWorkOrderProcessQcindexQuery
);
for
(
ProWorkOrderProcessQcindex
proWorkOrderProcessQcindex
:
proWorkOrderProcessQcindexList
)
{
proWorkOrderProcessQcindex
.
setWorkOrderId
(
proWorkorderVo
.
getWorkorderId
());
proWorkOrderProcessQcindex
.
setWorkorderProcessId
(
workorderProcessId
);
if
(
proWorkOrderProcessQcindex
.
getId
()
==
null
)
{
proWorkOrderProcessQcindexService
.
insertProWorkOrderProcessQcindex
(
proWorkOrderProcessQcindex
);
}
else
{
proWorkOrderProcessQcindexService
.
updateProWorkOrderProcessQcindex
(
proWorkOrderProcessQcindex
);
}
}
proWorkOrderProcessQcindexListDb
.
forEach
(
v
->
{
if
(!
proWorkOrderProcessQcindexList
.
stream
().
filter
(
v2
->
v
.
getId
().
equals
(
v2
.
getId
())).
findFirst
().
isPresent
())
{
proWorkOrderProcessQcindexMapper
.
deleteProWorkOrderProcessQcindexById
(
v
.
getId
());
}
});
//工装
List
<
ProWorkOrderProcessTool
>
proWorkOrderProcessToolList
=
proWorkOrderProcessVo
.
getToolList
();
ProWorkOrderProcessTool
proWorkOrderProcessToolQuery
=
new
ProWorkOrderProcessTool
();
proWorkOrderProcessToolQuery
.
setWorkorderProcessId
(
workorderProcessId
);
List
<
ProWorkOrderProcessTool
>
proWorkOrderProcessToolListDb
=
proWorkOrderProcessToolMapper
.
selectProWorkOrderProcessToolList
(
proWorkOrderProcessToolQuery
);
for
(
ProWorkOrderProcessTool
proWorkOrderProcessTool
:
proWorkOrderProcessToolList
)
{
proWorkOrderProcessTool
.
setWorkorderProcessId
(
workorderProcessId
);
proWorkOrderProcessTool
.
setWorkOrderId
(
proWorkorderVo
.
getWorkorderId
());
if
(
proWorkOrderProcessTool
.
getWorkorderProcessToolId
()
==
null
)
{
proWorkOrderProcessToolService
.
insertProWorkOrderProcessTool
(
proWorkOrderProcessTool
);
}
else
{
proWorkOrderProcessToolService
.
updateProWorkOrderProcessTool
(
proWorkOrderProcessTool
);
}
}
proWorkOrderProcessToolListDb
.
forEach
(
v
->
{
if
(!
proWorkOrderProcessToolList
.
stream
().
filter
(
v2
->
v
.
getWorkorderProcessToolId
().
equals
(
v2
.
getWorkorderProcessToolId
())).
findFirst
().
isPresent
())
{
proWorkOrderProcessToolMapper
.
deleteProWorkOrderProcessToolByWorkorderProcessToolId
(
v
.
getWorkorderProcessToolId
());
}
});
}
proWorkOrderProcessMapper
.
deleteProWorkOrderProcessByWorkorderId
(
proWorkorderVo
.
getWorkorderId
());
}
return
proWorkorderMapper
.
updateProductionSolution
(
proWorkorderVo
.
getProductionSolutionId
(),
proWorkorderVo
.
getProductionSolutionCode
(),
proWorkorderVo
.
getProductionSolutionName
(),
proWorkorderVo
.
getWorkorderId
());
}
@MethodExtendedProcesses
(
config
={
@MethodExtendedProcess
(
sysSwitchParam
=
"erp.finish.stockin.create.enable"
,
processClz
=
FinishStockInCreateProcess
.
class
,
newThread
=
true
,
errorCatch
=
true
)
...
...
mes/src/main/java/com/ximai/mes/pro/service/proWorkOrder/IProWorkorderService.java
View file @
744fd8da
...
...
@@ -211,4 +211,6 @@ public interface IProWorkorderService {
* 每次更新1000行,直到所有数据同步完成为止
*/
void
syncEditErpData
(
ProWorkorderErpDto
workorderErpDto
,
Map
<
String
,
MdItem
>
itemMap
);
int
updateWorkProcess
(
ProWorkorderVo
proWorkorderVo
);
}
mes/src/main/resources/mapper/pro/ProFeedbackMapper.xml
View file @
744fd8da
...
...
@@ -352,6 +352,9 @@
</trim>
where record_id = #{recordId}
</update>
<update
id=
"updateAbnormal"
>
update pro_feedback set abnormal_id = #{abnormalId}, abnormal_type = #{abnormalType},abnormal_reason = #{abnormalReason},abnormal_remark = #{abnormalRemark} where record_id = #{recordId}
</update>
<delete
id=
"deleteProFeedbackByRecordId"
parameterType=
"Long"
>
delete
...
...
mes/src/main/resources/mapper/pro/proWorkOrder/ProWorkorderMapper.xml
View file @
744fd8da
...
...
@@ -434,6 +434,10 @@
set pr.status = #{status}
where pr.workorder_id = #{workorderId}
</update>
<update
id=
"updateProductionSolution"
>
update pro_workorder set production_solution_id = #{productionSolutionId},production_solution_code = #{productionSolutionCode} ,production_solution_name = #{productionSolutionName}
where workorder_id = #{workorderId}
</update>
<delete
id=
"deleteProWorkorderByWorkorderId"
parameterType=
"Long"
>
delete
...
...
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