|
@@ -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;
|