|
@@ -20,7 +20,7 @@ import cn.com.ty.lift.business.evaluation.dao.entity.Evaluation;
|
|
|
import cn.com.ty.lift.business.evaluation.service.EvaluationService;
|
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
|
import cn.hutool.core.collection.IterUtil;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -36,6 +36,7 @@ import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -398,9 +399,7 @@ public class EmergencyRepairController {
|
|
|
@PostMapping("fault/list")
|
|
|
public RestResponse faultList(@RequestBody RepairRequest request){
|
|
|
Integer liftCategory = request.getLiftCategory();
|
|
|
- if(null == liftCategory || liftCategory <= 0){
|
|
|
- return RestResponse.success(liftFaultService.list());
|
|
|
- }
|
|
|
+ Judge.id(liftCategory);
|
|
|
List<LiftFault> lists = liftFaultService.listByLiftCategory(liftCategory);
|
|
|
return RestResponse.success(lists);
|
|
|
}
|
|
@@ -413,38 +412,20 @@ public class EmergencyRepairController {
|
|
|
@PostMapping("fault/tree")
|
|
|
public RestResponse faultTree(@RequestBody RepairRequest request) {
|
|
|
Integer liftCategory = request.getLiftCategory();
|
|
|
- if(null == liftCategory || liftCategory <= 0){
|
|
|
- List<LiftFault> liftFaults = liftFaultService.list();
|
|
|
- return assemble(liftFaults);
|
|
|
- }else{
|
|
|
- List<LiftFault> liftFaults = liftFaultService.listByLiftCategory(liftCategory);
|
|
|
- return assemble(liftFaults);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据故障列表组装tree
|
|
|
- * @param liftFaults 电梯故障list
|
|
|
- * @return RestResponse
|
|
|
- */
|
|
|
- private RestResponse assemble(List<LiftFault> liftFaults){
|
|
|
+ Judge.id(liftCategory);
|
|
|
+ List<LiftFault> liftFaults = liftFaultService.listByLiftCategory(liftCategory);
|
|
|
Judge.notNull(liftFaults,Values.Er.missingFault);
|
|
|
- List<String> categories = liftFaults.stream().map(LiftFault::getFaultCategory).distinct().collect(Collectors.toList());
|
|
|
- Judge.notNull(categories,Values.Er.missingFault);
|
|
|
+ //根据故障列表组装tree
|
|
|
+ //先按照faultCategory,groupby
|
|
|
+ Map<String, List<LiftFault>> categories = liftFaults.stream().collect(Collectors.groupingBy(LiftFault::getFaultCategory));
|
|
|
List<LiftFaultCategory> liftFaultCategories = new ArrayList<>();
|
|
|
- categories.forEach(category -> {
|
|
|
- List<String> types = liftFaults.stream().filter(liftFault -> (
|
|
|
- StrUtil.equals(category,liftFault.getFaultCategory())
|
|
|
- )).map(LiftFault::getFaultType).distinct().collect(Collectors.toList());
|
|
|
-
|
|
|
+ categories.forEach((category,faults) ->{
|
|
|
+ //在按照faultType ,groupby
|
|
|
+ Map<String, List<LiftFault>> types = faults.stream().collect(Collectors.groupingBy(LiftFault::getFaultType));
|
|
|
List<LiftFaultType> liftFaultTypes = new ArrayList<>();
|
|
|
- if (ObjectUtil.isNotEmpty(types)) {
|
|
|
- types.forEach(type -> {
|
|
|
- List<LiftFault> faults = liftFaults.stream().filter(liftFault -> (
|
|
|
- StrUtil.equals(category, liftFault.getFaultCategory()) &&
|
|
|
- StrUtil.equals(type, liftFault.getFaultType())
|
|
|
- )).distinct().collect(Collectors.toList());
|
|
|
- liftFaultTypes.add(new LiftFaultType(type,faults));
|
|
|
+ if(MapUtil.isNotEmpty(types)){
|
|
|
+ types.forEach((type,faultList) -> {
|
|
|
+ liftFaultTypes.add(new LiftFaultType(type,faultList));
|
|
|
});
|
|
|
}
|
|
|
liftFaultCategories.add(new LiftFaultCategory(category,liftFaultTypes));
|