Browse Source

fix:大区在服务人数对比

caozixuan 1 năm trước cách đây
mục cha
commit
92cd822075

+ 56 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/result/analyze/RegionPersonnel.java

@@ -0,0 +1,56 @@
+package com.qmth.sop.business.bean.result.analyze;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @Description: 大区在服务人数
+ * @Author: CaoZixuan
+ * @Date: 2023-11-21
+ */
+public class RegionPersonnel {
+    @ApiModelProperty("大区id")
+    private Long regionId;
+
+    @ApiModelProperty("大区名称")
+    private String regionName;
+
+    @ApiModelProperty("供应商在服务人数")
+    private List<SupplierPersonnel> supplierPersonnelInfo;
+
+    @ApiModelProperty("大区在服务人数")
+    private Integer count;
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    public String getRegionName() {
+        return regionName;
+    }
+
+    public void setRegionName(String regionName) {
+        this.regionName = regionName;
+    }
+
+    public List<SupplierPersonnel> getSupplierPersonnelInfo() {
+        return supplierPersonnelInfo;
+    }
+
+    public void setSupplierPersonnelInfo(List<SupplierPersonnel> supplierPersonnelInfo) {
+        this.supplierPersonnelInfo = supplierPersonnelInfo;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+}

+ 12 - 33
sop-business/src/main/java/com/qmth/sop/business/bean/result/analyze/ServiceUnitPersonnel.java

@@ -3,6 +3,7 @@ package com.qmth.sop.business.bean.result.analyze;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @Description: 大区在服务人数及对比
@@ -10,47 +11,25 @@ import java.util.List;
  * @Date: 2023-11-21
  */
 public class ServiceUnitPersonnel {
-    @ApiModelProperty("大区id")
-    private Long regionId;
-
-    @ApiModelProperty("大区名称")
-    private String regionName;
-
-    @ApiModelProperty("供应商在服务人数")
-    private List<SupplierPersonnel> supplierPersonnelInfo;
-
     @ApiModelProperty("大区在服务人数")
-    private Integer count;
-
-    public Long getRegionId() {
-        return regionId;
-    }
+    private List<RegionPersonnel> regionPersonnelInfo;
 
-    public void setRegionId(Long regionId) {
-        this.regionId = regionId;
-    }
-
-    public String getRegionName() {
-        return regionName;
-    }
-
-    public void setRegionName(String regionName) {
-        this.regionName = regionName;
-    }
+    @ApiModelProperty("供应商id集合")
+    private Set<Long> supplierIdSet;
 
-    public List<SupplierPersonnel> getSupplierPersonnelInfo() {
-        return supplierPersonnelInfo;
+    public List<RegionPersonnel> getRegionPersonnelInfo() {
+        return regionPersonnelInfo;
     }
 
-    public void setSupplierPersonnelInfo(List<SupplierPersonnel> supplierPersonnelInfo) {
-        this.supplierPersonnelInfo = supplierPersonnelInfo;
+    public void setRegionPersonnelInfo(List<RegionPersonnel> regionPersonnelInfo) {
+        this.regionPersonnelInfo = regionPersonnelInfo;
     }
 
-    public Integer getCount() {
-        return count;
+    public Set<Long> getSupplierIdSet() {
+        return supplierIdSet;
     }
 
-    public void setCount(Integer count) {
-        this.count = count;
+    public void setSupplierIdSet(Set<Long> supplierIdSet) {
+        this.supplierIdSet = supplierIdSet;
     }
 }

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

@@ -34,7 +34,7 @@ public interface ServiceAnalyseService extends IService<TBService> {
     @Deprecated
     List<Map<String, Object>> personnel1(Long serviceUnitId);
 
-    List<ServiceUnitPersonnel> personnel(Long serviceUnitId);
+    ServiceUnitPersonnel personnel(Long serviceUnitId);
 
     UserArchivesAllocationSubTotalResult findCrmAllocationSubTotal(Long serviceUnitId, Long regionId, Long supplierId);
 

+ 18 - 9
sop-business/src/main/java/com/qmth/sop/business/service/impl/ServiceAnalyseServiceImpl.java

@@ -9,6 +9,7 @@ import com.qmth.sop.business.bean.result.CrmArchivesAllocationResult;
 import com.qmth.sop.business.bean.result.TBCrmResult;
 import com.qmth.sop.business.bean.result.UserArchivesAllocationResult;
 import com.qmth.sop.business.bean.result.UserArchivesAllocationSubTotalResult;
+import com.qmth.sop.business.bean.result.analyze.RegionPersonnel;
 import com.qmth.sop.business.bean.result.analyze.ServiceUnitOverview;
 import com.qmth.sop.business.bean.result.analyze.ServiceUnitPersonnel;
 import com.qmth.sop.business.bean.result.analyze.SupplierPersonnel;
@@ -277,7 +278,7 @@ public class ServiceAnalyseServiceImpl extends ServiceImpl<ServiceAnalyseMapper,
     }
 
     @Override
-    public List<ServiceUnitPersonnel> personnel(Long serviceUnitId) {
+    public ServiceUnitPersonnel personnel(Long serviceUnitId) {
         List<TBCrm> publishCrmList = tbCrmService.list(new QueryWrapper<TBCrm>()
                 .lambda()
                 .eq(TBCrm::getServiceId, serviceUnitId)
@@ -286,7 +287,10 @@ public class ServiceAnalyseServiceImpl extends ServiceImpl<ServiceAnalyseMapper,
 
         Set<Long> regionIdSet = publishCrmList.stream().map(TBCrm::getRegionId).collect(Collectors.toSet());
 
-        List<ServiceUnitPersonnel> serviceUnitPersonnelList = new ArrayList<>();
+        List<RegionPersonnel> regionPersonnelList = new ArrayList<>();
+
+        // 全量供应商id集合
+        Set<Long> supplierIdSet = new HashSet<>();
         for (Long regionId : regionIdSet) {
             TBServiceRegion tbServiceRegion = tbServiceRegionService.getById(regionId);
             if (Objects.isNull(tbServiceRegion)) {
@@ -311,6 +315,7 @@ public class ServiceAnalyseServiceImpl extends ServiceImpl<ServiceAnalyseMapper,
                         Set<Long> userIdSet = new HashSet<>();
                         userIdSet.add(userId);
                         supplierMap.put(supplierId, userIdSet);
+                        supplierIdSet.add(supplierId);
                     }
                 });
             }
@@ -329,14 +334,18 @@ public class ServiceAnalyseServiceImpl extends ServiceImpl<ServiceAnalyseMapper,
                 supplierPersonnelList.add(supplierPersonnel);
                 count = count + cellCount;
             }
-            ServiceUnitPersonnel serviceUnitPersonnel = new ServiceUnitPersonnel();
-            serviceUnitPersonnel.setRegionId(regionId);
-            serviceUnitPersonnel.setRegionName(regionName);
-            serviceUnitPersonnel.setSupplierPersonnelInfo(supplierPersonnelList);
-            serviceUnitPersonnel.setCount(count);
-            serviceUnitPersonnelList.add(serviceUnitPersonnel);
+            RegionPersonnel regionPersonnel = new RegionPersonnel();
+
+            regionPersonnel.setRegionId(regionId);
+            regionPersonnel.setRegionName(regionName);
+            regionPersonnel.setSupplierPersonnelInfo(supplierPersonnelList);
+            regionPersonnel.setCount(count);
+            regionPersonnelList.add(regionPersonnel);
         }
-        return serviceUnitPersonnelList;
+        ServiceUnitPersonnel serviceUnitPersonnel = new ServiceUnitPersonnel();
+        serviceUnitPersonnel.setSupplierIdSet(supplierIdSet);
+        serviceUnitPersonnel.setRegionPersonnelInfo(regionPersonnelList);
+        return serviceUnitPersonnel;
     }