shudonghui 1 vuosi sitten
vanhempi
commit
25c8d74e76

+ 1 - 1
sop-api/src/main/java/com/qmth/sop/server/api/ServiceAnalyseController.java

@@ -109,7 +109,7 @@ public class ServiceAnalyseController {
     public Result role(
             @ApiParam(value = "服务单元", required = true) @RequestParam Long serviceUnitId,
             @ApiParam(value = "供应商", required = true) @RequestParam Long supplierId) {
-        List<Map<String, Object>> list = serviceAnalyseService.supplierRole(supplierId);
+        List<Map<String, Object>> list = serviceAnalyseService.supplierRole(serviceUnitId,supplierId);
         return ResultUtil.ok(list);
     }
 

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/mapper/ServiceAnalyseMapper.java

@@ -36,7 +36,7 @@ public interface ServiceAnalyseMapper extends BaseMapper<TBService> {
 
     IPage<TBCrmResult> crmDetail(Page<Object> iPage, @Param("serviceUnitId") Long serviceUnitId,@Param("supplierId") Long supplierId);
 
-    List<Map<String,Object>> supplierRole(@Param("supplierId") Long supplierId);
+    List<Map<String,Object>> supplierRole(@Param("serviceUnitId")Long serviceUnitId, @Param("supplierId") Long supplierId);
 
     List<Map<String,Object>> supplierRegion(@Param("serviceUnitId") Long serviceUnitId,@Param("supplierId") Long supplierId);
 

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/service/ServiceAnalyseService.java

@@ -20,7 +20,7 @@ public interface ServiceAnalyseService extends IService<TBService> {
 
     IPage<TBCrmResult> supplierDetail(Page<Object> objectPage, Long serviceUnitId, Long supplierId);
 
-    List<Map<String,Object>> supplierRole(Long supplierId);
+    List<Map<String,Object>> supplierRole(Long serviceUnitId, Long supplierId);
 
     List<Map<String,Object>> supplierRegion(Long serviceUnitId,Long supplierId);
 

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

@@ -18,8 +18,6 @@ import com.qmth.sop.business.service.SysUserService;
 import com.qmth.sop.business.service.TBUserArchivesSupplierService;
 import com.qmth.sop.common.enums.CrmStatusEnum;
 import com.qmth.sop.common.enums.DeviceStatusEnum;
-import com.qmth.sop.common.enums.ProductTypeEnum;
-import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import com.qmth.sop.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 
@@ -116,8 +114,8 @@ public class ServiceAnalyseServiceImpl extends ServiceImpl<ServiceAnalyseMapper,
     }
 
     @Override
-    public List<Map<String, Object>> supplierRole(Long supplierId) {
-        return this.baseMapper.supplierRole(supplierId);
+    public List<Map<String, Object>> supplierRole(Long serviceUnitId, Long supplierId) {
+        return this.baseMapper.supplierRole(serviceUnitId,supplierId);
     }
 
     @Override

+ 37 - 6
sop-business/src/main/resources/mapper/ServiceAnalyseMapper.xml

@@ -217,24 +217,35 @@
                     <if test="supplierId != null and supplierId != ''">
                         and us.supplier_id = #{supplierId}
                     </if>
+                    <if test="serviceUnitId != null and serviceUnitId != ''">
+                        and ua.service_id = #{serviceUnitId}
+                    </if>
                 </where>
         GROUP BY
         r.NAME
 
         UNION all
 
+
+
         SELECT
         '区域协调人' as NAME,
-        count( DISTINCT ua.region_user_id ) count
+        count( DISTINCT aa.region_user_id ) count
 
         FROM
-        t_b_user_archives_allocation ua
-        LEFT JOIN t_b_user_archives_supplier us ON us.user_archives_id = ua.archives_id
+        t_b_user_archives_allocation aa
+        LEFT JOIN sys_user u ON u.id = aa.region_user_id
+        LEFT JOIN t_b_user_archives ua ON u.mobile_number = ua.mobile_number
+        LEFT JOIN t_b_user_archives_supplier us ON us.user_archives_id = ua.id
+        LEFT JOIN sys_supplier su ON su.id = us.supplier_id
         <where>
             and us.authentication_valid_time > UNIX_TIMESTAMP()* 1000
             <if test="supplierId != null and supplierId != ''">
                 and us.supplier_id = #{supplierId}
             </if>
+            <if test="serviceUnitId != null and serviceUnitId != ''">
+                and aa.service_id = #{serviceUnitId}
+            </if>
         </where>
     </select>
     <select id="supplierRegion" resultType="java.util.Map">
@@ -374,12 +385,10 @@
         SELECT
         su.`name`,
         r.region_name,
-        count( DISTINCT aa.id ) count
+        count( DISTINCT aa.user_id ) count
         FROM
         t_b_user_archives_allocation aa
         LEFT JOIN t_b_service_region r ON aa.service_id = r.service_id
-<!--        LEFT JOIN sys_user u ON u.id = r.lead_id-->
-<!--        LEFT JOIN t_b_user_archives ua ON u.mobile_number = ua.mobile_number-->
         LEFT JOIN t_b_user_archives_supplier us ON us.user_archives_id = aa.archives_id
         LEFT JOIN sys_supplier su ON su.id = us.supplier_id
         <where>
@@ -391,5 +400,27 @@
         su.`name`,
         r.region_name
 
+        UNION ALL
+
+        SELECT
+        su.`name`,
+        r.region_name,
+        count( DISTINCT aa.region_user_id ) count
+        FROM
+        t_b_user_archives_allocation aa
+        LEFT JOIN sys_user u ON u.id = aa.region_user_id
+        LEFT JOIN t_b_user_archives ua ON u.mobile_number = ua.mobile_number
+        LEFT JOIN t_b_user_archives_supplier us ON us.user_archives_id = ua.id
+        LEFT JOIN t_b_service_region r ON aa.service_id = r.service_id
+        LEFT JOIN sys_supplier su ON su.id = us.supplier_id
+        <where>
+            <if test="serviceUnitId != null and serviceUnitId != ''">
+                and aa.service_id = #{serviceUnitId}
+            </if>
+        </where>
+        GROUP BY
+        su.`name`,
+        r.region_name
+
     </select>
 </mapper>