Browse Source

feat: 优化3 多线程拉满

shc 3 years ago
parent
commit
bc598ef9a5

+ 63 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/config/AsyncConfiguration.java

@@ -0,0 +1,63 @@
+package com.qunzhixinxi.hnqz.admin.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * {@code AsyncConfiguration}
+ * <p>
+ * 多线程配置
+ *
+ * @author Hengchen.Sun
+ * @version 1.0.0
+ * @date 2021/11/03 14:11
+ */
+@Configuration
+@EnableAsync
+public class AsyncConfiguration {
+
+	@Bean("doGetScorePackagePagePool")
+	public Executor doGetScorePackagePageExecutor() {
+		ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+		// 核心线程数:线程池创建时候初始化的线程数
+		executor.setCorePoolSize(5);
+		// 最大线程数:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
+		executor.setMaxPoolSize(10);
+		// 缓冲队列:用来缓冲执行任务的队列
+		executor.setQueueCapacity(500);
+		// 允许线程的空闲时间60秒:当超过了核心线程之外的线程在空闲时间到达之后会被销毁
+		executor.setKeepAliveSeconds(60);
+		// 线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
+		executor.setThreadNamePrefix("get-spp-");
+		// 缓冲队列满了之后的拒绝策略:由调用线程处理(一般是主线程)
+		executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
+		executor.initialize();
+		return executor;
+	}
+
+
+	@Bean("doSelectWmScorePackageListsPool")
+	public Executor doSelectWmScorePackageListsExecutor() {
+		ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+		// 核心线程数:线程池创建时候初始化的线程数
+		executor.setCorePoolSize(5);
+		// 最大线程数:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
+		executor.setMaxPoolSize(10);
+		// 缓冲队列:用来缓冲执行任务的队列
+		executor.setQueueCapacity(500);
+		// 允许线程的空闲时间60秒:当超过了核心线程之外的线程在空闲时间到达之后会被销毁
+		executor.setKeepAliveSeconds(60);
+		// 线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
+		executor.setThreadNamePrefix("get-sspl-");
+		// 缓冲队列满了之后的拒绝策略:由调用线程处理(一般是主线程)
+		executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
+		executor.initialize();
+		return executor;
+	}
+
+}

+ 383 - 240
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -18,7 +18,9 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
@@ -66,6 +68,8 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
 
