|
|
|
@ -490,19 +490,30 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
|
|
|
|
|
|
|
|
|
|
dto.setTotalWorkTime(sonMesReport.getTotalWorkTime().toString());
|
|
|
|
|
// 标准人均效率 实际产量/标准用人/标准工时
|
|
|
|
|
BigDecimal manAvgStandard = new BigDecimal(realQua)
|
|
|
|
|
.divide(new BigDecimal(dto.getManStandard()),4,BigDecimal.ROUND_HALF_UP)
|
|
|
|
|
.divide(workTimeStandard,2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
dto.setManAvgStandard(manAvgStandard.toString());
|
|
|
|
|
BigDecimal manAvgStandard = null;
|
|
|
|
|
if(StringUtils.isNotBlank(dto.getManStandard())){
|
|
|
|
|
manAvgStandard = new BigDecimal(realQua)
|
|
|
|
|
.divide(new BigDecimal(dto.getManStandard()),4,BigDecimal.ROUND_HALF_UP)
|
|
|
|
|
.divide(workTimeStandard,2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
dto.setManAvgStandard(manAvgStandard.toString());
|
|
|
|
|
}else{
|
|
|
|
|
dto.setManAvgStandard("0");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 实际人均效率 实际产量/总工时
|
|
|
|
|
BigDecimal manAvgActual = new BigDecimal(realQua)
|
|
|
|
|
.divide(sonMesReport.getTotalWorkTime(),2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
dto.setManAvgActual(manAvgActual.toString());
|
|
|
|
|
// 人均效率达成率 实际人均效率/标准人均效率
|
|
|
|
|
BigDecimal manAvgDo = manAvgActual
|
|
|
|
|
.multiply(new BigDecimal("100.00"))
|
|
|
|
|
.divide(manAvgStandard,2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
dto.setManAvgDo(manAvgDo.toString()+"%");
|
|
|
|
|
if(manAvgStandard!=null){
|
|
|
|
|
BigDecimal manAvgDo = manAvgActual
|
|
|
|
|
.multiply(new BigDecimal("100.00"))
|
|
|
|
|
.divide(manAvgStandard,2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
dto.setManAvgDo(manAvgDo.toString()+"%");
|
|
|
|
|
}else{
|
|
|
|
|
dto.setManAvgDo("0%");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|