|
@@ -171,7 +171,7 @@ public class PackageContractEventListener {
|
|
log.info("pkg_info:【{}】", pkg);
|
|
log.info("pkg_info:【{}】", pkg);
|
|
|
|
|
|
// 获取区域信息
|
|
// 获取区域信息
|
|
- SysDept cso1 = deptService.getById(Integer.valueOf(pkg.getSendPackageDeptId()));
|
|
|
|
|
|
+ // SysDept cso1 = deptService.getById(Integer.valueOf(pkg.getSendPackageDeptId()));
|
|
|
|
|
|
// 获取服务商信息
|
|
// 获取服务商信息
|
|
SysDept service = deptService.getById(Integer.getInteger(pkg.getDeptId()));
|
|
SysDept service = deptService.getById(Integer.getInteger(pkg.getDeptId()));
|
|
@@ -216,7 +216,7 @@ public class PackageContractEventListener {
|
|
LocalDate endTime = pkg.getEndTime();
|
|
LocalDate endTime = pkg.getEndTime();
|
|
int month = endTime.getMonthValue();
|
|
int month = endTime.getMonthValue();
|
|
int quarter = (month == 3 ? 1 : month == 6 ? 2 : month == 9 ? 3 : 4);
|
|
int quarter = (month == 3 ? 1 : month == 6 ? 2 : month == 9 ? 3 : 4);
|
|
- String pkgSn = String.format("%s服务字%s-[%s]-%s-Q%s-%s-%s", mah.abbr, endTime.getYear(), cso1.getAbbr(), "001", quarter, drug.getAbbr(), service.getAbbr());
|
|
|
|
|
|
+ String pkgSn = String.format("%s服务字%s-[%s]-Q%s-%s-%s", (mah == null ? "" : mah.abbr), endTime.getYear(), pkg.getProvAbbr(), quarter, (drug == null ? "" : drug.getAbbr()), (service == null ? "" : service.getAbbr()));
|
|
|
|
|
|
// 判断是否是补充包
|
|
// 判断是否是补充包
|
|
List<WmPackageContract> list = packageContractService.list(Wrappers.<WmPackageContract>lambdaQuery().likeRight(WmPackageContract::getSn, pkgSn));
|
|
List<WmPackageContract> list = packageContractService.list(Wrappers.<WmPackageContract>lambdaQuery().likeRight(WmPackageContract::getSn, pkgSn));
|
|
@@ -236,17 +236,18 @@ public class PackageContractEventListener {
|
|
// 任务数量统计
|
|
// 任务数量统计
|
|
|
|
|
|
List<WmPackageTaskTypeQty> qtyList = event.getTaskTypeQtiyList();
|
|
List<WmPackageTaskTypeQty> qtyList = event.getTaskTypeQtiyList();
|
|
- int total = qtyList.stream().mapToInt(WmPackageTaskTypeQty::getQty).sum();
|
|
|
|
|
|
+ // int total = qtyList.stream().mapToInt(WmPackageTaskTypeQty::getQty).sum();
|
|
|
|
|
|
for (int i = 0, size = 14; i < size; i++) {
|
|
for (int i = 0, size = 14; i < size; i++) {
|
|
- WmPackageTaskTypeQty qty = qtyList.get(i);
|
|
|
|
|
|
+ WmPackageTaskTypeQty qty = i < qtyList.size() ? qtyList.get(i) : null;
|
|
if (qty != null) {
|
|
if (qty != null) {
|
|
Integer count = qty.getQty();
|
|
Integer count = qty.getQty();
|
|
params.put("no" + i, String.valueOf(i + 1));
|
|
params.put("no" + i, String.valueOf(i + 1));
|
|
params.put("name" + i, qty.getTaskTypeName());
|
|
params.put("name" + i, qty.getTaskTypeName());
|
|
params.put("qty" + i, count.toString());
|
|
params.put("qty" + i, count.toString());
|
|
params.put("price" + i, qty.getPrice().toString());
|
|
params.put("price" + i, qty.getPrice().toString());
|
|
- params.put("rate" + i, String.format("%.2f%%", (100.0 * count) / total));
|
|
|
|
|
|
+ // params.put("rate" + i, String.format("%.2f%%", (100.0 * count) / total));
|
|
|
|
+ params.put("rate" + i, String.format("%.2f%%", (100.0 * qty.getPrice()) / pkg.getScore()));
|
|
} else {
|
|
} else {
|
|
params.put("no" + i, StrUtil.SLASH);
|
|
params.put("no" + i, StrUtil.SLASH);
|
|
params.put("name" + i, StrUtil.SLASH);
|
|
params.put("name" + i, StrUtil.SLASH);
|