Browse Source

feat: data statistics v1.4.1 服务商分数 补全药品和评分

shc 7 tháng trước cách đây
mục cha
commit
98a9e75054

+ 38 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysStatisticManager.java

@@ -10,16 +10,22 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.dto.SysStatisticDto;
+import com.qunzhixinxi.hnqz.admin.api.entity.ReDeptDrug;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmAgentEvaluation;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEntDrugtable;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmQccInfo;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.service.ReDeptDrugService;
 import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
 import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
+import com.qunzhixinxi.hnqz.admin.service.WmAgentEvaluationService;
+import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
 import com.qunzhixinxi.hnqz.admin.service.WmQccInfoService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
@@ -62,6 +68,9 @@ public class SysStatisticManager {
     private final SysEnterpriseAreaService enterpriseAreaService;
     private final SysImplementPlanService implementPlanService;
     private final WmQccInfoService qccInfoService;
+    private final ReDeptDrugService deptDrugService;
+    private final WmDaDrugEntDrugtableService drugTableService;
+    private final WmAgentEvaluationService agentEvaluationService;
 
     /**
      * 获取积分包统计
@@ -452,6 +461,28 @@ public class SysStatisticManager {
         List<String> regCodes = depts.stream().map(SysDept::getTaxCode).distinct().sorted().collect(Collectors.toList());
         Map<String, List<WmQccInfo>> qccInfo = qccInfoService.getQccInfo1(regCodes);
 
+        // 企业评分
+        Map<Integer, List<WmAgentEvaluation>> dept2EvalMap = agentEvaluationService.list(Wrappers.<WmAgentEvaluation>lambdaQuery()
+                .in(WmAgentEvaluation::getDeptId, deptIds)
+                .orderByDesc(WmAgentEvaluation::getCreateTime)).stream().collect(Collectors.groupingBy(WmAgentEvaluation::getDeptId));
+
+
+        // 获取服务商的产品信息
+        List<ReDeptDrug> deptDrugs = deptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery().in(ReDeptDrug::getDeptId, deptIds.stream().mapToInt(Long::intValue).boxed().collect(Collectors.toList())));
+        Map<Integer, List<String>> drugMap;
+        if (CollUtil.isNotEmpty(deptDrugs)) {
+            List<String> drugIds = deptDrugs.stream().map(dd -> dd.getDrugId().toString()).distinct().sorted().collect(Collectors.toList());
+            Map<String, String> drugtableMap = drugTableService.list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
+                    .eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
+                    .eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
+                    .in(WmDaDrugEntDrugtable::getId, drugIds)).stream().collect(Collectors.toMap(WmDaDrugEntDrugtable::getId, WmDaDrugEntDrugtable::getDrugname));
+
+            drugMap = deptDrugs.stream().collect(Collectors.groupingBy(ReDeptDrug::getDeptId, Collectors.mapping(dd -> drugtableMap.get(dd.getDrugId().toString()), Collectors.toList())));
+
+        } else {
+            drugMap = Collections.emptyMap();
+        }
+
 
         // 封装参数
         List<Map<String, Object>> collect = depts.stream().map(d -> {
@@ -460,7 +491,10 @@ public class SysStatisticManager {
             map.put("id", d.getDeptId());
             map.put("providerName", d.getName());
             map.put("areaCodes", detpId2AreaCodesMap.get((long) d.getDeptId()));
-            map.put("products", "123456");
+
+            List<String> drugNames = drugMap.get(d.getDeptId());
+
+            map.put("products", drugNames);
 
             Map<String, Object> creditRatingReportGrade;
             if (StrUtil.isNotBlank(d.getTaxCode())) {
@@ -474,11 +508,12 @@ public class SysStatisticManager {
                 creditRatingReportGrade = Collections.emptyMap();
             }
 
-
             map.put("qccScore", creditRatingReportGrade);
 
+            List<WmAgentEvaluation> agentEvaluations = dept2EvalMap.get(d.getDeptId());
+
 
-            map.put("serviceMark", "120");
+            map.put("serviceMark", CollUtil.isNotEmpty(agentEvaluations) ? agentEvaluations.get(0) : null);
             map.put("average", 123);
 
             return map;

+ 3 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/ReDeptDrugService.java

@@ -3,12 +3,9 @@ package com.qunzhixinxi.hnqz.admin.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.entity.ReDeptDrug;
 
-/**
- * 
- *
- * @author pigx code generator
- * @date 2021-02-19 20:56:06
- */
 public interface ReDeptDrugService extends IService<ReDeptDrug> {
 
+
+
+
 }