@@ -421,7 +425,9 @@ public class WmScorePackageController {
 		for (WmScorePackage ext : listExt) {
 			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(ext.getId());
 			if (taskTypelist != null && taskTypelist.size() > 0) {
-				String taskTypes = taskTypelist.stream().map(WmScoreTaskType::getTaskTypeName).collect(Collectors.joining(","));
+				String taskTypes = taskTypelist.stream()
+						.map(WmScoreTaskType::getTaskTypeName)
+						.collect(Collectors.joining(","));
 				ext.setTaskTypes(taskTypes);
 			}
 			if (!StringUtil.isEmpty(ext.getRelationScoreId())) {
@@ -447,10 +453,11 @@ public class WmScorePackageController {
 					wmTask1.setTaskStatus(String.valueOf(3));
 					List<WmTask> wmTaskList = wmTaskMapper.selectListByScorePackageId(wmTask1);
 					if (sysDept1.getLevel() == 2) {
-						List<WmTask> score1 = wmTaskList.stream().filter(task -> task.getReportDrugApprovalStatus().equals("6"))
+						List<WmTask> score1 = wmTaskList.stream()
+								.filter(task -> task.getReportDrugApprovalStatus().equals("6"))
 								.collect(Collectors.toList());
 						for (WmTask item : score1) {
-							if("1".equals(item.getReportDrugApprovalOpinion())){
+							if ("1".equals(item.getReportDrugApprovalOpinion())) {
 								total1 += item.getScore();
 
 							}
@@ -460,10 +467,11 @@ public class WmScorePackageController {
 
 					}
 					if (sysDept1.getLevel() == 3) {
-						List<WmTask> score1 = wmTaskList.stream().filter(task ->task.getReportOneApprovalStatus().equals("6"))
+						List<WmTask> score1 = wmTaskList.stream()
+								.filter(task -> task.getReportOneApprovalStatus().equals("6"))
 								.collect(Collectors.toList());
 						for (WmTask item : score1) {
-							if("1".equals(item.getReportOneApprovalOpinion())){
+							if ("1".equals(item.getReportOneApprovalOpinion())) {
 								total1 += item.getScore();
 
 							}
@@ -471,10 +479,11 @@ public class WmScorePackageController {
 						}
 					}
 					if (sysDept1.getLevel() == 4) {
-						List<WmTask> score1 = wmTaskList.stream().filter(task ->task.getReportSecondApprovalStatus().equals("6"))
+						List<WmTask> score1 = wmTaskList.stream()
+								.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
 								.collect(Collectors.toList());
 						for (WmTask item : score1) {
-							if("1".equals(item.getReportSecondApprovalOpinion())){
+							if ("1".equals(item.getReportSecondApprovalOpinion())) {
 								total1 += item.getScore();
 
 							}
@@ -502,10 +511,11 @@ public class WmScorePackageController {
 							wmTask2.setTaskStatus(String.valueOf(3));
 							List<WmTask> wmTaskList1 = wmTaskMapper.selectListByScorePackageId(wmTask2);
 							if (sysDept1.getLevel() == 2) {
-								List<WmTask> score1 = wmTaskList1.stream().filter(task ->task.getReportDrugApprovalStatus().equals("6"))
+								List<WmTask> score1 = wmTaskList1.stream()
+										.filter(task -> task.getReportDrugApprovalStatus().equals("6"))
 										.collect(Collectors.toList());
 								for (WmTask item : score1) {
-									if("1".equals(item.getReportDrugApprovalOpinion())){
+									if ("1".equals(item.getReportDrugApprovalOpinion())) {
 										total1 += item.getScore();
 
 									}
@@ -514,10 +524,11 @@ public class WmScorePackageController {
 
 							}
 							if (sysDept1.getLevel() == 3) {
-								List<WmTask> score1 = wmTaskList1.stream().filter(task ->task.getReportOneApprovalStatus().equals("6"))
+								List<WmTask> score1 = wmTaskList1.stream()
+										.filter(task -> task.getReportOneApprovalStatus().equals("6"))
 										.collect(Collectors.toList());
 								for (WmTask item : score1) {
-									if("1".equals(item.getReportOneApprovalOpinion())){
+									if ("1".equals(item.getReportOneApprovalOpinion())) {
 										total1 += item.getScore();
 
 									}
@@ -525,17 +536,20 @@ public class WmScorePackageController {
 								}
 							}
 							if (sysDept1.getLevel() == 4) {
-								List<WmTask> score1 = wmTaskList1.stream().filter(task ->task.getReportSecondApprovalStatus().equals("6"))
+								List<WmTask> score1 = wmTaskList1.stream()
+										.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
 										.collect(Collectors.toList());
 								for (WmTask item : score1) {
-									if("1".equals(item.getReportSecondApprovalOpinion())){
+									if ("1".equals(item.getReportSecondApprovalOpinion())) {
 										total1 += item.getScore();
 
 									}
 									ytjtt += item.getScore();
 								}
 							}
-							List<Integer> scoreList2 = wmTaskList1.stream().map(p -> p.getScore()).collect(Collectors.toList());
+							List<Integer> scoreList2 = wmTaskList1.stream()
+									.map(p -> p.getScore())
+									.collect(Collectors.toList());
 							Integer score3 = 0;
 							if (scoreList2.size() != 0) {
 								for (Integer score1 : scoreList2) {
@@ -566,10 +580,11 @@ public class WmScorePackageController {
 				wmTask1.setTaskStatus(String.valueOf(3));
 				List<WmTask> wmTaskList1 = wmTaskMapper.selectListByScorePackageId(wmTask1);
 				if (sysDept1.getLevel() == 2) {
-					List<WmTask> score1 = wmTaskList1.stream().filter(task -> task.getReportDrugApprovalStatus().equals("6"))
+					List<WmTask> score1 = wmTaskList1.stream()
+							.filter(task -> task.getReportDrugApprovalStatus().equals("6"))
 							.collect(Collectors.toList());
 					for (WmTask item : score1) {
-						if("1".equals(item.getReportDrugApprovalOpinion())){
+						if ("1".equals(item.getReportDrugApprovalOpinion())) {
 							total1 += item.getScore();
 
 						}
@@ -577,10 +592,11 @@ public class WmScorePackageController {
 					}
 				}
 				if (sysDept1.getLevel() == 3) {
-					List<WmTask> score1 = wmTaskList1.stream().filter(task ->task.getReportOneApprovalStatus().equals("6"))
+					List<WmTask> score1 = wmTaskList1.stream()
+							.filter(task -> task.getReportOneApprovalStatus().equals("6"))
 							.collect(Collectors.toList());
 					for (WmTask item : score1) {
-						if("1".equals(item.getReportOneApprovalOpinion())){
+						if ("1".equals(item.getReportOneApprovalOpinion())) {
 							total1 += item.getScore();
 
 						}
@@ -588,10 +604,11 @@ public class WmScorePackageController {
 					}
 				}
 				if (sysDept1.getLevel() == 4) {
-					List<WmTask> score1 = wmTaskList1.stream().filter(task ->task.getReportSecondApprovalStatus().equals("6"))
+					List<WmTask> score1 = wmTaskList1.stream()
+							.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
 							.collect(Collectors.toList());
 					for (WmTask item : score1) {
-						if("1".equals(item.getReportSecondApprovalOpinion())){
+						if ("1".equals(item.getReportSecondApprovalOpinion())) {
 							total1 += item.getScore();
 
 						}
@@ -609,13 +626,15 @@ public class WmScorePackageController {
 			ext.setYtjtt(ytjtt);
 
 			ext.setPayScore(total1);
-			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 1, BigDecimal.ROUND_HALF_UP);
+			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100))
+					.divide(new BigDecimal(ext.getScore()), 1, BigDecimal.ROUND_HALF_UP);
 			BigDecimal fin1 = BigDecimal.valueOf(100.00);
 			if (fin.compareTo(fin1) == 1) {
 				fin = BigDecimal.valueOf(100.00);
 			}
 			ext.setFinishRate(fin + "0");
-			BigDecimal payRate = new BigDecimal(ext.getPayScore()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 1, BigDecimal.ROUND_HALF_UP);
+			BigDecimal payRate = new BigDecimal(ext.getPayScore()).multiply(BigDecimal.valueOf(100))
+					.divide(new BigDecimal(ext.getScore()), 1, BigDecimal.ROUND_HALF_UP);
 			if (payRate.compareTo(fin1) == 1) {
 				payRate = BigDecimal.valueOf(100.00);
 			}
@@ -757,7 +776,9 @@ public class WmScorePackageController {
 					list.add(3);
 					list.add(4);
 					wmScorePackage.setSendPackageDeptId(SecurityUtils.getUser().getDeptId() + "");
-					Page pageAnswer = wmScorePackageService.page(page, Wrappers.query(wmScorePackage).lambda().in(WmScorePackage::getTypeid, list));
+					Page pageAnswer = wmScorePackageService.page(page, Wrappers.query(wmScorePackage)
+							.lambda()
+							.in(WmScorePackage::getTypeid, list));
 					List<WmScorePackage> listExt = wmScorePackageService.listWmScorePackageAndTaskLevel3(wmScorePackage);
 					List<WmScorePackage> listWmScorePackage = pageAnswer.getRecords();
 
@@ -801,7 +822,9 @@ public class WmScorePackageController {
 					list.add(4);
 
 					wmScorePackage.setSendPackageDeptId(SecurityUtils.getUser().getDeptId() + "");
-					Page pageAnswer = wmScorePackageService.page(page, Wrappers.query(wmScorePackage).lambda().in(WmScorePackage::getTypeid, list));
+					Page pageAnswer = wmScorePackageService.page(page, Wrappers.query(wmScorePackage)
+							.lambda()
+							.in(WmScorePackage::getTypeid, list));
 					List<WmScorePackage> listExt = wmScorePackageService.listWmScorePackageAndTaskLevel1(wmScorePackage);
 					List<WmScorePackage> listWmScorePackage = pageAnswer.getRecords();
 
@@ -888,7 +911,9 @@ public class WmScorePackageController {
 					list.add(3);
 					list.add(4);
 
-					return R.ok(wmScorePackageService.list(Wrappers.query(wmScorePackage).lambda().in(WmScorePackage::getTypeid, list)));
+					return R.ok(wmScorePackageService.list(Wrappers.query(wmScorePackage)
+							.lambda()
+							.in(WmScorePackage::getTypeid, list)));
 				}
 			}
 		}
@@ -970,8 +995,10 @@ public class WmScorePackageController {
 					SysDept sysDept1 = new SysDept();
 					sysDept1.setDeptId(sysUser.getDeptId());
 					SysDept sysDept = sysDeptService.selectDeptId(sysDept1);
-					wmScorePackage.setLevel1Id(sysDept.getLevel2Id() == null || sysDept.getLevel2Id() == 0 ? null : sysDept.getLevel2Id() + "");
-					wmScorePackage.setLevel2Id(sysDept.getLevel3Id() == null || sysDept.getLevel3Id() == 0 ? null : sysDept.getLevel3Id() + "");
+					wmScorePackage.setLevel1Id(sysDept.getLevel2Id() == null || sysDept.getLevel2Id() == 0 ? null : sysDept
+							.getLevel2Id() + "");
+					wmScorePackage.setLevel2Id(sysDept.getLevel3Id() == null || sysDept.getLevel3Id() == 0 ? null : sysDept
+							.getLevel3Id() + "");
 					wmScorePackage.setPackageStatus("2");
 				}
 
@@ -1253,7 +1280,7 @@ public class WmScorePackageController {
 					map.put("scoreId", scorePackage.getScoreId());
 
 				}
-				if (StringUtils.isEmpty(scorePackage.getScorePackageName())){
+				if (StringUtils.isEmpty(scorePackage.getScorePackageName())) {
 					map.put("scoreName", "-");
 				} else {
 					map.put("scoreName", scorePackage.getScorePackageName());
@@ -1340,26 +1367,44 @@ public class WmScorePackageController {
 	@GetMapping("/selectWmScorePackageLists")
 	public R selectWmScorePackageList(@RequestParam(value = "current") Integer current,
 									  @RequestParam(value = "size") Integer size,
-									  @RequestParam(value = "scorePackageName",required = false) String scorePackageName,
-									  @RequestParam(value = "acceptSug",required = false) String acceptSug,
-									  @RequestParam(value = "allocationDate",required = false)LocalDate allocationDate,
-									  @RequestParam(value = "endLabelDate",required = false) LocalDate endLabelDate) {
+									  @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+									  @RequestParam(value = "acceptSug", required = false) String acceptSug,
+									  @RequestParam(value = "allocationDate", required = false) LocalDate allocationDate,
+									  @RequestParam(value = "endLabelDate", required = false) LocalDate endLabelDate) {
 
-		Page<WmScorePackage> pageAnswer = wmScorePackageService.selectWmScorePackageLists(new Page<WmScorePackage>(current,size),
-				scorePackageName,acceptSug,allocationDate,endLabelDate);
+		Page<WmScorePackage> pageAnswer = wmScorePackageService.selectWmScorePackageLists(new Page<WmScorePackage>(current, size),
+				scorePackageName, acceptSug, allocationDate, endLabelDate);
 
 		//根据积分包id查询计算完成积分值 已付积分值
 		List<WmScorePackage> wmList = pageAnswer.getRecords();
+
+		List<Future<WmScorePackage>> futureList = new ArrayList<>(wmList.size());
+
+
 		for (WmScorePackage wmS : wmList) {
-			wmScorePackageService.finishRate(wmS);
+			Future<WmScorePackage> future = wmScorePackageService.finishRate(wmS);
+			futureList.add(future);
+		}
+
+
+		List<WmScorePackage> finalRecords = new ArrayList<>(wmList.size());
+		try {
+			for (Future<WmScorePackage> future : futureList) {
+				WmScorePackage wmScorePackage = future.get();
+				finalRecords.add(wmScorePackage);
+
+			}
+
+			pageAnswer.setRecords(finalRecords);
+		} catch (ExecutionException | InterruptedException e) {
+			log.error("获取分页信息失败");
+			return R.failed("获取分页信息失败");
 		}
 
-		pageAnswer.setRecords(wmList);
 		return R.ok(pageAnswer);
 	}
 
 
-
 	/**
 	 * 获取关联积分包名称 二期  业务平台
 	 *
@@ -1433,7 +1478,7 @@ public class WmScorePackageController {
 					}
 					Map<String, Object> map1 = new HashMap<>();
 					map1.put("relationScoreName", wmScorePackage1.getScorePackageName());
-					map1.put("drugProducerList",wmScorePackage1.getDrugProducerList());
+					map1.put("drugProducerList", wmScorePackage1.getDrugProducerList());
 					map1.put("id", wmScorePackage1.getId());
 					answerList.add(map1);
 				}
@@ -1454,7 +1499,7 @@ public class WmScorePackageController {
 				}
 				Map<String, Object> map3 = new HashMap<>();
 				map3.put("id", wmScorePackage1.getId());
-				map3.put("drugProducerList",wmScorePackage1.getDrugProducerList());
+				map3.put("drugProducerList", wmScorePackage1.getDrugProducerList());
 				map3.put("relationScoreName", wmScorePackage1.getScorePackageName());
 				answerList.add(map3);
 			}
@@ -1501,7 +1546,8 @@ public class WmScorePackageController {
 					wmDaDrugEnts.add(list.get(i));
 				}
 			}
-		} else if ("-1".equals(wmScorePackage.getId()) && wmId.getDeptId().equals(SecurityUtils.getUser().getDeptId())) {
+		} else if ("-1".equals(wmScorePackage.getId()) && wmId.getDeptId()
+				.equals(SecurityUtils.getUser().getDeptId())) {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.selectByDeptId(wmId.getDeptId());
 //			wmDaDrugEnts = wmDaAgentService.selectByDrugId(Integer.valueOf(wmDaDrugEnt.getId()));
 //			wmDaDrugEnts = wmDaAgentService.selectWmDaAgentByDeptId(wmDaDrugEnt.getDeptId());
@@ -1544,7 +1590,9 @@ public class WmScorePackageController {
 					WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 					wmScoreTaskType.setScoreId(wmScorePackage1.getId());
 					List<WmScoreTaskType> taskTypeList = wmScoreTaskTypeMapper.listWmScoreTaskType(wmScoreTaskType);
-					Set taskTypeSet = taskTypeList.stream().map(WmScoreTaskType::getTaskTypeId).collect(Collectors.toSet());
+					Set taskTypeSet = taskTypeList.stream()
+							.map(WmScoreTaskType::getTaskTypeId)
+							.collect(Collectors.toSet());
 					wmScorePackage.setTaskTypeSet(taskTypeSet);
 					map1.put("scoreId", wmScorePackage1.getScoreId());
 					map1.put("id", wmScorePackage1.getId());
@@ -1594,10 +1642,11 @@ public class WmScorePackageController {
 //		sysDeptRelatedServiceId.setDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
 //		SysDept sysDeptRelatedService = sysDeptMapper.selectDeptId(sysDeptRelatedServiceId);
 
-		if (StringUtils.isNotEmpty(wmScorePackage.getRelationScoreId()) && ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList())){
+		if (StringUtils.isNotEmpty(wmScorePackage.getRelationScoreId()) && ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList())) {
 			WmScorePackage relateSp = wmScorePackageService.getById(wmScorePackage.getRelationScoreId());
-			if (relateSp != null){
-				Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relateSp.getDeptId()));
+			if (relateSp != null) {
+				Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relateSp
+						.getDeptId()));
 				wmScorePackage.setDrugProducerList(producerNames.toArray(new String[producerNames.size()]));
 			}
 		}
@@ -1606,7 +1655,8 @@ public class WmScorePackageController {
 		if ("".equals(wmScorePackage.getTypeid())) {
 			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.selectByDeptId(sysDept.getDeptId());
 			if (wmDaDrugEnt != null) {
-				if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
+				if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
+						.equals(wmDaDrugEnt.getId())) {
 					WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
 //					SysDept sysDept2 = new SysDept();
 //					sysDept2.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
@@ -1627,7 +1677,8 @@ public class WmScorePackageController {
 			} else {
 				if (sysDeptRelatedService.getLevel() == 2) {
 					WmDaDrugEnt wmDaDrugEnts = wmDaDrugEntService.selectByDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
-					if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaDrugEnts.getId())) {
+					if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
+							.equals(wmDaDrugEnts.getId())) {
 						WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
 //						SysDept sysDept2 = new SysDept();
 //						sysDept2.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
@@ -1648,7 +1699,8 @@ public class WmScorePackageController {
 					}
 				} else if (sysDeptRelatedService.getLevel() == 3) {
 					WmDaAgent wmDaAgent1 = wmDaAgentService.selectByDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
-					if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaAgent1.getId())) {
+					if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
+							.equals(wmDaAgent1.getId())) {
 						WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
 
 //						SysDept sysDept2 = new SysDept();
@@ -1777,11 +1829,13 @@ public class WmScorePackageController {
 
 				SysDept sysDeptTypeId = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
 
-				if (sysDeptTypeId.getLevel() == 2 && wmScorePackage.getDeptId().equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
+				if (sysDeptTypeId.getLevel() == 2 && wmScorePackage.getDeptId()
+						.equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
 					wmScorePackage.setTypeid("0");
 				} else if (sysDeptTypeId.getLevel() == 2) {
 					wmScorePackage.setTypeid("1");
-				} else if (sysDeptTypeId.getLevel() == 3 && wmScorePackage.getDeptId().equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
+				} else if (sysDeptTypeId.getLevel() == 3 && wmScorePackage.getDeptId()
+						.equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
 					wmScorePackage.setTypeid("1");
 				} else if (sysDeptTypeId.getLevel() == 3) {
 					wmScorePackage.setTypeid("2");
@@ -1809,7 +1863,8 @@ public class WmScorePackageController {
 							wmScorePackage.setPackageIsConduct("0");
 							wmScorePackage.setPackageType1(wmScorePackage.getPackageType1());
 							//判断积分包是否被发放
-							List<WmScorePackage> wmScorePackages = wmScorePackageService.selectRelationScoreId(wmScorePackage.getId());
+							List<WmScorePackage> wmScorePackages = wmScorePackageService.selectRelationScoreId(wmScorePackage
+									.getId());
 							if (wmScorePackages.size() > 0) {
 								for (WmScorePackage wmScorePackage1 : wmScorePackages) {
 									if (wmScorePackage1.getId().equals(wmScorePackage.getRelationScoreId())) {
@@ -2163,7 +2218,8 @@ public class WmScorePackageController {
 
 			WmScorePackage wmIds = wmScorePackageService.getById(wmScorePackage.getId());
 			if (wmDaDrugEnt != null) {
-				if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
+				if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
+						.equals(wmDaDrugEnt.getId())) {
 					WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
 					wmScorePackage.setDeptId(wmDaAgent.getDeptId() + "");
 					wmScorePackage.setKfpjf(wmScorePackage.getScore() - wmIds.getScore() + wmIds.getKfpjf());
@@ -2200,11 +2256,13 @@ public class WmScorePackageController {
 
 			SysDept sysDept6 = sysDeptService.getById(Integer.valueOf(wmScorePackage.getDeptId()));
 
-			if (sysDept5.getLevel() == 2 && sysDept6.getLevel() == 2 && wmScorePackage.getDeptId().equals(String.valueOf(sysDept5.getDeptId()))) {
+			if (sysDept5.getLevel() == 2 && sysDept6.getLevel() == 2 && wmScorePackage.getDeptId()
+					.equals(String.valueOf(sysDept5.getDeptId()))) {
 				wmScorePackage.setTypeid("0");
 			} else if (sysDept5.getLevel() == 2) {
 				wmScorePackage.setTypeid("1");
-			} else if (sysDept5.getLevel() == 3 && sysDept6.getLevel() == 3 && wmScorePackage.getDeptId().equals(String.valueOf(sysDept5.getDeptId()))) {
+			} else if (sysDept5.getLevel() == 3 && sysDept6.getLevel() == 3 && wmScorePackage.getDeptId()
+					.equals(String.valueOf(sysDept5.getDeptId()))) {
 				wmScorePackage.setTypeid("1");
 			} else if (sysDept5.getLevel() == 3) {
 				wmScorePackage.setTypeid("2");
@@ -2235,15 +2293,19 @@ public class WmScorePackageController {
 							} else if (wmScorePackage.getScore() > wms.getKfpjf() + wmId.getScore()) {
 								return R.failed("可分配积分不足");
 							} else if (wmScorePackage.getScore() < wms.getKfpjf() + wmId.getScore()) {
-								wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() + wmId.getScore() - wmScorePackage.getScore())).intValue());
+								wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() + wmId.getScore() - wmScorePackage.getScore()))
+										.intValue());
 								wmId.setScore(wmScorePackage.getScore());
 							} else {
-								wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() + wmId.getScore() - wmScorePackage.getScore())).intValue());
+								wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() + wmId.getScore() - wmScorePackage.getScore()))
+										.intValue());
 								wmId.setScore(wmScorePackage.getScore());
 							}
-						} else if (wms.getKfpjf() != null && !wmScorePackage.getRelationScoreId().equals("") && wmScorePackage.getScore() > wms.getKfpjf() + wmId.getScore()) {
+						} else if (wms.getKfpjf() != null && !wmScorePackage.getRelationScoreId()
+								.equals("") && wmScorePackage.getScore() > wms.getKfpjf() + wmId.getScore()) {
 							return R.failed("可分配积分不足");
-						} else if ("".equals(wmScorePackage.getRelationScoreId()) && wms.getId().equals(wmId.getRelationScoreId())) {//判断关联积分包是否为无
+						} else if ("".equals(wmScorePackage.getRelationScoreId()) && wms.getId()
+								.equals(wmId.getRelationScoreId())) {//判断关联积分包是否为无
 							wms.setKfpjf(wmId.getScore() + wms.getKfpjf());
 						} else if (wms.getId().equals(wmId.getRelationScoreId())) {
 							wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() + wmId.getScore())).intValue());
@@ -2251,7 +2313,8 @@ public class WmScorePackageController {
 							List<WmScorePackage> wmScorePackages = wmScorePackageService.selectRelationScoreId(wmId.getId());
 							if (wmScorePackages.size() > 0) {
 								for (WmScorePackage wmScorePackage1 : wmScorePackages) {
-									if (null != wmScorePackage1.getRelationScoreId() && wmScorePackage1.getRelationScoreId().equals(wmId.getRelationScoreId())) {
+									if (null != wmScorePackage1.getRelationScoreId() && wmScorePackage1.getRelationScoreId()
+											.equals(wmId.getRelationScoreId())) {
 										wms.setPackageIsConduct("1");
 										break;
 									} else {
@@ -2263,7 +2326,8 @@ public class WmScorePackageController {
 						}
 					}
 				}
-				if (null != wmScorePackage.getWmScoreTaskTypeList() && wmScorePackage.getWmScoreTaskTypeList().size() > 0) {
+				if (null != wmScorePackage.getWmScoreTaskTypeList() && wmScorePackage.getWmScoreTaskTypeList()
+						.size() > 0) {
 					List<WmScoreTaskType> wmScoreTaskTypess = new ArrayList<>();
 					for (WmScoreTaskType wmScoreTaskTypes : wmScorePackage.getWmScoreTaskTypeList()) {
 						WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
@@ -2322,9 +2386,26 @@ public class WmScorePackageController {
 	// 	return wmScorePackageService.getScorePackagePage(page, wmScorePackage);
 	// }
 
+	// /**
+	//  * 分配积分列表查询--派工平台
+	//  *
+	//  */
+	// @ApiOperation(value = "分页查询", notes = "分页查询")
+	// @GetMapping("/getScorePackagePage")
+	// public R getScorePackagePage(@RequestParam(value = "current") Integer current,
+	// 							 @RequestParam(value = "size") Integer size,
+	// 							 @RequestParam(value = "packageType1") Integer packageType1,
+	// 							 @RequestParam(value = "packageType2") Integer packageType2,
+	// 							 @RequestParam(value = "scorePackageName",required = false) String scorePackageName,
+	// 							 @RequestParam(value = "scorePackageStatus",required = false) Integer scorePackageStatus,
+	// 							 @RequestParam(value = "typeid",required = false) String typeId
+	// ) {
+	// 	return wmScorePackageService.getScorePackagePage(new Page<WmScorePackage>(current,size),
+	// 			packageType1,packageType2,scorePackageName,scorePackageStatus,typeId);
+	// }
+
 	/**
 	 * 分配积分列表查询--派工平台
-	 *
 	 */
 	@ApiOperation(value = "分页查询", notes = "分页查询")
 	@GetMapping("/getScorePackagePage")
@@ -2332,12 +2413,54 @@ public class WmScorePackageController {
 								 @RequestParam(value = "size") Integer size,
 								 @RequestParam(value = "packageType1") Integer packageType1,
 								 @RequestParam(value = "packageType2") Integer packageType2,
-								 @RequestParam(value = "scorePackageName",required = false) String scorePackageName,
-								 @RequestParam(value = "scorePackageStatus",required = false) Integer scorePackageStatus,
-								 @RequestParam(value = "typeid",required = false) String typeId
+								 @RequestParam(value = "scorePackageName", required = false) String scorePackageName,
+								 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
+								 @RequestParam(value = "typeid", required = false) String typeId
 	) {
-		return wmScorePackageService.getScorePackagePage(new Page<WmScorePackage>(current,size),
-				packageType1,packageType2,scorePackageName,scorePackageStatus,typeId);
+
+		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
+
+		LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
+				.eq(WmScorePackage::getPackageType1, packageType1)
+				.eq(WmScorePackage::getPackageType2, packageType2)
+				.like(StrUtil.isNotEmpty(scorePackageName), WmScorePackage::getScorePackageName, scorePackageName)
+				.eq(scorePackageStatus != null, WmScorePackage::getScorePackageStatus, scorePackageStatus)
+				.eq(WmScorePackage::getSendPackageDeptId, sendDeptId);
+
+		if (StringUtil.isEmpty(typeId)) {
+			queryWrapper.in(WmScorePackage::getTypeid, "3", "4");
+		} else {
+			List<String> split = StrUtil.split(typeId, StrUtil.C_COMMA);
+			queryWrapper.in(WmScorePackage::getTypeid, split);
+		}
+
+		Page<WmScorePackage> wmScorePackagePage = wmScorePackageMapper.selectPage(new Page<>(current, size), queryWrapper
+				.orderByDesc(WmScorePackage::getCreateTime));
+
+		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
+
+		List<Future<WmScorePackage>> futureList = new ArrayList<>(pageRecords.size());
+
+		for (WmScorePackage scorePackage : pageRecords) {
+			Future<WmScorePackage> wmScorePackageFuture = wmScorePackageService.buildScorePackage(scorePackage, packageType1, packageType2);
+			futureList.add(wmScorePackageFuture);
+		}
+
+		List<WmScorePackage> finalRecords = new ArrayList<>(pageRecords.size());
+		try {
+			for (Future<WmScorePackage> future : futureList) {
+				WmScorePackage wmScorePackage = future.get();
+				finalRecords.add(wmScorePackage);
+
+			}
+
+			wmScorePackagePage.setRecords(finalRecords);
+		} catch (ExecutionException | InterruptedException e) {
+			log.error("获取分页信息失败");
+			return R.failed("获取分页信息失败");
+		}
+
+		return R.ok(wmScorePackagePage);
 	}
 
 	/**
@@ -2562,7 +2685,7 @@ public class WmScorePackageController {
 			List<WmScorePackage> wmScorePackageList = new ArrayList<>();
 			List<ErrorInfoVo> errorList = new ArrayList<>();
 			List mapList = new ArrayList<>();
-			Map<String,Object> map = new HashMap<>();
+			Map<String, Object> map = new HashMap<>();
 			log.info(">>> 通过excel批量创建用户开始 <<<");
 			// 行数据
 			for (int i = 1; i <= rowNum; i++) {
@@ -2594,15 +2717,15 @@ public class WmScorePackageController {
 					String columnName = row0.getCell(j).getStringCellValue();
 					int columnNum = j + 1;
 
-						if (null == row.getCell(j)) {
-								ErrorInfoVo errorInfoVo = new ErrorInfoVo();
-								errorInfoVo.setRowNum(rNum);
-								errorInfoVo.setColumnNum(columnNum);
-								errorInfoVo.setColumnName(columnName);
-								errorInfoVo.setContent(null);
-								errorInfoVo.setReason("列数据为空");
-								errorList.add(errorInfoVo);
-								continue;
+					if (null == row.getCell(j)) {
+						ErrorInfoVo errorInfoVo = new ErrorInfoVo();
+						errorInfoVo.setRowNum(rNum);
+						errorInfoVo.setColumnNum(columnNum);
+						errorInfoVo.setColumnName(columnName);
+						errorInfoVo.setContent(null);
+						errorInfoVo.setReason("列数据为空");
+						errorList.add(errorInfoVo);
+						continue;
 					}
 					// 格式化字符串
 					row.getCell(j).setCellType(CellType.STRING);
@@ -2614,17 +2737,17 @@ public class WmScorePackageController {
 							.replace("+", "·");
 
 					// 校验value
-					if(!columnName.equals("有效任务类型")&&!columnName.equals("接单对象")&&!columnName.equals("描述")){
-					if (StringUtil.isEmpty(value)) {
-						ErrorInfoVo errorInfoVo = new ErrorInfoVo();
-						errorInfoVo.setRowNum(rNum);
-						errorInfoVo.setColumnNum(columnNum);
-						errorInfoVo.setColumnName(columnName);
-						errorInfoVo.setContent(value);
-						errorInfoVo.setReason("未填写数据");
-						errorList.add(errorInfoVo);
-						continue;
-					}
+					if (!columnName.equals("有效任务类型") && !columnName.equals("接单对象") && !columnName.equals("描述")) {
+						if (StringUtil.isEmpty(value)) {
+							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
+							errorInfoVo.setRowNum(rNum);
+							errorInfoVo.setColumnNum(columnNum);
+							errorInfoVo.setColumnName(columnName);
+							errorInfoVo.setContent(value);
+							errorInfoVo.setReason("未填写数据");
+							errorList.add(errorInfoVo);
+							continue;
+						}
 					}
 
 					if (j == 0) {
@@ -2633,7 +2756,7 @@ public class WmScorePackageController {
 						wmScorePackage1.setScorePackageName(value);
 						wmScorePackage1.setDeptId(String.valueOf(SecurityUtils.getUser().getDeptId()));
 						WmScorePackage wmScorePackage2 = wmScorePackageMapper.selectByName(wmScorePackage1);
-						if(wmScorePackage2!=null){
+						if (wmScorePackage2 != null) {
 							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 							errorInfoVo.setRowNum(rNum);
 							errorInfoVo.setColumnNum(columnNum);
@@ -2642,17 +2765,17 @@ public class WmScorePackageController {
 							errorInfoVo.setReason(String.format("{%s }已被占用", value));
 							errorList.add(errorInfoVo);
 							continue;
-						}else{
+						} else {
 							wmScorePackage.setScorePackageName(value);
 						}
 					} else if (j == 1) {
-						if("兼职学术信息沟通专员".equals(value)){
+						if ("兼职学术信息沟通专员".equals(value)) {
 							wmScorePackage.setTypeid("4");
-							wmScorePackage.setScorePackageStatus(1+"");
-						}else if("全职学术信息沟通专员".equals(value)){
+							wmScorePackage.setScorePackageStatus(1 + "");
+						} else if ("全职学术信息沟通专员".equals(value)) {
 							wmScorePackage.setTypeid("3");
-							wmScorePackage.setScorePackageStatus(3+"");
-						}else{
+							wmScorePackage.setScorePackageStatus(3 + "");
+						} else {
 							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 							errorInfoVo.setRowNum(rNum);
 							errorInfoVo.setColumnNum(columnNum);
@@ -2663,21 +2786,28 @@ public class WmScorePackageController {
 							continue;
 						}
 					} else if (j == 2) {
-						if(wmScorePackage.getTypeid().equals("3")){
-							if(!value.equals("")&&!value.equals(null)){
+						if (wmScorePackage.getTypeid().equals("3")) {
+							if (!value.equals("") && !value.equals(null)) {
 								List list = new ArrayList();
 								UserDTO userDTO = new UserDTO();
 								userDTO.setDeptId(SecurityUtils.getUser().getDeptId());
 								List<UserVO> userList = sysUserMapper.selectByDeptId(userDTO);
 //								List<Stream<SysRole>> ids = userList.stream().filter(p->p.getRoleList().stream().filter(k->k.getRoleId().equals(5))).collect(Collectors.toList());
-								List<UserVO> list1 = userList.stream().filter(p->CollectionUtils.isNotEmpty(p.getRoleList().stream().filter(k->k.getRoleId().equals(5)).collect(Collectors.toList()))).collect(Collectors.toList());
-								if(CollectionUtils.isNotEmpty(list1)) {
-									List<String> list2 = list1.stream().map(p -> p.getUsername()).collect(Collectors.toList());
+								List<UserVO> list1 = userList.stream()
+										.filter(p -> CollectionUtils.isNotEmpty(p.getRoleList()
+												.stream()
+												.filter(k -> k.getRoleId().equals(5))
+												.collect(Collectors.toList())))
+										.collect(Collectors.toList());
+								if (CollectionUtils.isNotEmpty(list1)) {
+									List<String> list2 = list1.stream()
+											.map(p -> p.getUsername())
+											.collect(Collectors.toList());
 									if (list2.contains(value)) {
 										list.add(value);
 										wmScorePackage.setUserList(list);
 									}
-								}else{
+								} else {
 									ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 									errorInfoVo.setRowNum(rNum);
 									errorInfoVo.setColumnNum(columnNum);
@@ -2687,7 +2817,7 @@ public class WmScorePackageController {
 									errorList.add(errorInfoVo);
 									continue;
 								}
-							}else{
+							} else {
 								ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 								errorInfoVo.setRowNum(rNum);
 								errorInfoVo.setColumnNum(columnNum);
@@ -2697,22 +2827,22 @@ public class WmScorePackageController {
 								errorList.add(errorInfoVo);
 								continue;
 							}
-						}else{
+						} else {
 							wmScorePackage.setUserList(null);
 							wmScorePackage.setScorePackageStatus("1");
 						}
 					} else if (j == 3) {
 						wmScorePackage.setScore(Integer.parseInt(value));
 					} else if (j == 4) {
-						SysDept sysDept2=new SysDept();
+						SysDept sysDept2 = new SysDept();
 						sysDept2.setDeptId(SecurityUtils.getUser().getDeptId());
-						List<SysDept> list=sysDeptService.getAllParentDept(sysDept2);
+						List<SysDept> list = sysDeptService.getAllParentDept(sysDept2);
 						boolean b = list.parallelStream().noneMatch(SysDept -> value.equals(SysDept.getName()));
 //						List<String> name = list.stream().map(p->p.getName()).collect(Collectors.toList());
-						if(!b){
+						if (!b) {
 							List<SysDept> sysDept3 = sysDeptService.selectByName(value);
 							wmScorePackage.setRelatedService(String.valueOf(sysDept3.get(0).getDeptId()));
-						}else{
+						} else {
 							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 							errorInfoVo.setRowNum(rNum);
 							errorInfoVo.setColumnNum(columnNum);
@@ -2722,34 +2852,36 @@ public class WmScorePackageController {
 							errorList.add(errorInfoVo);
 							continue;
 						}
-					}  else if (j == 5) {
+					} else if (j == 5) {
 						WmScorePackage wmScorePackage1 = new WmScorePackage();
 						wmScorePackage1.setScorePackageName(value);
 						wmScorePackage1.setDeptId(String.valueOf(SecurityUtils.getUser().getDeptId()));
 						WmScorePackage wmScorePackage2 = wmScorePackageMapper.selectByName(wmScorePackage1);
-						if(!wmScorePackage1.getScorePackageName().equals("无")&&wmScorePackage2!=null){
+						if (!wmScorePackage1.getScorePackageName().equals("无") && wmScorePackage2 != null) {
 							wmScorePackage.setRelationScoreId(wmScorePackage2.getId());
-							if(i!=1){
-								map.put("id1",wmScorePackage.getRelationScoreId());
+							if (i != 1) {
+								map.put("id1", wmScorePackage.getRelationScoreId());
 								mapList.add(map.get("id1"));
-								map.put(wmScorePackage.getRelationScoreId(),wmScorePackage.getScore());
+								map.put(wmScorePackage.getRelationScoreId(), wmScorePackage.getScore());
 							}
-							if(map.get("id")!=null){
-								if(mapList.contains(wmScorePackage.getRelationScoreId())){
-									map.put(wmScorePackage.getRelationScoreId(),wmScorePackage.getScore()+(Integer)map.get(wmScorePackage.getRelationScoreId()));
-								}else{
-									map.put(wmScorePackage.getRelationScoreId(),wmScorePackage.getScore());
+							if (map.get("id") != null) {
+								if (mapList.contains(wmScorePackage.getRelationScoreId())) {
+									map.put(wmScorePackage.getRelationScoreId(), wmScorePackage.getScore() + (Integer) map
+											.get(wmScorePackage.getRelationScoreId()));
+								} else {
+									map.put(wmScorePackage.getRelationScoreId(), wmScorePackage.getScore());
 								}
-							}else{
-								map.put("id",wmScorePackage.getRelationScoreId());
+							} else {
+								map.put("id", wmScorePackage.getRelationScoreId());
 								mapList.add(map.get("id"));
-								map.put(wmScorePackage.getRelationScoreId(),wmScorePackage.getScore());
+								map.put(wmScorePackage.getRelationScoreId(), wmScorePackage.getScore());
 							}
-							List<WmScoreTaskType> taskTypelist =wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(wmScorePackage2.getId());
+							List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(wmScorePackage2
+									.getId());
 							wmScorePackage.setTaskTypeList1(taskTypelist);
-						} else if(wmScorePackage1.getScorePackageName().equals("无")){
+						} else if (wmScorePackage1.getScorePackageName().equals("无")) {
 							wmScorePackage.setRelationScoreId(null);
-						} else{
+						} else {
 							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 							errorInfoVo.setRowNum(rNum);
 							errorInfoVo.setColumnNum(columnNum);
@@ -2760,11 +2892,11 @@ public class WmScorePackageController {
 							continue;
 						}
 					} else if (j == 6) {
-						if("仅内部可见".equals(value)){
+						if ("仅内部可见".equals(value)) {
 							wmScorePackage.setPackageUserScope("1");
-						}else if("全部可见".equals(value)){
+						} else if ("全部可见".equals(value)) {
 							wmScorePackage.setPackageUserScope("2");
-						}else{
+						} else {
 							ErrorInfoVo errorInfoVo = new ErrorInfoVo();
 							errorInfoVo.setRowNum(rNum);
 							errorInfoVo.setColumnNum(columnNum);
@@ -2774,19 +2906,19 @@ public class WmScorePackageController {
 							errorList.add(errorInfoVo);
 							continue;
 						}
-					} else if (j==7){
+					} else if (j == 7) {
 						String types = value;
-						if(types.contains("&")){
-						String[]  strs=types.split("&");
-						Arrays.asList(strs);
-						List<WmTaskTypeTree> list2 = new ArrayList();
-						for(int k=0;k<strs.length;k++){
-							WmTaskTypeTree wmTaskTypeTree = new WmTaskTypeTree();
-							wmTaskTypeTree.setTaskTypeName(strs[k]);
-							list2.add(wmTaskTypeTree);
-						}
-						wmScorePackage.setTaskTypeList(list2);
-						}else{
+						if (types.contains("&")) {
+							String[] strs = types.split("&");
+							Arrays.asList(strs);
+							List<WmTaskTypeTree> list2 = new ArrayList();
+							for (int k = 0; k < strs.length; k++) {
+								WmTaskTypeTree wmTaskTypeTree = new WmTaskTypeTree();
+								wmTaskTypeTree.setTaskTypeName(strs[k]);
+								list2.add(wmTaskTypeTree);
+							}
+							wmScorePackage.setTaskTypeList(list2);
+						} else {
 							List<WmTaskTypeTree> list2 = new ArrayList();
 							WmTaskTypeTree wmTaskTypeTree = new WmTaskTypeTree();
 							wmTaskTypeTree.setTaskTypeName(value);
@@ -2794,12 +2926,13 @@ public class WmScorePackageController {
 							wmScorePackage.setTaskTypeList(list2);
 						}
 
-					} else if (j==8){
+					} else if (j == 8) {
 						wmScorePackage.setDescription(value);
 					}
 					wmScorePackage.setPackageType1("1");
 					wmScorePackage.setPackageType2("1");
-					wmScorePackage.setBelongDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM")) + "");
+					wmScorePackage.setBelongDate(LocalDateTime.now()
+							.format(DateTimeFormatter.ofPattern("yyyy-MM")) + "");
 				}
 
 				wmScorePackageList.add(wmScorePackage);
@@ -2807,10 +2940,10 @@ public class WmScorePackageController {
 
 			// 判断是否有错误的数据行,如果没有,执行入库操作
 			if (CollectionUtils.isEmpty(errorList)) {
-				for(WmScorePackage wmScorePackage : wmScorePackageList) {
-					if (wmScorePackage.getRelationScoreId()!=null) {
+				for (WmScorePackage wmScorePackage : wmScorePackageList) {
+					if (wmScorePackage.getRelationScoreId() != null) {
 						if (mapList.contains(wmScorePackage.getRelationScoreId())) {
-							Map<String,Object> map1 = new HashMap<>();
+							Map<String, Object> map1 = new HashMap<>();
 							map1.put("type", wmScorePackage.getTypeid());
 							String deptId = String.valueOf(SecurityUtils.getUser().getDeptId());
 							wmScorePackage.setDeptId(deptId);
@@ -2835,263 +2968,273 @@ public class WmScorePackageController {
 						}
 					}
 				}
-					wmScorePackageService.saveBatch(wmScorePackageList);
-				for(WmScorePackage wmScorePackage : wmScorePackageList){
-
-					if(wmScorePackage.getUserList()!=null&&wmScorePackage.getUserList().size()>0){
-					WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
-					SysUser sysUser = new SysUser();
-					sysUser.setUsername(wmScorePackage.getUserList().get(0));
-					sysUser.setDeptId(SecurityUtils.getUser().getDeptId());
-					SysUser sysUser1 = sysUserMapper.selectUserByName(sysUser);
-					wmScorePackageStatus.setUserId(sysUser1.getUserId()+"");
-					wmScorePackageStatus.setStatus("2");
-					wmScorePackageStatus.setPackageId(wmScorePackage.getId());
-					wmScorePackageStatus.setDeptId(SecurityUtils.getUser().getDeptId() + "");
-					wmScorePackageStatus.setUserScore(wmScorePackage.getScore() + "");
-					wmScorePackageStatus.setEnableFlag("0");
-					wmScorePackageStatus.setDelFlag("0");
-					wmScorePackageStatus.setCreateTime(LocalDateTime.now());
-					wmScorePackageStatus.setCreateUser(SecurityUtils.getUser().getId());
-					wmScorePackageStatusService.save(wmScorePackageStatus);
+				wmScorePackageService.saveBatch(wmScorePackageList);
+				for (WmScorePackage wmScorePackage : wmScorePackageList) {
+
+					if (wmScorePackage.getUserList() != null && wmScorePackage.getUserList().size() > 0) {
+						WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
+						SysUser sysUser = new SysUser();
+						sysUser.setUsername(wmScorePackage.getUserList().get(0));
+						sysUser.setDeptId(SecurityUtils.getUser().getDeptId());
+						SysUser sysUser1 = sysUserMapper.selectUserByName(sysUser);
+						wmScorePackageStatus.setUserId(sysUser1.getUserId() + "");
+						wmScorePackageStatus.setStatus("2");
+						wmScorePackageStatus.setPackageId(wmScorePackage.getId());
+						wmScorePackageStatus.setDeptId(SecurityUtils.getUser().getDeptId() + "");
+						wmScorePackageStatus.setUserScore(wmScorePackage.getScore() + "");
+						wmScorePackageStatus.setEnableFlag("0");
+						wmScorePackageStatus.setDelFlag("0");
+						wmScorePackageStatus.setCreateTime(LocalDateTime.now());
+						wmScorePackageStatus.setCreateUser(SecurityUtils.getUser().getId());
+						wmScorePackageStatusService.save(wmScorePackageStatus);
 					}
 
-					if(wmScorePackage.getRelationScoreId()!=null){
-					if(wmScorePackage.getRelationScoreId().equals(map.get("id"))){
-						WmScorePackage wmScorePackage1 = wmScorePackageService.getById(wmScorePackage.getRelationScoreId());
-						wmScorePackage1.setKfpjf(wmScorePackage1.getKfpjf()-(Integer)map.get(wmScorePackage.getRelationScoreId()));
-						wmScorePackageService.updateById(wmScorePackage1);
-					}
+					if (wmScorePackage.getRelationScoreId() != null) {
+						if (wmScorePackage.getRelationScoreId().equals(map.get("id"))) {
+							WmScorePackage wmScorePackage1 = wmScorePackageService.getById(wmScorePackage.getRelationScoreId());
+							wmScorePackage1.setKfpjf(wmScorePackage1.getKfpjf() - (Integer) map.get(wmScorePackage.getRelationScoreId()));
+							wmScorePackageService.updateById(wmScorePackage1);
+						}
 					}
 
-					if(wmScorePackage.getRelationScoreId()!=null&&wmScorePackage.getRelationScoreId()!=null){
-					List<String> list= wmScorePackage.getTaskTypeList1().stream().map(p->p.getTaskTypeId()).collect(Collectors.toList());
-					    for(String id : list){
-							WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+					if (wmScorePackage.getRelationScoreId() != null && wmScorePackage.getRelationScoreId() != null) {
+						List<String> list = wmScorePackage.getTaskTypeList1()
+								.stream()
+								.map(p -> p.getTaskTypeId())
+								.collect(Collectors.toList());
+						for (String id : list) {
+							WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 							wmScoreTaskType.setScoreId(wmScorePackage.getId());
 							wmScoreTaskType.setTaskTypeId(id);
 							wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 						}
-					}else if(wmScorePackage.getTaskTypeList().get(0).getTaskTypeName().equals("全部")&&wmScorePackage.getRelationScoreId()==null){
-						WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+					} else if (wmScorePackage.getTaskTypeList()
+							.get(0)
+							.getTaskTypeName()
+							.equals("全部") && wmScorePackage.getRelationScoreId() == null) {
+						WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 						wmScoreTaskType.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM1.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType);
-						WmScoreTaskType wmScoreTaskType1=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType1 = new WmScoreTaskType();
 						wmScoreTaskType1.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType1.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM2.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType1);
-						WmScoreTaskType wmScoreTaskType2=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType2 = new WmScoreTaskType();
 						wmScoreTaskType2.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType2.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM3.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType2);
-						WmScoreTaskType wmScoreTaskType3=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType3 = new WmScoreTaskType();
 						wmScoreTaskType3.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType3.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM4.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType3);
-						WmScoreTaskType wmScoreTaskType4=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType4 = new WmScoreTaskType();
 						wmScoreTaskType4.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType4.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM5.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType4);
-						WmScoreTaskType wmScoreTaskType5=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType5 = new WmScoreTaskType();
 						wmScoreTaskType5.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType5.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM6.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType5);
-						WmScoreTaskType wmScoreTaskType6=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType6 = new WmScoreTaskType();
 						wmScoreTaskType6.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType6.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM7.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType6);
-						WmScoreTaskType wmScoreTaskType7=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType7 = new WmScoreTaskType();
 						wmScoreTaskType7.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType7.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM8.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType7);
-						WmScoreTaskType wmScoreTaskType8=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType8 = new WmScoreTaskType();
 						wmScoreTaskType8.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType8.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM9.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType8);
-						WmScoreTaskType wmScoreTaskType9=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType9 = new WmScoreTaskType();
 						wmScoreTaskType9.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType9.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM10.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType9);
-						WmScoreTaskType wmScoreTaskType10=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType10 = new WmScoreTaskType();
 						wmScoreTaskType10.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType10.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM11.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType10);
-						WmScoreTaskType wmScoreTaskType11=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType11 = new WmScoreTaskType();
 						wmScoreTaskType11.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType11.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM12.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType11);
-						WmScoreTaskType wmScoreTaskType12=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType12 = new WmScoreTaskType();
 						wmScoreTaskType12.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType12.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM13.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType12);
-						WmScoreTaskType wmScoreTaskType13=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType13 = new WmScoreTaskType();
 						wmScoreTaskType13.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType13.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM14.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType13);
-						WmScoreTaskType wmScoreTaskType14=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType14 = new WmScoreTaskType();
 						wmScoreTaskType14.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType14.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM15.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType14);
-						WmScoreTaskType wmScoreTaskType15=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType15 = new WmScoreTaskType();
 						wmScoreTaskType15.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType15.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM16.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType15);
-						WmScoreTaskType wmScoreTaskType16=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType16 = new WmScoreTaskType();
 						wmScoreTaskType16.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType16.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM19.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType16);
-						WmScoreTaskType wmScoreTaskType17=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType17 = new WmScoreTaskType();
 						wmScoreTaskType17.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType17.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM17.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType17);
-						WmScoreTaskType wmScoreTaskType18=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType18 = new WmScoreTaskType();
 						wmScoreTaskType18.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType18.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM18.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType18);
-						WmScoreTaskType wmScoreTaskType19=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType19 = new WmScoreTaskType();
 						wmScoreTaskType19.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType19.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM20.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType19);
-						WmScoreTaskType wmScoreTaskType20=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType20 = new WmScoreTaskType();
 						wmScoreTaskType20.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType20.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM21.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType20);
-						WmScoreTaskType wmScoreTaskType21=new WmScoreTaskType();
+						WmScoreTaskType wmScoreTaskType21 = new WmScoreTaskType();
 						wmScoreTaskType21.setScoreId(wmScorePackage.getId());
 						wmScoreTaskType21.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM22.getType());
 						wmScoreTaskTypeMapper.insert(wmScoreTaskType21);
-					}else if(wmScorePackage.getRelationScoreId()==null&&wmScorePackage.getTaskTypeList().size()>0){
-					List<String> stringList = wmScorePackage.getTaskTypeList().stream().map(p->p.getTaskTypeName()).collect(Collectors.toList());
-						for(String name : stringList){
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM1.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+					} else if (wmScorePackage.getRelationScoreId() == null && wmScorePackage.getTaskTypeList()
+							.size() > 0) {
+						List<String> stringList = wmScorePackage.getTaskTypeList()
+								.stream()
+								.map(p -> p.getTaskTypeName())
+								.collect(Collectors.toList());
+						for (String name : stringList) {
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM1.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM1.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM2.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM2.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM2.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM3.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM3.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM3.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM4.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM4.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM4.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM5.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM5.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM5.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM6.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM6.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM6.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM7.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM7.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM7.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM8.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM8.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM8.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM9.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM9.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM9.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM10.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM10.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM10.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM11.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM11.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM11.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM12.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM12.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM12.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM13.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM13.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM13.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM14.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM14.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM14.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM15.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM15.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM15.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM16.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM16.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM16.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM19.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM19.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM19.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM17.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM17.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM17.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM18.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM18.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM18.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM20.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM20.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM20.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM21.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM21.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM21.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);
 							}
-							if(name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM22.getDescription())){
-								WmScoreTaskType wmScoreTaskType=new WmScoreTaskType();
+							if (name.equals(WmScoreTaskTypeEnum.TASK_TYPE_ENUM22.getDescription())) {
+								WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 								wmScoreTaskType.setScoreId(wmScorePackage.getId());
 								wmScoreTaskType.setTaskTypeId(WmScoreTaskTypeEnum.TASK_TYPE_ENUM22.getType());
 								wmScoreTaskTypeMapper.insert(wmScoreTaskType);

+ 5 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java

@@ -35,6 +35,7 @@ import org.apache.ibatis.annotations.Param;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.Future;
 
 /**
  * 积分包
@@ -162,8 +163,11 @@ public interface WmScorePackageService extends IService<WmScorePackage> {
 	Page<WmScorePackage> selectWmScorePackageLists(Page<WmScorePackage> page, String scorePackageName, String acceptSug,
 												   LocalDate allocationDate, LocalDate endLabelDate);
 
-	void finishRate(WmScorePackage wmScorePackage);
+	Future<WmScorePackage> finishRate(WmScorePackage wmScorePackage);
 
 	R getScorePackagePage(Page<WmScorePackage> page, Integer packageType1, Integer packageType2,
 						  String scorePackageName, Integer scorePackageStatus, String typeId);
+
+
+	Future<WmScorePackage> buildScorePackage(WmScorePackage wmScorePackage, Integer packageType1, Integer packageType2);
 }

+ 237 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -58,6 +58,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.xssf.extractor.XSSFExportToXml;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.AsyncResult;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -66,6 +67,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
 import static com.qunzhixinxi.hnqz.admin.enums.ReportEnum.REPORT_STATUS_CREATE;
@@ -1584,8 +1586,8 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 
 	@Override
-	// @Async("doSelectWmScorePackageListsPool")
-	public void finishRate(WmScorePackage wmScorePackage) {
+	@Async("doSelectWmScorePackageListsPool")
+	public Future<WmScorePackage> finishRate(WmScorePackage wmScorePackage) {
 		String packageId = wmScorePackage.getId();
 		Set<String> scorePackageIdSet = stepA(packageId);
 		List<Map<String, Object>> stepB_1 = stepB_1(scorePackageIdSet);
@@ -1595,7 +1597,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		m.addAll(stepB_1);
 		m.addAll(stepB_2);
 		Map<String, Integer> result = step3(m);
-		step4(result, wmScorePackage);
+		WmScorePackage p = step4(result, wmScorePackage);
+
+		return new AsyncResult<>(p);
 	}
 
 	@Override
@@ -1607,7 +1611,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 		LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
 				.eq(WmScorePackage::getPackageType1, packageType1)
-				.eq(WmScorePackage::getPackageType1, packageType1)
+				.eq(WmScorePackage::getPackageType2, packageType2)
 				.like(StrUtil.isNotEmpty(scorePackageName), WmScorePackage::getScorePackageName, scorePackageName)
 				.eq(scorePackageStatus != null, WmScorePackage::getScorePackageStatus, scorePackageStatus)
 				.eq(WmScorePackage::getSendPackageDeptId, sendDeptId);
@@ -1753,7 +1757,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 
 			// 设置
-			scorePackage.setYsh(yshtt >= 100 ? scorePackage.getScore() : ysh);
+			scorePackage.setYsh(yshtt > 100 ? scorePackage.getScore() : ysh);
 			scorePackage.setYjd((int) yjd);
 			scorePackage.setYjddsh((int) yjddsh);
 			scorePackage.setDsh(dsh);
@@ -1846,6 +1850,231 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		return R.ok(wmScorePackagePage);
 	}
 
+	@Override
+	@Async(value = "doGetScorePackagePagePool")
+	public Future<WmScorePackage> buildScorePackage(WmScorePackage scorePackage, Integer packageType1, Integer packageType2) {
+
+		List<String> reportWaitingCheckStatus = Arrays.asList("0", "1");
+
+		// 任务统计
+		List<WmTask> taskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
+				.eq(WmTask::getRealFlag, "0")
+				.eq(WmTask::getEnableFlag, "0")
+				.eq(WmTask::getDelFlag, "0")
+				.eq(WmTask::getScorePackageId, scorePackage.getId())
+		);
+
+		// 审核通过
+		int shtg = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getReportDrugApprovalOpinion(), "1") || StrUtil.equals(t.getReportOneApprovalOpinion(), "1"))
+				.mapToInt(WmTask::getScore)
+				.sum();
+		// 审核 不通过
+		int shbtg = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getReportDrugApprovalOpinion(), "2") || StrUtil.equals(t.getReportOneApprovalOpinion(), "2"))
+				.mapToInt(WmTask::getScore)
+				.sum();
+		// 审核通过数
+		long shtgnum = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getReportDrugApprovalOpinion(), "1") || StrUtil.equals(t.getReportOneApprovalOpinion(), "1"))
+				.count();
+		// 审核不通过数
+		long shbtgnum = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getReportDrugApprovalOpinion(), "2") || StrUtil.equals(t.getReportOneApprovalOpinion(), "2"))
+				.count();
+		// 平台未审核
+		int temp = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getTaskStatus(), "1"))
+				.mapToInt(WmTask::getScore)
+				.sum();
+		// 待审核
+		int dsh = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getTaskStatus(), "2"))
+				.mapToInt(WmTask::getScore)
+				.sum();
+		// 已审核
+		int ysh = taskList.parallelStream()
+				.filter(t -> StrUtil.equals(t.getTaskStatus(), "3"))
+				.mapToInt(WmTask::getScore)
+				.sum();
+		// 已审核数
+		long yshnum = taskList.parallelStream().filter(t -> StrUtil.equals(t.getTaskStatus(), "3")).count();
+		// 已提交
+		int ytj = temp + dsh + ysh;
+
+		// 已审核百分比
+		long yshtt = 0;
+		// 审核通过百分比
+		long shtgtt = 0;
+		// 审核不通过百分比
+		long shbtgtt = 0;
+		if (StrUtil.equals(scorePackage.getPackageType1(), "1")) {
+			int score = scorePackage.getScore();
+			yshtt = ysh * 100L / score;
+			yshtt = yshtt > 100 ? 100 : yshtt;
+
+			shtgtt = shtg * 100L / score;
+			shtgtt = shtgtt > 100 ? 100 : shtgtt;
+
+			shbtgtt = shbtg * 100L / score;
+			shbtgtt = shbtgtt > 100 ? 100 : shbtgtt;
+		} else {
+			int score = scorePackage.getUserNum() * scorePackage.getTaskNum();
+			yshtt = yshnum * 100 / score;
+			shtgtt = shtgnum * 100 / score;
+			shbtgtt = shbtgnum * 100 / score;
+		}
+
+
+		// 领取积分包记录
+		List<WmScorePackageStatus> scorePackageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
+				.eq(WmScorePackageStatus::getPackageId, scorePackage.getId())
+		);
+
+		List<WmScorePackageStatus> packageStatusList = scorePackageStatusList.stream()
+				.filter(s -> StrUtil.equals(s.getEnableFlag(), "0") && StrUtil.equals(s.getDelFlag(), "0"))
+				.collect(Collectors.toList());
+
+
+		List<WmScorePackageStatus> staList = scorePackageStatusList.stream()
+				.filter(record -> StrUtil.equals(record.getStatus(), "2"))
+				.collect(Collectors.toList());;
+
+		if (CollUtil.isNotEmpty(staList)) {
+			List<String> userIdList = staList.stream()
+					.map(WmScorePackageStatus::getUserId)
+					.collect(Collectors.toList());
+
+			List<String> userNameList = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery()
+					.in(SysUser::getUserId, userIdList))
+					.stream()
+					.map(SysUser::getRealname)
+					.collect(Collectors.toList());
+			scorePackage.setUserList(userNameList);
+			scorePackage.setUserListNum(userNameList.size());
+		} else {
+			scorePackage.setUserListNum(0);
+		}
+
+		// 已结单
+		long yjd = packageStatusList.stream()
+				.filter(s -> StrUtil.equalsAny(s.getStatus(), "1", "2"))
+				.count();
+		// 已结单待审核
+		long yjddsh = packageStatusList.stream()
+				.filter(s -> StrUtil.equals(s.getStatus(), "1"))
+				.count();
+
+
+		//获取上级包
+		WmScorePackage relationScorePackage = wmScorePackageMapper.selectOne(Wrappers.<WmScorePackage>lambdaQuery()
+				.eq(WmScorePackage::getId, scorePackage.getRelationScoreId()).last("limit 1"));
+
+
+		// 类型标签
+		SysDictItem package_type1 = sysDictItemService.getOne(Wrappers.<SysDictItem>lambdaQuery()
+				.eq(SysDictItem::getType, "package_type1")
+				.eq(SysDictItem::getValue, packageType1));
+		SysDictItem package_type2 = sysDictItemService.getOne(Wrappers.<SysDictItem>lambdaQuery()
+				.eq(SysDictItem::getType, "package_type2")
+				.eq(SysDictItem::getValue, packageType2));
+
+		String type1Lable = package_type1.getLabel();
+		String type2Lable = package_type2.getLabel();
+
+
+		// 设置
+		scorePackage.setYsh(yshtt > 100 ? scorePackage.getScore() : ysh);
+		scorePackage.setYjd((int) yjd);
+		scorePackage.setYjddsh((int) yjddsh);
+		scorePackage.setDsh(dsh);
+		scorePackage.setShtg(shtg);
+		scorePackage.setShbtg(shbtg);
+		scorePackage.setShbtgnum((int) shbtgnum);
+		scorePackage.setShtgnum((int) shtgnum);
+		scorePackage.setDsh(dsh);
+		scorePackage.setIsTask(scorePackage.getId());
+		scorePackage.setYtj(ytj);
+		scorePackage.setYshtt((int) yshtt);
+		scorePackage.setShtgtt((int) shtgtt);
+		scorePackage.setShbtgtt((int) shbtgtt);
+		scorePackage.setPackageType1(type1Lable);
+		scorePackage.setPackageType2(type2Lable);
+		scorePackage.setRelationScoreId(relationScorePackage != null ? relationScorePackage.getScorePackageName(): null);
+
+
+		// 结算记录
+		WmScorePackageSettleNote note = settleNoteMapper.selectOne(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
+				.eq(WmScorePackageSettleNote::getPackageId, scorePackage.getId()).last("limit 1"));
+
+		if (note != null) {
+			scorePackage.setNotifyDate(note.getNotifyTime());
+		}
+
+		if ("2".equals(scorePackage.getPackageType2())) {
+
+			LambdaQueryWrapper<WmScorePackageSettleNote> wrapper = Wrappers.<WmScorePackageSettleNote>lambdaQuery()
+					.eq(WmScorePackageSettleNote::getPackageId, scorePackage.getId());
+
+			int wsNum = settleNoteMapper.selectCount(wrapper.in(WmScorePackageSettleNote::getSettleNoteStatus, 2, 9));
+			int asNum = settleNoteMapper.selectCount(wrapper.eq(WmScorePackageSettleNote::getSettleNoteStatus, 1));
+			scorePackage.setWsTaskNum(wsNum);
+			scorePackage.setAsTaskNum(asNum);
+
+		}
+
+		if (PackageTypeEnum.TYPE1_HCP_PACKAGE.getName().equals(scorePackage.getPackageType1())) {
+			// 如果是患者教育,则转换积分值 '分'-> '元'
+			Integer score = scorePackage.getScore();
+			String userScore = scorePackage.getUserScore();
+			if (StringUtils.isNumeric(userScore)) {
+				scorePackage.setUserScore(String.format("%.2f", Integer.parseInt(userScore) / 100.0));
+			}
+		}
+
+		List<WmScoreTaskType> taskTypeList = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(scorePackage.getId());
+		if (CollUtil.isNotEmpty(taskTypeList)) {
+			String taskTypes = taskTypeList.stream().map(
+					WmScoreTaskType::getTaskTypeName).collect(Collectors.joining(","));
+			scorePackage.setTaskTypes(taskTypes);
+		}
+
+
+		// 设置中止状态
+		WmScorePackage.PackageStopStatus stopStatus;
+
+		if (scorePackage.getRelationScoreId() == null) {
+			stopStatus = WmScorePackage.PackageStopStatus.ALL_IN;
+		} else {
+
+			//统计发包方还未审核的
+			long drugNeedToCheckCount = taskList.stream()
+					.filter(t -> "3".equals(t.getTaskStatus()) && "2".equals(t.getReportOneApprovalStatus()))
+					.count();
+
+			// 统计cso未审核 和审核通过的还未提交到药企的任务数
+			long csoNeedToCheckCount = taskList.stream()
+					.filter(t -> "2".equals(t.getTaskStatus()) ||
+							("3".equals(t.getTaskStatus()) && reportWaitingCheckStatus.contains(t.getReportOneApprovalStatus())))
+					.count();
+
+			// 如果有发包方未审核的不能中止
+			if (drugNeedToCheckCount != 0L) {
+				stopStatus = WmScorePackage.PackageStopStatus.NOTHING;
+			} else if (csoNeedToCheckCount != 0L) {
+				// 如果有cso未审核的提示信息
+				stopStatus = WmScorePackage.PackageStopStatus.REMAIN_MSG;
+			} else {
+				// 无提示信息
+				stopStatus = WmScorePackage.PackageStopStatus.REMAIN;
+			}
+		}
+
+		scorePackage.setStopStatus(stopStatus);
+
+		return new AsyncResult<>(scorePackage);
+	}
+
 
 	private Set<String> stepA(String packageId) {
 
@@ -1963,7 +2192,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	}
 
 
-	public void step4(Map<String, Integer> payScoreAndYsh, WmScorePackage wmScorePackage) {
+	public WmScorePackage step4(Map<String, Integer> payScoreAndYsh, WmScorePackage wmScorePackage) {
 		int payScore = payScoreAndYsh.get("payScore");
 		int ysh = payScoreAndYsh.get("ysh");
 
@@ -1994,5 +2223,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 		wmScorePackage.setPayScore(payScoreAndYsh.get("payScore"));
 		wmScorePackage.setYsh(payScoreAndYsh.get("ysh"));
+
+		return wmScorePackage;
 	}
 }