From 2c32294b9861ddab6a4c7ee894bb4aaaa6ebc96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B8=85?= Date: Thu, 11 Sep 2025 14:53:46 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=9D=87=E5=88=86=E5=B7=A5=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E9=99=A4=E5=B0=BD=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ErpRepairFormProjectDispatchServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpRepairFormProjectDispatchServiceImpl.java b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpRepairFormProjectDispatchServiceImpl.java index 1cf2cdd..a1b57fa 100644 --- a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpRepairFormProjectDispatchServiceImpl.java +++ b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpRepairFormProjectDispatchServiceImpl.java @@ -23,6 +23,7 @@ import com.maintain.business.service.IErpRepairFormProjectDispatchService; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; import java.util.Map; import java.util.Collection; @@ -112,10 +113,16 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr @Override public Boolean insertBatchByBo(ErpRepairFormProjectDispatchBatchBo bo) { ErpRepairFormProject formProject = projectMapper.selectById(bo.getProjectId()); + // 删除原有绑定 LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(ErpRepairFormProjectDispatch::getRepairFormProjectId, bo.getProjectId()); + BigDecimal totalActualManHour = baseMapper.selectList(lqw) + .stream() + .map(ErpRepairFormProjectDispatch::getActualManHour).reduce(BigDecimal.ZERO, BigDecimal::add); baseMapper.delete(lqw); + // 汇总原总工时 + // 批量新增派工人员列表 List collect = bo.getDispatchIdList().stream().map(item -> { ErpRepairFormProjectDispatch projectDispatch = new ErpRepairFormProjectDispatch(); @@ -132,7 +139,9 @@ public class ErpRepairFormProjectDispatchServiceImpl implements IErpRepairFormPr projectDispatch.setMaintainUserName(userVo.getName()); projectDispatch.setMaintainJobNumber(userVo.getJobNumber()); projectDispatch.setMaintainUserState(userVo.getState()); - BigDecimal hour = formProject.getStandardManHour().divide(BigDecimal.valueOf(bo.getDispatchIdList().size())); + BigDecimal hour = formProject.getStandardManHour().divide( + BigDecimal.valueOf(bo.getDispatchIdList().size()), 2, RoundingMode.HALF_UP + ); projectDispatch.setDispatchManHour(hour); projectDispatch.setActualManHour(hour); // projectDispatch.setDeductManHour(hour); -- 2.22.0