Bläddra i källkod

质量监控分析报表

wangliang 9 månader sedan
förälder
incheckning
4dbb5d5543

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

@@ -12,8 +12,11 @@
                         sum(IF(sm.status = 0,1,0)) as unReadMsg
            from
                sys_message sm
+               join t_b_service tbs on tbs.id = sm.service_id
                join sys_user su on su.id = sm.receive_user_id
-           where sm.service_id = #{serviceId} and sm.type = #{messageTypeEnum}
+           where sm.service_id = #{serviceId}
+             and tbs.status <![CDATA[ <> ]]> 'CANCEL'
+             and sm.type = #{messageTypeEnum}
            group by su.real_name) t
         order by sum desc
     </select>

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

@@ -8,13 +8,12 @@
         ROUND(t.influenceDegreeB / sum,2) * 100 as influenceDegreeBRate,
         ROUND(t.influenceDegreeC / sum,2) * 100 as influenceDegreeCRate,
         ROUND(t.influenceDegreeD / sum,2) * 100 as influenceDegreeDRate
-        from(select
-        distinct su.real_name as name,
+        from(select distinct su.real_name as name,
         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(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
         from
         t_b_quality_problem_apply tbqpa
         join t_b_service tbs on tbs.id = tbqpa.service_id
@@ -22,8 +21,7 @@
         join sys_user su on su.id = tbc.lead_id
         join t_f_custom_flow_entity tfcfe on tfcfe.code = tbqpa.problem_no
         join t_f_flow_approve tffa on tffa.flow_id = tfcfe.flow_id
-        where
-        tbqpa.service_id = 1834506773894774786
+        where tbqpa.service_id = #{serviceId}
         and tbs.status <![CDATA[ <> ]]> 'CANCEL'
         and tffa.status <![CDATA[ <> ]]> 'END'
         and tbqpa.Influence_degree is not null
@@ -32,6 +30,32 @@
     </select>
 
     <select id="humanSupplierQualityReport" resultType="com.qmth.sop.business.bean.report.QualityAnalyseReportBean">
-
+        select distinct IFNULL(ss.name, '启明') as name,
+        sum(t.sum) as sum,
+        sum(t.influenceDegreeA) as influenceDegreeA,
+        sum(t.influenceDegreeB) as influenceDegreeB,
+        sum(t.influenceDegreeC) as influenceDegreeC,
+        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
+        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)
+        join t_f_custom_flow_entity tfcfe on tfcfe.code = tbqpa.problem_no
+        join t_f_flow_approve tffa on tffa.flow_id = tfcfe.flow_id
+        where tbqpa.service_id = #{serviceId}
+        and tbs.status <![CDATA[ <> ]]> 'CANCEL'
+        and tffa.status <![CDATA[ <> ]]> 'END'
+        and tbqpa.Influence_degree is not null
+        group by su.mobile_number) 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
+        group by ss.name
+        order by sum(t.sum) desc
     </select>
 </mapper>

+ 3 - 3
sop-business/src/main/resources/mapper/ResourceSecurityReportMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.qmth.sop.business.mapper.ResourceSecurityReportMapper">
 
     <select id="deviceSupplierReport" resultType="com.qmth.sop.business.bean.report.SupplierCountReportBean">
-        select ss.name as deviceSupplierName,count(distinct tbdd.id) as count from t_b_service tbs
+        select * from(select ss.name as deviceSupplierName,count(distinct tbdd.id) as count from t_b_service tbs
         join t_b_sop_info tbsi on tbsi.service_id = tbs.id
         join t_b_device_delivery tbdd on tbdd.crm_no = tbsi.crm_no
         join sys_device sd on sd.serial_no = tbdd.serial_no
@@ -11,8 +11,8 @@
         where tbs.id = #{serviceId}
         and ss.`type` = 'DEVICE' and tbdd.status = 'USING'
         and tbs.status <![CDATA[ <> ]]> 'CANCEL'
-        group by ss.name
-        order by ss.name
+        group by ss.name) t
+        order by t.count desc
     </select>
 
     <select id="humanSupplierReport" resultType="com.qmth.sop.business.bean.report.SupplierCountReportBean">