Browse Source

Merge branch 'dev_1.1.2' of http://git.qmth.com.cn/sop/server into dev_1.1.2
merge

wangliang 9 months ago
parent
commit
4a032d3758

+ 7 - 7
sop-business/src/main/java/com/qmth/sop/business/service/impl/CrmProgressMonitorServiceImpl.java

@@ -62,13 +62,9 @@ public class CrmProgressMonitorServiceImpl extends ServiceImpl<CrmProgressMonito
             result.setTotal(crmProgressSopList.size());
             resultList.add(result);
         }
-        //大区经理的sop数量从高到低排序
-        List<CrmProgressResult> sopOrderList = resultList.stream()
-                .sorted(Comparator.comparing(CrmProgressResult::getTotal).reversed())
-                .collect(Collectors.toList());
 
         //填充各阶段sop的数量
-        for (CrmProgressResult result : sopOrderList) {
+        for (CrmProgressResult result : resultList) {
 
             List<CrmProgressSopResult> filterSopList;
             if (monitorEnum.equals(CrmProgressMonitorEnum.BY_LEAD)) {
@@ -89,6 +85,10 @@ public class CrmProgressMonitorServiceImpl extends ServiceImpl<CrmProgressMonito
             setDisplayProcess(result, filterSopList);
         }
 
+        //大区经理的sop数量从高到低排序
+        resultList = resultList.stream()
+                .sorted(Comparator.comparing(CrmProgressResult::getTotal).reversed())
+                .collect(Collectors.toList());
         //合计
         getSum(resultList);
 
@@ -127,7 +127,7 @@ public class CrmProgressMonitorServiceImpl extends ServiceImpl<CrmProgressMonito
     }
 
     private String getRatio(BigDecimal total, BigDecimal sopNum) {
-        String ratio = "";
+        String ratio = "0.00%";
         //计算占比
         if (total.intValue() != 0) {
             sopNum = sopNum.divide(total, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
@@ -143,7 +143,7 @@ public class CrmProgressMonitorServiceImpl extends ServiceImpl<CrmProgressMonito
         Map<CrmProcessEnum, Integer> summaryMap = getCrmProcessNum(map);
         for (CrmProcessEnum process : CrmProcessEnum.values()) {
             Integer sopNum = 0;
-            String ratio = "";
+            String ratio = "0.00%";
             //设置包含了某阶段的sop数量和占比
             if (summaryMap.containsKey(process)) {
                 sopNum = summaryMap.get(process);

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/service/impl/ServiceUnitAnalyseServiceImpl.java

@@ -213,10 +213,10 @@ public class ServiceUnitAnalyseServiceImpl extends ServiceImpl<ServiceUnitAnalys
         }
 
         List<ProjectMonitorResult> resultList;
-        // 人力供应商、区域协调人
+        //其他
         if (supplierId == null && coordinatorId == null) {
             resultList = baseMapper.listSop(serviceUnitId, crmUserId, customName, process, leadId, province, processList, type, fieldObj);
-        } else {
+        } else {// 人力供应商、区域协调人
             resultList = baseMapper.listSopByUserAllocation(serviceUnitId, crmUserId, customName, process, leadId, province, processList, supplierId,
                     coordinatorId, roleType, type, fieldObj);
         }

+ 5 - 5
sop-business/src/main/java/com/qmth/sop/business/service/impl/SopWarnMonitorServiceImpl.java

@@ -66,12 +66,8 @@ public class SopWarnMonitorServiceImpl extends ServiceImpl<SopWarnMonitorMapper,
             resultList.add(result);
         }
 
-        //排序
-        List<SopWarnMonitorResult> warnOrderList = resultList.stream()
-                .sorted(Comparator.comparing(SopWarnMonitorResult::getTotal).reversed())
-                .collect(Collectors.toList());
         //设置预警数量和占比
-        for (SopWarnMonitorResult result : warnOrderList) {
+        for (SopWarnMonitorResult result : resultList) {
             List<SopWarnMonitorDetailResult> filterWarnList;
 
             if (type.equals(CrmProgressMonitorEnum.BY_LEAD)) {
@@ -90,6 +86,10 @@ public class SopWarnMonitorServiceImpl extends ServiceImpl<SopWarnMonitorMapper,
             getWarnFieldNum(result, filterWarnList);
         }
 
+        //排序
+        resultList = resultList.stream()
+                .sorted(Comparator.comparing(SopWarnMonitorResult::getTotal).reversed())
+                .collect(Collectors.toList());
         //合计
         getSum(resultList);
 

+ 10 - 6
sop-business/src/main/resources/mapper/ServiceUnitAnalyseMapper.xml

@@ -15,9 +15,11 @@
         tbcd.id AS crmDetailId,
         IF ( sc.type = 'OFFICE', '教务处', '研究生' ) AS customManagerTypeStr,
         cast( tfcfe.flow_id AS CHAR ) AS flowId,
-        tbsi.update_time AS updateTime,
-        tbdw.field_obj AS fieldObj,
-        tbdw.id warnId
+        <if test="type != null and type != ''">
+            tbdw.field_obj AS fieldObj,
+            tbdw.id warnId,
+        </if>
+        tbsi.update_time AS updateTime
         FROM
         t_b_sop_info tbsi
         LEFT JOIN t_b_crm tbc ON tbc.crm_no = tbsi.crm_no
@@ -88,9 +90,11 @@
         tbcd.id AS crmDetailId,
         IF ( sc.type = 'OFFICE', '教务处', '研究生' ) AS customManagerTypeStr,
         cast( tfcfe.flow_id AS CHAR ) AS flowId,
-        tbsi.update_time AS updateTime,
-        tbdw.field_obj AS fieldObj,
-        tbdw.id warnId
+        <if test="type != null and type != ''">
+            tbdw.field_obj AS fieldObj,
+            tbdw.id warnId,
+        </if>
+        tbsi.update_time AS updateTime
         FROM
         t_b_sop_info tbsi
         LEFT JOIN t_b_crm tbc ON tbc.crm_no = tbsi.crm_no

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

@@ -24,7 +24,7 @@
         </if>
     </select>
     <select id="listDelayWarnByUserRole" resultType="com.qmth.sop.business.bean.result.SopWarnMonitorDetailResult">
-        SELECT DISTINCT tbdw.crm_no AS crmNo,
+        SELECT  tbdw.crm_no AS crmNo,
         tbdw.sop_no AS sopNo,
         tbdw.field_obj AS fieldObj,
         ss.id AS supplierId,