From 22f8e1ab2ade5bfb73d6886a6e514140faffc42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=87=E9=87=8C?= <1726150332@qq.com> Date: Thu, 25 Dec 2025 10:49:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E6=97=A5=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=87=E5=87=86=E4=BA=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/mes/domain/vo/MesDailyReportVo.java | 11 +- .../impl/MesReportWorkServiceImpl.java | 118 +++--------------- 2 files changed, 25 insertions(+), 104 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java index 1e7758a54..08e1867ba 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/vo/MesDailyReportVo.java @@ -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; } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java index a11976519..996469fb8 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java @@ -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;