|
@@ -1,21 +1,17 @@
|
|
package com.qunzhixinxi.hnqz.admin.listener;
|
|
package com.qunzhixinxi.hnqz.admin.listener;
|
|
|
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
import cn.hutool.core.date.DatePattern;
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysEntContractInfo;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysEntContractInfo;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEntDrugtable;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEntDrugtable;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageContract;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageContract;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
-import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.event.PackageContractEvent;
|
|
import com.qunzhixinxi.hnqz.admin.event.PackageContractEvent;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysEntContractInfoMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysEntContractInfoMapper;
|
|
-import com.qunzhixinxi.hnqz.admin.mapper.WmPackageTaskTypeQtyMapper;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageContractService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageContractService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
-import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
|
|
|
|
import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
|
|
import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
|
|
import com.qunzhixinxi.hnqz.common.core.util.PdfUtils;
|
|
import com.qunzhixinxi.hnqz.common.core.util.PdfUtils;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
@@ -36,8 +32,6 @@ import java.util.Arrays;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
-import java.util.Set;
|
|
|
|
-import java.util.function.Function;
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -83,8 +77,6 @@ public class PackageContractEventListener {
|
|
private final WmScorePackageService packageService;
|
|
private final WmScorePackageService packageService;
|
|
private final WmDaDrugEntDrugtableService drugEntDrugtableService;
|
|
private final WmDaDrugEntDrugtableService drugEntDrugtableService;
|
|
private final SysEntContractInfoMapper entContractInfoMapper;
|
|
private final SysEntContractInfoMapper entContractInfoMapper;
|
|
- private final WmPackageTaskTypeQtyMapper packageTaskTypeQtyMapper;
|
|
|
|
- private final WmTaskTypeService taskTypeService;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -116,7 +108,7 @@ public class PackageContractEventListener {
|
|
+ "_" + now.format(DateTimeFormatter.ofPattern(DatePattern.PURE_DATETIME_PATTERN))
|
|
+ "_" + now.format(DateTimeFormatter.ofPattern(DatePattern.PURE_DATETIME_PATTERN))
|
|
+ ".pdf";
|
|
+ ".pdf";
|
|
|
|
|
|
- Map<String, String> params = buildContractParams(pkgId, now);
|
|
|
|
|
|
+ Map<String, String> params = buildContractParams(event, now);
|
|
|
|
|
|
PdfUtils.resumeGenerate(templatePath, outFilePath, envPaths.get(OsEnvUtils.TargetFile.FONT.getName()) + "SimSun.ttc", params);
|
|
PdfUtils.resumeGenerate(templatePath, outFilePath, envPaths.get(OsEnvUtils.TargetFile.FONT.getName()) + "SimSun.ttc", params);
|
|
|
|
|
|
@@ -137,12 +129,12 @@ public class PackageContractEventListener {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private Map<String, String> buildContractParams(Integer pkgId, LocalDateTime now) {
|
|
|
|
|
|
+ private Map<String, String> buildContractParams(PackageContractEvent event, LocalDateTime now) {
|
|
|
|
|
|
Map<String, String> params = new HashMap<>(29);
|
|
Map<String, String> params = new HashMap<>(29);
|
|
|
|
|
|
// 获取积分包
|
|
// 获取积分包
|
|
- WmScorePackage pkg = packageService.getById(pkgId.toString());
|
|
|
|
|
|
+ WmScorePackage pkg = packageService.getById(event.getPackageId().toString());
|
|
|
|
|
|
// 通过药品获取甲方信息
|
|
// 通过药品获取甲方信息
|
|
String[] drugtable = pkg.getDrugtable();
|
|
String[] drugtable = pkg.getDrugtable();
|
|
@@ -173,23 +165,23 @@ public class PackageContractEventListener {
|
|
|
|
|
|
// 任务数量统计
|
|
// 任务数量统计
|
|
|
|
|
|
- List<WmPackageTaskTypeQty> qtyList = packageTaskTypeQtyMapper.listByPackageId(pkgId);
|
|
|
|
|
|
+ List<WmPackageTaskTypeQty> qtyList = event.getTaskTypeQtiyList();
|
|
int total = qtyList.stream().mapToInt(WmPackageTaskTypeQty::getQty).sum();
|
|
int total = qtyList.stream().mapToInt(WmPackageTaskTypeQty::getQty).sum();
|
|
- Set<Integer> ttIds = qtyList.stream().map(WmPackageTaskTypeQty::getTaskTypeId).collect(Collectors.toSet());
|
|
|
|
|
|
+ // Set<Integer> ttIds = qtyList.stream().map(WmPackageTaskTypeQty::getTaskTypeId).collect(Collectors.toSet());
|
|
|
|
|
|
- List<WmTaskType> list = taskTypeService.list(Wrappers.<WmTaskType>lambdaQuery().in(WmTaskType::getId, ttIds));
|
|
|
|
- Map<String, WmTaskType> collect = list.stream().collect(Collectors.toMap(WmTaskType::getId, Function.identity()));
|
|
|
|
|
|
+ // List<WmTaskType> list = taskTypeService.list(Wrappers.<WmTaskType>lambdaQuery().in(WmTaskType::getId, ttIds));
|
|
|
|
+ // Map<Integer, String> collect = qtyList.stream().collect(Collectors.toMap(WmPackageTaskTypeQty::getTaskTypeId, WmPackageTaskTypeQty::getTaskTypeName));
|
|
|
|
|
|
|
|
|
|
for (int i = 1, size = qtyList.size() + 1; i <= size; i++) {
|
|
for (int i = 1, size = qtyList.size() + 1; i <= size; i++) {
|
|
String prefix = "s" + i;
|
|
String prefix = "s" + i;
|
|
WmPackageTaskTypeQty qty = qtyList.get(i);
|
|
WmPackageTaskTypeQty qty = qtyList.get(i);
|
|
- WmTaskType taskType = collect.get(qty.getTaskTypeId().toString());
|
|
|
|
|
|
+ // WmTaskType taskType = collect.get(qty.getTaskTypeId().toString());
|
|
|
|
|
|
Integer count = qty.getQty();
|
|
Integer count = qty.getQty();
|
|
- params.put(prefix + "_name", taskType.getTaskTypeName());
|
|
|
|
|
|
+ params.put(prefix + "_name", qty.getTaskTypeName());
|
|
params.put(prefix + "_qty", count.toString());
|
|
params.put(prefix + "_qty", count.toString());
|
|
- params.put(prefix + "_price", taskType.getScore().toString());
|
|
|
|
|
|
+ params.put(prefix + "_price", qty.getPrice().toString());
|
|
|
|
|
|
|
|
|
|
params.put(prefix + "_rate", String.format(".2%f%%", count.doubleValue() / total));
|
|
params.put(prefix + "_rate", String.format(".2%f%%", count.doubleValue() / total));
|