|
@@ -21,6 +21,7 @@ import javax.annotation.Resource;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@@ -28,11 +29,12 @@ public class QualityAnalyseServiceImpl extends ServiceImpl<QualityAnalyseMapper,
|
|
|
|
|
|
@Resource
|
|
|
private SysUserService sysUserService;
|
|
|
+
|
|
|
@Override
|
|
|
- public List<TBService> list(Long startTime,Long endTime) {
|
|
|
+ public List<TBService> list(Long startTime, Long endTime) {
|
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
- return this.baseMapper.list(startTime,endTime,dpr);
|
|
|
+ return this.baseMapper.list(startTime, endTime, dpr);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -46,27 +48,27 @@ public class QualityAnalyseServiceImpl extends ServiceImpl<QualityAnalyseMapper,
|
|
|
List<Map<String, Object>> influence = this.baseMapper.influence(serviceUnitId);
|
|
|
Map<String, Map<String, Object>> result = new HashMap<>();
|
|
|
if (group.equals(QualityAnalyseGroupEnum.INFLUENCE_REGION)) {
|
|
|
- influence.stream().filter(map->map.get("region_name")!=null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
+ influence.stream().filter(map -> map.get("region_name") != null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("Influence_degree")!=null).collect(Collectors.groupingBy(map1 -> map1.get("Influence_degree"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
+ v.stream().filter(map1 -> map1.get("Influence_degree") != null).collect(Collectors.groupingBy(map1 -> map1.get("Influence_degree"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
result.put(k.toString(), map);
|
|
|
});
|
|
|
} else if (group.equals(QualityAnalyseGroupEnum.INFLUENCE_SUPPLIER)) {
|
|
|
- influence.stream().filter(map->map.get("Influence_degree")!=null).collect(Collectors.groupingBy(map -> map.get("Influence_degree"))).forEach((k, v) -> {
|
|
|
+ influence.stream().filter(map -> map.get("Influence_degree") != null).collect(Collectors.groupingBy(map -> map.get("Influence_degree"))).forEach((k, v) -> {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("supplier")!=null).collect(Collectors.groupingBy(map1 -> map1.get("supplier"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
+ v.stream().filter(map1 -> map1.get("supplier") != null).collect(Collectors.groupingBy(map1 -> map1.get("supplier"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
result.put(k.toString(), map);
|
|
|
});
|
|
|
} else if (group.equals(QualityAnalyseGroupEnum.REASON_REGION)) {
|
|
|
- influence.stream().filter(map->map.get("region_name")!=null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
+ influence.stream().filter(map -> map.get("region_name") != null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("reason")!=null).collect(Collectors.groupingBy(map1 -> map1.get("reason"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
+ v.stream().filter(map1 -> map1.get("reason") != null).collect(Collectors.groupingBy(map1 -> map1.get("reason"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
result.put(k.toString(), map);
|
|
|
});
|
|
|
} else if (group.equals(QualityAnalyseGroupEnum.REASON_SUPPLIER)) {
|
|
|
- influence.stream().filter(map->map.get("reason")!=null).collect(Collectors.groupingBy(map -> map.get("reason"))).forEach((k, v) -> {
|
|
|
+ influence.stream().filter(map -> map.get("reason") != null).collect(Collectors.groupingBy(map -> map.get("reason"))).forEach((k, v) -> {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("supplier")!=null).collect(Collectors.groupingBy(map1 -> map1.get("supplier"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
+ v.stream().filter(map1 -> map1.get("supplier") != null).collect(Collectors.groupingBy(map1 -> map1.get("supplier"))).forEach((k1, v1) -> map.put(k1.toString(), v1.size()));
|
|
|
result.put(k.toString(), map);
|
|
|
});
|
|
|
}
|
|
@@ -78,48 +80,49 @@ public class QualityAnalyseServiceImpl extends ServiceImpl<QualityAnalyseMapper,
|
|
|
public Map<String, Object> pie(Long serviceUnitId) {
|
|
|
List<Map<String, Object>> pie = this.baseMapper.pie(serviceUnitId, null);
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
- pie.stream().filter(map1->map1.get("Influence_degree")!=null).collect(Collectors.groupingBy(map -> map.get("Influence_degree"))).forEach((k, v) -> result.put(k.toString(),v.stream().filter(map1->map1.get("count")!=null).mapToLong(map1-> (long) map1.get("count")).sum()));
|
|
|
+ pie.stream().filter(map1 -> map1.get("Influence_degree") != null).collect(Collectors.groupingBy(map -> map.get("Influence_degree"))).forEach((k, v) -> result.put(k.toString(), v.stream().filter(map1 -> map1.get("count") != null).mapToLong(map1 -> (long) map1.get("count")).sum()));
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Map<String, Map<String, Object>> radar(Long serviceUnitId, QualityAnalyseGroupEnum group) {
|
|
|
-
|
|
|
-
|
|
|
List<Map<String, Object>> radar = this.baseMapper.radar(serviceUnitId, null);
|
|
|
Map<String, Map<String, Object>> result = new HashMap<>();
|
|
|
- radar.stream().filter(map1->map1.get("reason")!=null).collect(Collectors.groupingBy(map -> map.get("reason"))).forEach((k, v) -> {
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put(k.toString(),v.stream().filter(map1->map1.get("count")!=null).mapToLong(map1-> (long) map1.get("count")).sum());
|
|
|
+ radar.stream().filter(map1 -> map1.get("reason") != null).collect(Collectors.groupingBy(map -> map.get("reason"))).forEach((k, v) -> {
|
|
|
+ Map<String, Object> countMap = new HashMap<>(), map = new HashMap<>();
|
|
|
+ countMap.put(k.toString(), v.stream().filter(map1 -> map1.get("count") != null).mapToLong(map1 -> (long) map1.get("count")).sum());
|
|
|
+ if (result.containsKey("all")) {
|
|
|
+ map = result.get("all");
|
|
|
+ map.put(k.toString(), countMap.get(k.toString()));
|
|
|
+ } else {
|
|
|
+ map.put(k.toString(), countMap.get(k.toString()));
|
|
|
+ }
|
|
|
result.put("all", map);
|
|
|
});
|
|
|
|
|
|
-
|
|
|
if (group.equals(QualityAnalyseGroupEnum.REASON_REGION)) {
|
|
|
-
|
|
|
- radar.stream().filter(map1->map1.get("region_name")!=null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
+ radar.stream().filter(map1 -> map1.get("region_name") != null).collect(Collectors.groupingBy(map -> map.get("region_name"))).forEach((k, v) -> {
|
|
|
Map<String, Object> z = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("reason")!=null).collect(Collectors.groupingBy(map2 -> map2.get("reason"))).forEach((k1, v1) -> z.put(k1.toString(),v1.stream().filter(map1->map1.get("count")!=null).mapToLong(map1-> (long) map1.get("count")).sum()));
|
|
|
+ v.stream().filter(map1 -> map1.get("reason") != null).collect(Collectors.groupingBy(map2 -> map2.get("reason"))).forEach((k1, v1) -> z.put(k1.toString(), v1.stream().filter(map1 -> map1.get("count") != null).mapToLong(map1 -> (long) map1.get("count")).sum()));
|
|
|
result.put(k.toString(), z);
|
|
|
});
|
|
|
} else if (group.equals(QualityAnalyseGroupEnum.REASON_SUPPLIER)) {
|
|
|
- radar.stream().filter(map1->map1.get("supplier")!=null).collect(Collectors.groupingBy(map -> map.get("supplier"))).forEach((k, v) -> {
|
|
|
+ radar.stream().filter(map1 -> map1.get("supplier") != null).collect(Collectors.groupingBy(map -> map.get("supplier"))).forEach((k, v) -> {
|
|
|
Map<String, Object> z = new HashMap<>();
|
|
|
- v.stream().filter(map1->map1.get("reason")!=null).collect(Collectors.groupingBy(map2 -> map2.get("reason"))).forEach((k1, v1) -> z.put(k1.toString(),v1.stream().filter(map1->map1.get("count")!=null).mapToLong(map1-> (long) map1.get("count")).sum()));
|
|
|
+ v.stream().filter(map1 -> map1.get("reason") != null).collect(Collectors.groupingBy(map2 -> map2.get("reason"))).forEach((k1, v1) -> z.put(k1.toString(), v1.stream().filter(map1 -> map1.get("count") != null).mapToLong(map1 -> (long) map1.get("count")).sum()));
|
|
|
result.put(k.toString(), z);
|
|
|
});
|
|
|
}
|
|
|
return result;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<TBQualityProblemApplyResult> detail(Page<Object> objectPage, Long serviceUnitId,InfluenceDegreeEnum degree) {
|
|
|
- return this.baseMapper.detail(objectPage, serviceUnitId, degree);
|
|
|
+ public IPage<TBQualityProblemApplyResult> detail(Page<Object> objectPage, Long serviceUnitId, InfluenceDegreeEnum degree) {
|
|
|
+ return this.baseMapper.detail(objectPage, serviceUnitId, Objects.nonNull(degree) ? degree.name() : null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<TBQualityProblemApplyResult> influence(Page<Object> tPage, Long serviceUnitId, Long supplierId, Long region_id, InfluenceDegreeEnum influenceDegree, QualityProblemReasonEnum reason) {
|
|
|
- return this.baseMapper.influenceDetail(tPage, serviceUnitId, supplierId,region_id, influenceDegree, reason);
|
|
|
+ return this.baseMapper.influenceDetail(tPage, serviceUnitId, supplierId, region_id, Objects.nonNull(influenceDegree) ? influenceDegree.name() : null, Objects.nonNull(reason) ? reason.name() : null);
|
|
|
}
|
|
|
}
|