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

master
薛宏祥 1 year ago
parent 2e2752ab96
commit 8a4e73a5b5
  1. 29
      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<WorkOrderMapper, WorkO
Long count = this.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getRepairPerson, user.getId()));
maintenancePersonnel.setCount(count);
List<WorkOrder> 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<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++;
}
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);
}

Loading…
Cancel
Save