维修人员的接单数和满意度统计完善

master
薛宏祥 1 year ago
parent 2e2752ab96
commit 8a4e73a5b5
  1. 25
      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 org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.springblade.common.enums.DictBizEnum.GOODS_TYPE; import static org.springblade.common.enums.DictBizEnum.GOODS_TYPE;
@ -379,27 +376,37 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
Long count = this.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getRepairPerson, user.getId())); Long count = this.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getRepairPerson, user.getId()));
maintenancePersonnel.setCount(count); maintenancePersonnel.setCount(count);
List<WorkOrder> workOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class) List<WorkOrder> workOrderList = this.list(Wrappers.lambdaQuery(WorkOrder.class)
.eq(WorkOrder::getRepairPerson, user.getId()) .eq(WorkOrder::getRepairPerson, user.getId()));
.eq(WorkOrder::getApproveResult, 1));
int num = workOrderList.size() * 3; int num = workOrderList.size() * 3;
if (num == 0) { if (num == 0) {
maintenancePersonnel.setRatio(null); maintenancePersonnel.setRatio(null);
} else { } else {
int flag = 0; int flag = 0;
for (WorkOrder workOrder : workOrderList) { for (WorkOrder workOrder : workOrderList) {
if (workOrder.getIsOkSecure() == 1) { Optional<Integer> isOkSecure = Optional.ofNullable(workOrder.getIsOkSecure());
Optional<Integer> isOkValidity = Optional.ofNullable(workOrder.getIsOkValidity());
Optional<Integer> isOkQuality = Optional.ofNullable(workOrder.getIsOkQuality());
if (isOkQuality.isEmpty() && isOkValidity.isEmpty() && isOkSecure.isEmpty()) {
num = num - 3;
continue;
}
if (isOkSecure.isPresent() && isOkSecure.get() == 1) {
flag++; flag++;
} }
if (workOrder.getIsOkValidity() == 1) { if (isOkValidity.isPresent() && isOkValidity.get() == 1) {
flag++; flag++;
} }
if (workOrder.getIsOkQuality() == 1) { if (isOkQuality.isPresent() && isOkQuality.get() == 1) {
flag++; flag++;
} }
} }
if (num == 0) {
maintenancePersonnel.setRatio(null);
} else {
int ratio = flag * 100 / num; int ratio = flag * 100 / num;
maintenancePersonnel.setRatio(ratio); maintenancePersonnel.setRatio(ratio);
} }
}
list.add(maintenancePersonnel); list.add(maintenancePersonnel);
} }
return list; return list;

Loading…
Cancel
Save