Răsfoiți Sursa

质量问题报表问题修改

wangliang 1 an în urmă
părinte
comite
b84154af22

+ 7 - 10
sop-business/src/main/java/com/qmth/sop/business/mapper/QualityAnalyseMapper.java

@@ -7,8 +7,6 @@ import com.qmth.sop.business.bean.dto.DataPermissionDto;
 import com.qmth.sop.business.bean.result.TBQualityProblemApplyResult;
 import com.qmth.sop.business.entity.TBQualityProblemApply;
 import com.qmth.sop.business.entity.TBService;
-import com.qmth.sop.common.enums.InfluenceDegreeEnum;
-import com.qmth.sop.common.enums.QualityProblemReasonEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,22 +17,21 @@ import java.util.Map;
  * </p>
  *
  * @author dhshu
- *
  */
 public interface QualityAnalyseMapper extends BaseMapper<TBQualityProblemApply> {
 
 
-    IPage<TBQualityProblemApplyResult> detail(Page<Object> objectPage, @Param("serviceUnitId") Long serviceUnitId, @Param("degree") InfluenceDegreeEnum degree);
+    IPage<TBQualityProblemApplyResult> detail(Page<Object> objectPage, @Param("serviceUnitId") Long serviceUnitId, @Param("degree") String degree);
 
-    List<Map<String, Object>> radar(@Param("serviceUnitId")Long serviceUnitId,@Param("supplierId") Long supplierId);
+    List<Map<String, Object>> radar(@Param("serviceUnitId") Long serviceUnitId, @Param("supplierId") Long supplierId);
 
-    List<TBService> list(@Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("dpr") DataPermissionDto dpr);
+    List<TBService> list(@Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("dpr") DataPermissionDto dpr);
 
-    Double progress( @Param("serviceUnitId")Long serviceUnitId);
+    Double progress(@Param("serviceUnitId") Long serviceUnitId);
 
-    List<Map<String, Object>> influence( @Param("serviceUnitId")Long serviceUnitId);
+    List<Map<String, Object>> influence(@Param("serviceUnitId") Long serviceUnitId);
 
-    List<Map<String, Object>> pie(@Param("serviceUnitId")Long serviceUnitId,@Param("supplierId") Long supplierId);
+    List<Map<String, Object>> pie(@Param("serviceUnitId") Long serviceUnitId, @Param("supplierId") Long supplierId);
 
-    IPage<TBQualityProblemApplyResult> influenceDetail(Page<Object> tPage,@Param("serviceUnitId") Long serviceUnitId,@Param("supplierId") Long supplierId,@Param("region_id") Long region_id,@Param("influenceDegree") InfluenceDegreeEnum influenceDegree,@Param("reason") QualityProblemReasonEnum reason);
+    IPage<TBQualityProblemApplyResult> influenceDetail(Page<Object> tPage, @Param("serviceUnitId") Long serviceUnitId, @Param("supplierId") Long supplierId, @Param("region_id") Long region_id, @Param("influenceDegree") String influenceDegree, @Param("reason") String reason);
 }

+ 29 - 26
sop-business/src/main/java/com/qmth/sop/business/service/impl/QualityAnalyseServiceImpl.java

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

+ 1 - 1
sop-business/src/main/resources/mapper/QualityAnalyseMapper.xml

@@ -126,7 +126,7 @@
                 and a.service_id = #{serviceUnitId}
             </if>
             <if test="degree != null and degree != ''">
-                and s.influenceDegree = #{degree}
+                and a.Influence_degree = #{degree}
             </if>
         </where>
         ORDER BY a.create_time DESC

+ 0 - 2
sop-common/src/main/java/com/qmth/sop/common/enums/QualityAnalyseGroupEnum.java

@@ -8,8 +8,6 @@ package com.qmth.sop.common.enums;
  */
 public enum QualityAnalyseGroupEnum {
 
-
-
     REASON_REGION("归因大区"),
 
     REASON_SUPPLIER("归因供应商"),