Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hg-smart
Overview
Overview
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
platform
hg-smart
Commits
ab82e8bf
Commit
ab82e8bf
authored
Jun 25, 2024
by
wuwenlong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量生成生产计划bugfix
parent
fbdbaec1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
29 deletions
+42
-29
HGSCTools.java
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
+42
-29
No files found.
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
View file @
ab82e8bf
...
@@ -410,7 +410,7 @@ public class HGSCTools {
...
@@ -410,7 +410,7 @@ public class HGSCTools {
}
}
private
static
List
<
HGSC005A
>
generatorNewPlanDetail
(
List
<
HGSC005A
>
hgsc005aList
){
private
static
List
<
HGSC005A
>
generatorNewPlanDetail
(
List
<
HGSC005A
>
hgsc005aList
){
List
<
String
>
inventCodes
=
hgsc005aList
.
stream
().
map
(
HGSC005A:
:
getProductCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
inventCodes
=
hgsc005aList
.
stream
().
map
(
HGSC005A:
:
getProductCode
).
distinct
().
collect
(
Collectors
.
toList
());
//通过存货档案编码查询存货档案工序
//通过存货档案编码查询存货档案工序
List
<
HGPZ005A
>
hgpz005AList
=
HGPZTools
.
HgPz005A
.
queryByInventCodes
(
inventCodes
);
List
<
HGPZ005A
>
hgpz005AList
=
HGPZTools
.
HgPz005A
.
queryByInventCodes
(
inventCodes
);
List
<
HGSC005A
>
hgsc005AList
=
new
ArrayList
<>();
List
<
HGSC005A
>
hgsc005AList
=
new
ArrayList
<>();
...
@@ -448,7 +448,7 @@ public class HGSCTools {
...
@@ -448,7 +448,7 @@ public class HGSCTools {
}
}
private
static
Map
<
Long
,
Optional
<
HGSC005A
>>
queryOldPlanDetail
(
List
<
HGSC005A
>
hgsc005aList
){
private
static
Map
<
Long
,
Optional
<
HGSC005A
>>
queryOldPlanDetail
(
List
<
HGSC005A
>
hgsc005aList
){
List
<
String
>
productCodes
=
hgsc005aList
.
stream
().
map
(
HGSC005A:
:
getProductCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
productCodes
=
hgsc005aList
.
stream
().
map
(
HGSC005A:
:
getProductCode
).
distinct
().
collect
(
Collectors
.
toList
());
Map
paramMap
=
new
HashMap
();
Map
paramMap
=
new
HashMap
();
//因为提交时肯定matid相同,直接取第一个即可
//因为提交时肯定matid相同,直接取第一个即可
paramMap
.
put
(
HGSC005A
.
FIELD_mat_id
,
hgsc005aList
.
get
(
0
).
getMatId
());
paramMap
.
put
(
HGSC005A
.
FIELD_mat_id
,
hgsc005aList
.
get
(
0
).
getMatId
());
...
@@ -497,28 +497,28 @@ public class HGSCTools {
...
@@ -497,28 +497,28 @@ public class HGSCTools {
checkUpdateData
(
hgsc005aList
);
checkUpdateData
(
hgsc005aList
);
constructObj
(
hgsc005aList
);
constructObj
(
hgsc005aList
);
List
<
HGSC005A
>
hgsc005AList
=
generatorNewPlanDetail
(
hgsc005aList
);
List
<
HGSC005A
>
hgsc005AList
=
generatorNewPlanDetail
(
hgsc005aList
);
Map
<
Long
,
Optional
<
HGSC005A
>>
oldObjMap
=
queryOldPlanDetail
(
hgsc005aList
);
// Map<Long,Optional<HGSC005A>> oldObjMap = queryOldPlanDetail(hgsc005aList);
List
<
HGSC005A
>
createList
=
new
ArrayList
<>();
// List<HGSC005A> createList = new ArrayList<>();
List
<
HGSC005A
>
updateList
=
new
ArrayList
<>();
// List<HGSC005A> updateList = new ArrayList<>();
hgsc005AList
.
forEach
(
o
->
{
// hgsc005AList.forEach(o -> {
Optional
<
HGSC005A
>
op
=
oldObjMap
.
get
(
o
.
getInventProcessId
());
// Optional<HGSC005A> op = oldObjMap.get(o.getInventProcessId());
if
(
Objects
.
nonNull
(
op
)){
// if(Objects.nonNull(op)){
HGSC005A
uo
=
op
.
get
();
// HGSC005A uo = op.get();
uo
.
setQuantity
(
uo
.
getQuantity
()+
o
.
getQuantity
());
// uo.setQuantity(uo.getQuantity()+o.getQuantity());
uo
.
setUnfinishQuantity
(
uo
.
getUnfinishQuantity
()+
o
.
getQuantity
());
// uo.setUnfinishQuantity(uo.getUnfinishQuantity()+o.getQuantity());
handleWeight
(
o
,
uo
);
// handleWeight(o,uo);
updateList
.
add
(
uo
);
// updateList.add(uo);
}
else
{
// }else{
handleWeight
(
o
,
o
);
// handleWeight(o,o);
createList
.
add
(
o
);
// createList.add(o);
}
// }
});
// });
if
(
CollectionUtils
.
isNotEmpty
(
createList
)){
if
(
CollectionUtils
.
isNotEmpty
(
hgsc005AList
)){
DaoUtils
.
insertBatch
(
HGSC005A
.
INSERT
,
createList
);
DaoUtils
.
insertBatch
(
HGSC005A
.
INSERT
,
hgsc005AList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
updateList
)){
DaoUtils
.
updateBatch
(
HGSC005A
.
UPDATE
,
updateList
);
}
}
// if(CollectionUtils.isNotEmpty(updateList)){
// DaoUtils.updateBatch(HGSC005A.UPDATE,updateList);
// }
return
hgsc005aList
;
return
hgsc005aList
;
}
}
...
@@ -635,17 +635,14 @@ public class HGSCTools {
...
@@ -635,17 +635,14 @@ public class HGSCTools {
*/
*/
private
static
void
checkUpdateData
(
List
<
HGSC005A
>
hgsc005aList
)
{
private
static
void
checkUpdateData
(
List
<
HGSC005A
>
hgsc005aList
)
{
for
(
HGSC005A
hgsc005a
:
hgsc005aList
){
for
(
HGSC005A
hgsc005a
:
hgsc005aList
){
AssertUtils
.
isTrue
(
Objects
.
isNull
(
hgsc005a
.
getMatId
())||
hgsc005a
.
getMatId
()<=
0
,
"物料清单ID不能为空!"
);
checkUpdateData
(
hgsc005a
);
AssertUtils
.
isTrue
(
Objects
.
isNull
(
hgsc005a
.
getMatDetailId
())||
hgsc005a
.
getMatDetailId
()<=
0
,
"物料清单明细ID不能为空!"
);
AssertUtils
.
isEmpty
(
hgsc005a
.
getProductCode
(),
"产品编码不能为空!"
);
AssertUtils
.
isEmpty
(
hgsc005a
.
getProductName
(),
"产品名称不能为空!"
);
AssertUtils
.
isTrue
(
Objects
.
isNull
(
hgsc005a
.
getTechFlowId
())||
hgsc005a
.
getTechFlowId
()<=
0
,
"工艺流程ID不能为空!"
);
AssertUtils
.
isTrue
(
Objects
.
isNull
(
hgsc005a
.
getQuantity
())||
hgsc005a
.
getQuantity
()<=
0
,
"数量不能为空!"
);
}
}
}
}
public
static
List
<
HGSC005A
>
constructObj
(
List
<
HGSC005A
>
hgsc005aList
){
public
static
List
<
HGSC005A
>
constructObj
(
List
<
HGSC005A
>
hgsc005aList
){
HGSC005
hgsc005
=
THGSC005
.
queryByMatId
(
hgsc005aList
.
get
(
0
).
getMatId
());
HGSC005
hgsc005
=
THGSC005
.
queryByMatId
(
hgsc005aList
.
get
(
0
).
getMatId
());
List
<
HGSC005A
>
result
=
new
ArrayList
<>();
Map
<
String
,
HGSC005A
>
hgsc005AMap
=
new
HashMap
<>();
hgsc005aList
.
forEach
(
hgsc005a
->
{
hgsc005aList
.
forEach
(
hgsc005a
->
{
hgsc005a
.
setPlanCode
(
hgsc005
.
getPlanCode
());
hgsc005a
.
setPlanCode
(
hgsc005
.
getPlanCode
());
hgsc005a
.
setCompanyCode
(
hgsc005
.
getCompanyCode
());
hgsc005a
.
setCompanyCode
(
hgsc005
.
getCompanyCode
());
...
@@ -658,7 +655,23 @@ public class HGSCTools {
...
@@ -658,7 +655,23 @@ public class HGSCTools {
hgsc005a
.
setUnfinishQuantity
(
hgsc005a
.
getQuantity
());
hgsc005a
.
setUnfinishQuantity
(
hgsc005a
.
getQuantity
());
hgsc005a
.
setFinishQuantity
(
0
);
hgsc005a
.
setFinishQuantity
(
0
);
hgsc005a
.
setUnfinishWeight
(
hgsc005a
.
getTotalWeight
());
hgsc005a
.
setUnfinishWeight
(
hgsc005a
.
getTotalWeight
());
//零件
if
(
hgsc005a
.
getProductType
().
compareTo
(
ProductTypeEnum
.
PART
.
getCode
())==
0
){
HGSC005A
hisObj
=
hgsc005AMap
.
get
(
hgsc005a
.
getProductCode
());
if
(
Objects
.
nonNull
(
hisObj
)){
hgsc005a
.
setQuantity
(
hgsc005a
.
getQuantity
()
+
hisObj
.
getQuantity
());
hgsc005a
.
setUnfinishQuantity
(
hgsc005a
.
getQuantity
());
hgsc005a
.
setTotalWeight
(
hgsc005a
.
getTotalWeight
().
add
(
hisObj
.
getTotalWeight
()));
hgsc005a
.
setUnfinishWeight
(
hgsc005a
.
getTotalWeight
());
}
hgsc005AMap
.
put
(
hgsc005a
.
getProductCode
(),
hgsc005a
);
}
else
{
result
.
add
(
hgsc005a
);
}
});
});
if
(
MapUtils
.
isNotEmpty
(
hgsc005AMap
)){
result
.
addAll
(
hgsc005AMap
.
values
().
stream
().
collect
(
Collectors
.
toList
()));
}
return
hgsc005aList
;
return
hgsc005aList
;
}
}
...
...
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