From 8a4e73a5b5421ef3aaa8a77d8a9cea07a99ec925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Wed, 18 Dec 2024 11:06:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E4=BA=BA=E5=91=98=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8D=95=E6=95=B0=E5=92=8C=E6=BB=A1=E6=84=8F=E5=BA=A6?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderServiceImpl.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java index aaa13a5..389eaab 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java @@ -37,10 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; import static org.springblade.common.enums.DictBizEnum.GOODS_TYPE; @@ -379,26 +376,36 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class) - .eq(WorkOrder::getRepairPerson, user.getId()) - .eq(WorkOrder::getApproveResult, 1)); + .eq(WorkOrder::getRepairPerson, user.getId())); int num = workOrderList.size() * 3; if (num == 0) { maintenancePersonnel.setRatio(null); } else { int flag = 0; for (WorkOrder workOrder : workOrderList) { - if (workOrder.getIsOkSecure() == 1) { + Optional isOkSecure = Optional.ofNullable(workOrder.getIsOkSecure()); + Optional isOkValidity = Optional.ofNullable(workOrder.getIsOkValidity()); + Optional isOkQuality = Optional.ofNullable(workOrder.getIsOkQuality()); + if (isOkQuality.isEmpty() && isOkValidity.isEmpty() && isOkSecure.isEmpty()) { + num = num - 3; + continue; + } + if (isOkSecure.isPresent() && isOkSecure.get() == 1) { flag++; } - if (workOrder.getIsOkValidity() == 1) { + if (isOkValidity.isPresent() && isOkValidity.get() == 1) { flag++; } - if (workOrder.getIsOkQuality() == 1) { + if (isOkQuality.isPresent() && isOkQuality.get() == 1) { flag++; } } - int ratio = flag * 100 / num; - maintenancePersonnel.setRatio(ratio); + if (num == 0) { + maintenancePersonnel.setRatio(null); + } else { + int ratio = flag * 100 / num; + maintenancePersonnel.setRatio(ratio); + } } list.add(maintenancePersonnel); }