生产日报表增加标准产能

master
杨万里 3 weeks ago
parent 1876035b37
commit 22f8e1ab2a

@ -65,7 +65,8 @@ public class MesDailyReportVo extends BaseEntity {
// 标准效率
@Excel(name = "产线标准效率(PC/H)")
private BigDecimal efficiency;
@Excel(name = "标准产能")
private BigDecimal standProduce;
private String teamCode;
private String teamDesc;
@ -122,6 +123,14 @@ public class MesDailyReportVo extends BaseEntity {
@Excel(name = "单箱电耗")
private BigDecimal singleKw;
public BigDecimal getStandProduce() {
return standProduce;
}
public void setStandProduce(BigDecimal standProduce) {
this.standProduce = standProduce;
}
public String getUseManRemark() {
return useManRemark;
}

@ -482,6 +482,10 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
//实际用人
dto.setUseMan(parentMesReport.getUseMan());
totalWorkTime=parentMesReport.getTotalWorkTime();
BigDecimal standProduce = new BigDecimal(realQua)
.divide(workTime,2,BigDecimal.ROUND_HALF_UP);
dto.setStandProduce(standProduce);
}else if ("2".equals(parentMesReport.getCegci())){
sonMesReport =mesReportWorkMapper.getSumQuantity(quantityDto);
realQua = parentMesReport.getQuantityFeedbackSum();
@ -493,6 +497,10 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan());
dto.setUseMan(useMan);
totalWorkTime = sonMesReport.getTotalWorkTime().add(parentMesReport.getTotalWorkTime());
BigDecimal standProduce = new BigDecimal(realQua)
.divide(workTime,2,BigDecimal.ROUND_HALF_UP);
dto.setStandProduce(standProduce);
}else if ("3".equals(parentMesReport.getCegci())){
sonMesReport =mesReportWorkMapper.getSumQuantity(quantityDto);
quantityDto.setWorkorderCode(sonMesReport.getWorkorderCode());
@ -507,6 +515,11 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan()).add(threeMesReport.getUseMan());
dto.setUseMan(useMan);
totalWorkTime = sonMesReport.getTotalWorkTime().add(parentMesReport.getTotalWorkTime()).add(threeMesReport.getTotalWorkTime());
//标准产能 实际产量/实际工时
BigDecimal standProduce = new BigDecimal(realQua)
.divide(workTime,2,BigDecimal.ROUND_HALF_UP);
dto.setStandProduce(standProduce);
}
dto.setTotalWorkTime(totalWorkTime.toString());
// 订单完成率 实际产量/计划产量
@ -553,6 +566,8 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
}else{
dto.setManAvgDo("0%");
}
}
//计算电耗
@ -579,109 +594,6 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
}
// QuantityDto sonMesReport = mesReportWorkMapper.getSumQuantity(quantityDto);
// if(sonMesReport == null){//单层工单的情况
// sonMesReport = mesReportWorkMapper.getSumQuantityOne(quantityDto);
// }
//三层订单
// QuantityDto threeMesReport =new QuantityDto();
// if (sonMesReport != null ){
// QuantityDto quantityDtothree = new QuantityDto();
// quantityDtothree.setWorkorderCode(sonMesReport.getWorkorderCode());
// quantityDtothree.setMachineCode(machineCode);
// threeMesReport = mesReportWorkMapper.getSumQuantity(quantityDtothree);
// }
//
//
// if (sonMesReport != null) {
// sumQua = sonMesReport.getQuantityFeedbackSum();
// realQua = parentMesReport.getQuantityFeedbackSum();
// workTime = sonMesReport.getWorkTime();
// useMan = BigDecimal.ZERO;
// if (parentMesReport.getUseMan() != null ){
// useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan());
// }
// if (sonMesReport.getUseMan() != null ){
// useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan());
// }
// // 若 threeMesReport 不为空,则叠加其 useMan 值
// if (threeMesReport != null && threeMesReport.getUseMan() != null) {
// useMan = useMan.add(threeMesReport.getUseMan());
// }
// dto.setQuantityAct(String.valueOf(sumQua));
// dto.setQuantityFeedback(String.valueOf(realQua));
// dto.setWorkTime(workTime);
// //实际用人
// dto.setUseMan(useMan);
// // 计算规格
// //dto.setSpec(sumQua / realQua);
// // 订单完成率 实际产量/计划产量
// BigDecimal completeRate = new BigDecimal(realQua)
// .multiply(new BigDecimal("100.00"))
// .divide(new BigDecimal(dto.getQuantitySplit()),2,BigDecimal.ROUND_HALF_UP);
// dto.setCompleteRate(completeRate.toString()+"%");
// //标准工时=母单数量*规格/产线标准效率
// BigDecimal workTimeStandard = BigDecimal.ZERO;
// if(dto.getEfficiency() != null&&dto.getEfficiency().compareTo(BigDecimal.ZERO)!=0){
// workTimeStandard = new BigDecimal(realQua)
// .multiply(new BigDecimal(dto.getSpec()))
// .divide(dto.getEfficiency(),2,BigDecimal.ROUND_HALF_UP);
// dto.setWorkTimeStandard(workTimeStandard.toString());
// }else{
// dto.setWorkTimeStandard("-");
// }
//
// // 产线效率 标准工时/实际工时
// BigDecimal productivity = workTimeStandard
// .multiply(new BigDecimal("100.00"))
// .divide(workTime,2,BigDecimal.ROUND_HALF_UP);
// dto.setProductivity(productivity.toString()+"%");
// // 总工时 实际用人*实际工时
//
// BigDecimal totalWorkTime = BigDecimal.ZERO;
// //人数*工时
//
// if (parentMesReport.getTotalWorkTime() != null){
// totalWorkTime = totalWorkTime.add(parentMesReport.getTotalWorkTime());
// }
//
// if (sonMesReport.getTotalWorkTime() != null){
// totalWorkTime = totalWorkTime.add(sonMesReport.getTotalWorkTime());
// }
//
// if (threeMesReport != null && threeMesReport.getTotalWorkTime() != null ){
// totalWorkTime = totalWorkTime.add(threeMesReport.getTotalWorkTime());
// }
//
// dto.setTotalWorkTime(totalWorkTime.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(totalWorkTime,2,BigDecimal.ROUND_HALF_UP);
// dto.setManAvgActual(manAvgActual.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%");
// }
//
// }
}
return dtos;

Loading…
Cancel
Save