diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/EBomCostCacheDTO.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/EBomCostCacheDTO.java index d7062d7a..d251607b 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/EBomCostCacheDTO.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/EBomCostCacheDTO.java @@ -74,6 +74,11 @@ public class EBomCostCacheDTO implements Serializable { */ private BigDecimal paintCost = BigDecimal.ZERO; + /** + * 油漆重量 + */ + private BigDecimal paintWeight = BigDecimal.ONE; + /** * 制作成本 */ diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/ProductionCostDTO.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/ProductionCostDTO.java index 613cd264..26bf05aa 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/ProductionCostDTO.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/ProductionCostDTO.java @@ -17,4 +17,9 @@ public class ProductionCostDTO implements Serializable { * 成本 */ private BigDecimal cost = BigDecimal.ZERO; + + /** + * 工时 + */ + private BigDecimal workHours = BigDecimal.ZERO; } diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/vo/NameCostInfoVO.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/vo/NameCostInfoVO.java index 4232ccc9..4af38797 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/vo/NameCostInfoVO.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/vo/NameCostInfoVO.java @@ -30,4 +30,7 @@ public class NameCostInfoVO implements Serializable { @ApiModelProperty("占比") private String ratio; + + @ApiModelProperty("额外信息") + private BigDecimal additional; } diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java index c6f80454..8ac049d1 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java @@ -152,6 +152,7 @@ public class BomCostCalculateService { cdto.setAuxiliaryDepartmentLaborCost(cdto.getAuxiliaryDepartmentLaborCost().add(c.getAuxiliaryDepartmentLaborCost().multiply(dto1.getNum()))); cdto.setAuxiliaryDepartmentExpenses(cdto.getAuxiliaryDepartmentExpenses().add(c.getAuxiliaryDepartmentExpenses().multiply(dto1.getNum()))); cdto.setPaintCost(cdto.getPaintCost().add(c.getPaintCost().multiply(dto1.getNum()))); + cdto.setPaintWeight(cdto.getPaintWeight().add(dto1.getNum())); if (CollectionUtil.isNotEmpty(c.getProductionCosts())) { c.getProductionCosts().forEach(pc -> { ProductionCostDTO pdto = cdto.getProductionCosts().parallelStream() @@ -164,6 +165,7 @@ public class BomCostCalculateService { cdto.getProductionCosts().add(pdto); } pdto.setCost(pdto.getCost().add(pc.getCost().multiply(dto1.getNum()))); + pdto.setWorkHours(pdto.getWorkHours().add(pc.getWorkHours().multiply(dto1.getNum()))); }); } } @@ -207,6 +209,7 @@ public class BomCostCalculateService { dto.setCost(hourlyWages.add(benefit).add(auxiliaryMaterialsAndConsumables).add(feeEquipmentDepreciation) .add(feeWorkshopLaborCost).add(feeWorkshopOffice).add(auxiliaryDepartmentLaborCosts).add(assistantFee) .multiply(gs)); + dto.setWorkHours(gs); productionCosts.add(dto); if (dto.getCost().compareTo(BigDecimal.ZERO) > 0) { log.debug(StrUtil.format( diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProductCostAnalysisService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProductCostAnalysisService.java index a79cf56d..df21b2dc 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProductCostAnalysisService.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProductCostAnalysisService.java @@ -486,12 +486,14 @@ public class ProductCostAnalysisService { paintNameCostInfoVO.setName("油漆费用"); paintNameCostInfoVO.setCost(cost.getPaintCost()); paintNameCostInfoVO.setRatio(calculateRatio(cost.getPaintCost(), manufactureCostTotal)); + paintNameCostInfoVO.setAdditional(cost.getPaintWeight()); nameCostInfoVOS.add(paintNameCostInfoVO); cost.getProductionCosts().forEach(pc -> { nameCostInfoVOS.add(new NameCostInfoVO() .setName(pc.getName()) .setCost(pc.getCost()) .setRatio(calculateRatio(pc.getCost(), manufactureCostTotal)) + .setAdditional(pc.getWorkHours()) ); }); manufactureCostVO.setTotalCost(manufactureCostTotal);