diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeDetailEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeDetailEntity.java index f6a23dda..f46f580a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeDetailEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/cost/pojo/entity/SubjectFeeDetailEntity.java @@ -61,6 +61,13 @@ public class SubjectFeeDetailEntity extends BaseEntity { */ @Schema(description = "作业中心id") private Long workCenterId; + + /** + * 作业中心名称 + */ + @Schema(description = "作业中心编码") + private String workCenterCode; + /** * 作业中心名称 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostCalculationGoodsController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostCalculationGoodsController.java index 73e6dfa3..d8f71345 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostCalculationGoodsController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostCalculationGoodsController.java @@ -204,6 +204,7 @@ public class CostCalculationGoodsController extends BladeController { } CostCalculationGoodsEntity entity = new CostCalculationGoodsEntity(); BeanUtils.copyProperties(goodsExcel,entity); + entity.setGoodsName(goods.getGoodsName()); entity.setCreateUserName(UserCache.getUser(Long.valueOf(AuthUtil.getUserId())).getRealName()); entity.setUpdateUserName(UserCache.getUser(Long.valueOf(AuthUtil.getUserId())).getRealName()); list.add(entity); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/CostCalculationGoodsExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/CostCalculationGoodsExcel.java index 425e0b1e..f607b84a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/CostCalculationGoodsExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/CostCalculationGoodsExcel.java @@ -58,12 +58,6 @@ public class CostCalculationGoodsExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("物料编码") private String goodsCode; - /** - * 物料名称 - */ - @ColumnWidth(20) - @ExcelProperty("物料名称") - private String goodsName; } 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 bd983914..77ca5f23 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 @@ -107,10 +107,13 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl workCenterList = workCenterService.list(); //获取总的辅助人员材料费用(剔除成本计算维护的物料) BigDecimal assistantMaterialCostSum = baseMapper.getAssistantMaterialCost(month); + //获取所有费用科目 + List subjectFeeList = subjectFeeService.list(Wrappers.lambdaQuery() + .ne(SubjectFeeEntity::getSubjectName,"辅助人员材料费用")); //辅助人员科目 for(WorkCenter workCenter : workCenterList){ //制造费用 - BigDecimal productCost = getProductCost(workCenter,month); + BigDecimal productCost = getProductCost(subjectFeeList,workCenter,month); //作业中心材料费用(剔除成本计算维护的物料) BigDecimal workCenterMaterialCost = baseMapper.getWorkCenterMaterialCost(workCenter.getId(),month); //作业中心辅助人员材料费用比例 @@ -187,12 +190,10 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl subjectFeeList,WorkCenter workCenter, String month){ //【制造费用】=科目费用中除【辅助人员材料费用】外各作业中心的所有费用的总和 BigDecimal productCost = BigDecimal.ZERO; - List subjectFeeList = subjectFeeService.list(Wrappers.lambdaQuery() - .eq(SubjectFeeEntity::getMonth,month) - .ne(SubjectFeeEntity::getSubjectName,"辅助人员材料费用")); + if(CollectionUtils.isNotEmpty(subjectFeeList)){ List subjectFeeIdList = subjectFeeList.stream().map(BaseEntity::getId).collect(Collectors.toList()); List subjectFeeDetailList = subjectFeeDetailService.list(Wrappers.lambdaQuery() diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/SubjectFeeServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/SubjectFeeServiceImpl.java index 0583b8f2..636ea36f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/SubjectFeeServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/SubjectFeeServiceImpl.java @@ -93,7 +93,7 @@ public class SubjectFeeServiceImpl extends BaseServiceImpl detailList = subjectFeeDetailService.list(Wrappers.lambdaQuery() .eq(SubjectFeeDetailEntity::getParentId,subjectFee.getId()) - .eq(SubjectFeeDetailEntity::getMonth,subjectFee.getMonth())); + .eq(SubjectFeeDetailEntity::getMonth,subjectFee.getMonth()).orderByAsc(SubjectFeeDetailEntity::getWorkCenterCode)); if(CollectionUtils.isNotEmpty(detailList)){ double totalFee = 0.0; boolean isRate = false;