From 8fea737fb2e5a08a897b6d4ae1e1b30ac121e0b4 Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Mon, 13 Oct 2025 10:28:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E6=97=A5=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=EF=BC=9A=E5=AE=9E=E9=99=85=E4=BA=BA=E5=9D=87=E6=95=88=E7=8E=87?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MesReportWorkServiceImpl.java | 33 ++++++++++++++++--- .../mapper/mes/MesReportWorkMapper.xml | 4 +-- 2 files changed, 30 insertions(+), 7 deletions(-) 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 531fe7dc1..c737274c5 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 @@ -488,10 +488,16 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { sumQua = sonMesReport.getQuantityFeedbackSum(); realQua = parentMesReport.getQuantityFeedbackSum(); workTime = sonMesReport.getWorkTime(); - useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan()); - if(sonMesReport.getUseMan().compareTo(parentMesReport.getUseMan()) == 0){ - useMan=sonMesReport.getUseMan(); + useMan = BigDecimal.ZERO; + if (parentMesReport.getUseMan() != null ){ + useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan()); } + if (sonMesReport.getUseMan() != null ){ + useMan = sonMesReport.getUseMan().add(parentMesReport.getUseMan()); + } +// if(sonMesReport.getUseMan().compareTo(parentMesReport.getUseMan()) == 0){ +// useMan=sonMesReport.getUseMan(); +// } // 若 threeMesReport 不为空,则叠加其 useMan 值 if (threeMesReport != null && threeMesReport.getUseMan() != null) { useMan = useMan.add(threeMesReport.getUseMan()); @@ -527,7 +533,24 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { dto.setProductivity(productivity.toString()+"%"); // 总工时 实际用人*实际工时 - dto.setTotalWorkTime(sonMesReport.getTotalWorkTime().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())){ @@ -541,7 +564,7 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { // 实际人均效率 实际产量/总工时 BigDecimal manAvgActual = new BigDecimal(realQua) - .divide(sonMesReport.getTotalWorkTime(),2,BigDecimal.ROUND_HALF_UP); + .divide(totalWorkTime,2,BigDecimal.ROUND_HALF_UP); dto.setManAvgActual(manAvgActual.toString()); // 人均效率达成率 实际人均效率/标准人均效率 if(manAvgStandard!=null){ diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index e8753b021..1ea00fb2b 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -860,9 +860,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"