From 9dc103d1c9553a983070b3a74f0f2b431dbb1617 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Mon, 18 May 2026 09:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cost/pojo/entity/SubjectFeeEntity.java | 6 +++++ .../impl/CostStatisticsServiceImpl.java | 23 +++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeEntity.java index 0bb07213e..87edd010a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeEntity.java @@ -88,4 +88,10 @@ public class SubjectFeeEntity extends BaseEntity { */ @Schema(description = "更新人姓名") private String updateUserName; + + /** + * 科目类型 0-制造费用 1-作业中心材料费用 + */ + @Schema(description = "科目类型 0-制造费用 1-作业中心材料费用") + private String subjectType; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java index 77ca5f23c..3c1b53109 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java @@ -116,12 +116,14 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl processList = costCalculationProcessService.list(Wrappers.lambdaQuery().eq(CostCalculationProcessEntity::getWorkCenterId,workCenter.getId())); BigDecimal monthOutputArea = BigDecimal.ZERO; @@ -195,7 +197,7 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl subjectFeeIdList = subjectFeeList.stream().map(BaseEntity::getId).collect(Collectors.toList()); + List subjectFeeIdList = subjectFeeList.stream().filter(item ->"0".equals(item.getSubjectType())).map(BaseEntity::getId).collect(Collectors.toList()); List subjectFeeDetailList = subjectFeeDetailService.list(Wrappers.lambdaQuery() .in(SubjectFeeDetailEntity::getParentId,subjectFeeIdList) .eq(SubjectFeeDetailEntity::getMonth,month) @@ -207,6 +209,23 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl subjectFeeList,WorkCenter workCenter, String month){ + //【作业中心材料费用】=科目费用费用类别是作业中心材料费用的各作业中心的所有费用的总和 + BigDecimal materialCost = BigDecimal.ZERO; + + if(CollectionUtils.isNotEmpty(subjectFeeList)){ + List subjectFeeIdList = subjectFeeList.stream().filter(item ->"1".equals(item.getSubjectType())).map(BaseEntity::getId).collect(Collectors.toList()); + List subjectFeeDetailList = subjectFeeDetailService.list(Wrappers.lambdaQuery() + .in(SubjectFeeDetailEntity::getParentId,subjectFeeIdList) + .eq(SubjectFeeDetailEntity::getMonth,month) + .eq(SubjectFeeDetailEntity::getWorkCenterId,workCenter.getId())); + if(CollectionUtils.isNotEmpty(subjectFeeDetailList)){ + materialCost = materialCost.add(BigDecimal.valueOf(subjectFeeDetailList.stream().mapToDouble(SubjectFeeDetailEntity::getFee).sum())); + } + } + return materialCost; + } + }