wangliang 8 月之前
父節點
當前提交
b1dfe45ae2
共有 1 個文件被更改,包括 12 次插入9 次删除
  1. 12 9
      sop-business/src/main/resources/mapper/QualityAnalyseReportMapper.xml

+ 12 - 9
sop-business/src/main/resources/mapper/QualityAnalyseReportMapper.xml

@@ -10,10 +10,10 @@
         ROUND(t.influenceDegreeD / sum,2) * 100 as influenceDegreeDRate
         from(select distinct su.real_name as name,tbc.lead_id as areaManagerId,
         count(distinct tbqpa.id) as sum,
-        SUM(CASE WHEN tbqpa.Influence_degree = 'A' THEN 1 ELSE 0 END) as influenceDegreeA,
-        SUM(CASE WHEN tbqpa.Influence_degree = 'B' THEN 1 ELSE 0 END) as influenceDegreeB,
-        SUM(CASE WHEN tbqpa.Influence_degree = 'C' THEN 1 ELSE 0 END) as influenceDegreeC,
-        SUM(CASE WHEN tbqpa.Influence_degree = 'D' THEN 1 ELSE 0 END) as influenceDegreeD
+        SUM(distinct CASE WHEN tbqpa.Influence_degree = 'A' THEN 1 ELSE 0 END) as influenceDegreeA,
+        SUM(distinct CASE WHEN tbqpa.Influence_degree = 'B' THEN 1 ELSE 0 END) as influenceDegreeB,
+        SUM(distinct CASE WHEN tbqpa.Influence_degree = 'C' THEN 1 ELSE 0 END) as influenceDegreeC,
+        SUM(distinct CASE WHEN tbqpa.Influence_degree = 'D' THEN 1 ELSE 0 END) as influenceDegreeD
         from
         t_b_quality_problem_apply tbqpa
         join t_b_service tbs on tbs.id = tbqpa.service_id
@@ -43,10 +43,10 @@
         sum(t.influenceDegreeD) as influenceDegreeD from
         (select distinct su.mobile_number as mobileNumber,
         count(distinct tbqpa.id) as sum,
-        SUM(case when tbqpa.Influence_degree = 'A' then 1 else 0 end) as influenceDegreeA,
-        SUM(case when tbqpa.Influence_degree = 'B' then 1 else 0 end) as influenceDegreeB,
-        SUM(case when tbqpa.Influence_degree = 'C' then 1 else 0 end) as influenceDegreeC,
-        SUM(case when tbqpa.Influence_degree = 'D' then 1 else 0 end) as influenceDegreeD
+        SUM(distinct case when tbqpa.Influence_degree = 'A' then 1 else 0 end) as influenceDegreeA,
+        SUM(distinct case when tbqpa.Influence_degree = 'B' then 1 else 0 end) as influenceDegreeB,
+        SUM(distinct case when tbqpa.Influence_degree = 'C' then 1 else 0 end) as influenceDegreeC,
+        SUM(distinct case when tbqpa.Influence_degree = 'D' then 1 else 0 end) as influenceDegreeD
         from t_b_quality_problem_apply tbqpa
         join t_b_service tbs on tbs.id = tbqpa.service_id
         join sys_user su on FIND_IN_SET(su.id, tbqpa.user_ids)
@@ -56,7 +56,7 @@
         and tbs.status <![CDATA[ <> ]]> 'CANCEL'
         and tffa.status = 'FINISH'
         and tbqpa.Influence_degree is not null
-        group by su.mobile_number) t
+        group by tbqpa.id) t
         left join t_b_user_archives tbua on tbua.mobile_number = t.mobileNumber
         left join t_b_user_archives_supplier tbuas on tbuas.user_archives_id = tbua.id
         left join sys_supplier ss on ss.id = tbuas.supplier_id
@@ -101,6 +101,7 @@
         left join sys_user su on su.id = tbc.lead_id
         left join t_f_custom_flow_entity tfcfe on tfcfe.code = tbqpa.problem_no
         left join t_f_custom_flow_entity tfcfe1 on tfcfe1.code = tbqpa.sop_no
+        left join t_f_flow_approve tffa on tffa.flow_id = tfcfe.flow_id
         left join sys_user su1 on FIND_IN_SET(su1.id, tbqpa.user_ids)
         left join t_b_user_archives tbua on tbua.mobile_number = su1.mobile_number
         left join t_b_user_archives_supplier tbuas on tbuas.user_archives_id = tbua.id
@@ -131,6 +132,8 @@
             <if test="influenceDegree != null and influenceDegree != ''">
                 and tbqpa.Influence_degree = #{influenceDegree}
             </if>
+            and tbs.status <![CDATA[ <> ]]> 'CANCEL'
+            and tffa.status = 'FINISH'
         </where>
         order by sc.name,tbqpa.Influence_degree
     </sql>