|
|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|
|