fix(成本分析): 制作成本添加额外字段用于展示油漆重量和其他工序的工时
This commit is contained in:
parent
51a55f647c
commit
6fef709dad
|
|
@ -74,6 +74,11 @@ public class EBomCostCacheDTO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private BigDecimal paintCost = BigDecimal.ZERO;
|
private BigDecimal paintCost = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 油漆重量
|
||||||
|
*/
|
||||||
|
private BigDecimal paintWeight = BigDecimal.ONE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 制作成本
|
* 制作成本
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -17,4 +17,9 @@ public class ProductionCostDTO implements Serializable {
|
||||||
* 成本
|
* 成本
|
||||||
*/
|
*/
|
||||||
private BigDecimal cost = BigDecimal.ZERO;
|
private BigDecimal cost = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工时
|
||||||
|
*/
|
||||||
|
private BigDecimal workHours = BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,7 @@ public class NameCostInfoVO implements Serializable {
|
||||||
|
|
||||||
@ApiModelProperty("占比")
|
@ApiModelProperty("占比")
|
||||||
private String ratio;
|
private String ratio;
|
||||||
|
|
||||||
|
@ApiModelProperty("额外信息")
|
||||||
|
private BigDecimal additional;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,7 @@ public class BomCostCalculateService {
|
||||||
cdto.setAuxiliaryDepartmentLaborCost(cdto.getAuxiliaryDepartmentLaborCost().add(c.getAuxiliaryDepartmentLaborCost().multiply(dto1.getNum())));
|
cdto.setAuxiliaryDepartmentLaborCost(cdto.getAuxiliaryDepartmentLaborCost().add(c.getAuxiliaryDepartmentLaborCost().multiply(dto1.getNum())));
|
||||||
cdto.setAuxiliaryDepartmentExpenses(cdto.getAuxiliaryDepartmentExpenses().add(c.getAuxiliaryDepartmentExpenses().multiply(dto1.getNum())));
|
cdto.setAuxiliaryDepartmentExpenses(cdto.getAuxiliaryDepartmentExpenses().add(c.getAuxiliaryDepartmentExpenses().multiply(dto1.getNum())));
|
||||||
cdto.setPaintCost(cdto.getPaintCost().add(c.getPaintCost().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())) {
|
if (CollectionUtil.isNotEmpty(c.getProductionCosts())) {
|
||||||
c.getProductionCosts().forEach(pc -> {
|
c.getProductionCosts().forEach(pc -> {
|
||||||
ProductionCostDTO pdto = cdto.getProductionCosts().parallelStream()
|
ProductionCostDTO pdto = cdto.getProductionCosts().parallelStream()
|
||||||
|
|
@ -164,6 +165,7 @@ public class BomCostCalculateService {
|
||||||
cdto.getProductionCosts().add(pdto);
|
cdto.getProductionCosts().add(pdto);
|
||||||
}
|
}
|
||||||
pdto.setCost(pdto.getCost().add(pc.getCost().multiply(dto1.getNum())));
|
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)
|
dto.setCost(hourlyWages.add(benefit).add(auxiliaryMaterialsAndConsumables).add(feeEquipmentDepreciation)
|
||||||
.add(feeWorkshopLaborCost).add(feeWorkshopOffice).add(auxiliaryDepartmentLaborCosts).add(assistantFee)
|
.add(feeWorkshopLaborCost).add(feeWorkshopOffice).add(auxiliaryDepartmentLaborCosts).add(assistantFee)
|
||||||
.multiply(gs));
|
.multiply(gs));
|
||||||
|
dto.setWorkHours(gs);
|
||||||
productionCosts.add(dto);
|
productionCosts.add(dto);
|
||||||
if (dto.getCost().compareTo(BigDecimal.ZERO) > 0) {
|
if (dto.getCost().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
log.debug(StrUtil.format(
|
log.debug(StrUtil.format(
|
||||||
|
|
|
||||||
|
|
@ -486,12 +486,14 @@ public class ProductCostAnalysisService {
|
||||||
paintNameCostInfoVO.setName("油漆费用");
|
paintNameCostInfoVO.setName("油漆费用");
|
||||||
paintNameCostInfoVO.setCost(cost.getPaintCost());
|
paintNameCostInfoVO.setCost(cost.getPaintCost());
|
||||||
paintNameCostInfoVO.setRatio(calculateRatio(cost.getPaintCost(), manufactureCostTotal));
|
paintNameCostInfoVO.setRatio(calculateRatio(cost.getPaintCost(), manufactureCostTotal));
|
||||||
|
paintNameCostInfoVO.setAdditional(cost.getPaintWeight());
|
||||||
nameCostInfoVOS.add(paintNameCostInfoVO);
|
nameCostInfoVOS.add(paintNameCostInfoVO);
|
||||||
cost.getProductionCosts().forEach(pc -> {
|
cost.getProductionCosts().forEach(pc -> {
|
||||||
nameCostInfoVOS.add(new NameCostInfoVO()
|
nameCostInfoVOS.add(new NameCostInfoVO()
|
||||||
.setName(pc.getName())
|
.setName(pc.getName())
|
||||||
.setCost(pc.getCost())
|
.setCost(pc.getCost())
|
||||||
.setRatio(calculateRatio(pc.getCost(), manufactureCostTotal))
|
.setRatio(calculateRatio(pc.getCost(), manufactureCostTotal))
|
||||||
|
.setAdditional(pc.getWorkHours())
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
manufactureCostVO.setTotalCost(manufactureCostTotal);
|
manufactureCostVO.setTotalCost(manufactureCostTotal);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue