Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
maintain_service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
刘帅
maintain_service
Commits
ec98a0ca
Commit
ec98a0ca
authored
Sep 22, 2025
by
刘帅
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_repair'
parents
34fb2562
1c796318
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
14 deletions
+41
-14
ErpRepairFormProjectDispatchServiceImpl.java
...service/impl/ErpRepairFormProjectDispatchServiceImpl.java
+41
-14
No files found.
maintain-business/src/main/java/com/maintain/business/service/impl/ErpRepairFormProjectDispatchServiceImpl.java
View file @
ec98a0ca
...
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Collection
;
import
java.util.Collection
;
...
@@ -124,6 +125,12 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
...
@@ -124,6 +125,12 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
baseMapper
.
delete
(
lqw
);
baseMapper
.
delete
(
lqw
);
// 汇总原总工时
// 汇总原总工时
//总工时均分
BigDecimal
hour
=
formProject
.
getStandardManHour
().
divide
(
BigDecimal
.
valueOf
(
bo
.
getDispatchIdList
().
size
()),
1
,
RoundingMode
.
HALF_DOWN
);
BigDecimal
totalHour
=
hour
.
multiply
(
BigDecimal
.
valueOf
(
bo
.
getDispatchIdList
().
size
()));
BigDecimal
lostHour
=
formProject
.
getStandardManHour
().
subtract
(
totalHour
);
// 批量新增派工人员列表
// 批量新增派工人员列表
List
<
ErpRepairFormProjectDispatch
>
collect
=
bo
.
getDispatchIdList
().
stream
().
map
(
item
->
{
List
<
ErpRepairFormProjectDispatch
>
collect
=
bo
.
getDispatchIdList
().
stream
().
map
(
item
->
{
ErpRepairFormProjectDispatch
projectDispatch
=
new
ErpRepairFormProjectDispatch
();
ErpRepairFormProjectDispatch
projectDispatch
=
new
ErpRepairFormProjectDispatch
();
...
@@ -140,17 +147,20 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
...
@@ -140,17 +147,20 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
projectDispatch
.
setMaintainUserName
(
userVo
.
getName
());
projectDispatch
.
setMaintainUserName
(
userVo
.
getName
());
projectDispatch
.
setMaintainJobNumber
(
userVo
.
getJobNumber
());
projectDispatch
.
setMaintainJobNumber
(
userVo
.
getJobNumber
());
projectDispatch
.
setMaintainUserState
(
userVo
.
getState
());
projectDispatch
.
setMaintainUserState
(
userVo
.
getState
());
BigDecimal
hour
=
formProject
.
getStandardManHour
().
divide
(
BigDecimal
.
valueOf
(
bo
.
getDispatchIdList
().
size
()),
2
,
RoundingMode
.
HALF_UP
);
projectDispatch
.
setDispatchManHour
(
hour
);
projectDispatch
.
setDispatchManHour
(
hour
);
projectDispatch
.
setActualManHour
(
hour
);
projectDispatch
.
setActualManHour
(
hour
);
// projectDispatch.setDeductManHour(hour);
// projectDispatch.setDeductManHour(hour);
// 汇总实际总工时
formProject
.
setActualTime
(
hour
);
return
projectDispatch
;
return
projectDispatch
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
//处理最后一个
if
(
bo
.
getDispatchIdList
().
size
()
>
1
)
{
ErpRepairFormProjectDispatch
projectDispatch
=
collect
.
get
(
collect
.
size
()
-
1
);
projectDispatch
.
setDispatchManHour
(
projectDispatch
.
getDispatchManHour
().
add
(
lostHour
));
projectDispatch
.
setActualManHour
(
hour
);
}
formProject
.
setIsDispatch
(
IsEnableStatus
.
YES
.
getCode
());
formProject
.
setIsDispatch
(
IsEnableStatus
.
YES
.
getCode
());
formProject
.
setActualTime
(
formProject
.
getStandardManHour
());
projectMapper
.
updateById
(
formProject
);
projectMapper
.
updateById
(
formProject
);
return
baseMapper
.
insertBatch
(
collect
);
return
baseMapper
.
insertBatch
(
collect
);
}
}
...
@@ -167,14 +177,7 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
...
@@ -167,14 +177,7 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
projectDispatch
.
setDeductManHour
(
bo
.
getDeductManHour
());
projectDispatch
.
setDeductManHour
(
bo
.
getDeductManHour
());
boolean
flag
=
baseMapper
.
updateById
(
projectDispatch
)
>
0
;
boolean
flag
=
baseMapper
.
updateById
(
projectDispatch
)
>
0
;
List
<
ErpRepairFormProjectDispatch
>
formProjectDispatches
=
baseMapper
.
selectList
(
Wrappers
.<
ErpRepairFormProjectDispatch
>
lambdaQuery
()
updateFormProject
(
projectDispatch
.
getRepairFormProjectId
());
.
eq
(
ErpRepairFormProjectDispatch:
:
getRepairFormProjectId
,
projectDispatch
.
getRepairFormProjectId
()));
//计算总工时
BigDecimal
reduce
=
formProjectDispatches
.
stream
().
map
(
ErpRepairFormProjectDispatch:
:
getActualManHour
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
ErpRepairFormProject
project
=
new
ErpRepairFormProject
();
project
.
setId
(
projectDispatch
.
getRepairFormProjectId
());
project
.
setActualTime
(
reduce
);
projectMapper
.
updateById
(
project
);
return
flag
;
return
flag
;
}
}
...
@@ -216,10 +219,34 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
...
@@ -216,10 +219,34 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr
* 批量删除报修单-报修项目-派工
* 批量删除报修单-报修项目-派工
*/
*/
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
if
(
isValid
){
if
(
isValid
){
//TODO 做一些业务上的校验,判断是否需要校验
//TODO 做一些业务上的校验,判断是否需要校验
}
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
Iterator
<
Long
>
iterator
=
ids
.
iterator
();
Long
id
=
iterator
.
hasNext
()
?
iterator
.
next
()
:
null
;
ErpRepairFormProjectDispatch
projectDispatch
=
baseMapper
.
selectById
(
id
);
boolean
flag
=
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
updateFormProject
(
projectDispatch
.
getRepairFormProjectId
());
return
flag
;
}
/**
* 更新报修单-报修项目实际时间
* @param projectId
*/
private
void
updateFormProject
(
Long
projectId
){
List
<
ErpRepairFormProjectDispatch
>
formProjectDispatches
=
baseMapper
.
selectList
(
Wrappers
.<
ErpRepairFormProjectDispatch
>
lambdaQuery
()
.
eq
(
ErpRepairFormProjectDispatch:
:
getRepairFormProjectId
,
projectId
));
//计算总工时
BigDecimal
reduce
=
formProjectDispatches
.
stream
().
map
(
ErpRepairFormProjectDispatch:
:
getActualManHour
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
ErpRepairFormProject
project
=
new
ErpRepairFormProject
();
project
.
setId
(
projectId
);
project
.
setActualTime
(
reduce
);
projectMapper
.
updateById
(
project
);
}
}
}
}
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