Ver Fonte

fix: 任务中心完成积分值相关和企业承接任务页面保持一致

lixuesong há 1 ano atrás
pai
commit
3b416c870d

+ 258 - 221
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -463,239 +463,276 @@ public class WmScorePackageController {
 			wmScorePackageService.listWmScorePackageAndTaskExt(page, wmScorePackage);
 		}
 
-		for (WmScorePackage ext : page.getRecords()) {
-			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(ext.getId());
-			if (taskTypelist != null && taskTypelist.size() > 0) {
-				String taskTypes = taskTypelist.stream()
-						.map(WmScoreTaskType::getTaskTypeName)
-						.collect(Collectors.joining(","));
-				ext.setTaskTypes(taskTypes);
-			}
-			if (!StringUtil.isEmpty(ext.getRelationScoreId())) {
-				WmScorePackage wm1 = wmScorePackageService.getById(ext.getRelationScoreId());
-				ext.setRelationScoreId(wm1.getScorePackageName());
-			}
-			WmScorePackage wmScorePackage2 = wmScorePackageService.getById(ext.getId());
-			wmScorePackage2.setRelationScoreId(wmScorePackage2.getId());
-			List<WmScorePackage> wmScorePackageList = wmScorePackageService.selectLists(wmScorePackage2);
-			int score = 0;
-			Integer total1 = 0;
-			Integer ytjtt = 0;
-			SysDept sysDept1 = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
-			if (wmScorePackageList.size() > 0) {
-				List<String> ids2 = wmScorePackageList.stream().map(WmScorePackage::getId).collect(Collectors.toList());
-				for (String id : ids2) {
-					WmScorePackage wmScorePackage1 = new WmScorePackage();
-					wmScorePackage1.setRelationScoreId(id);
-					List<WmScorePackage> wmScorePackageList1 = wmScorePackageService.selectLists(wmScorePackage1);
-					WmTask wmTask1 = new WmTask();
-					wmTask1.setScorePackageId(id);
-					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"))
-								.collect(Collectors.toList());
-						for (WmTask item : score1) {
-							if ("1".equals(item.getReportDrugApprovalOpinion())) {
-								total1 += item.getScore();
-
-							}
-							ytjtt += item.getScore();
-						}
-					}
-					if (sysDept1.getLevel() == 3) {
-						List<WmTask> score1 = wmTaskList.stream()
-								.filter(task -> task.getReportOneApprovalStatus().equals("6"))
-								.collect(Collectors.toList());
-						for (WmTask item : score1) {
-							if ("1".equals(item.getReportOneApprovalOpinion())) {
-								total1 += item.getScore();
-
-							}
-							ytjtt += item.getScore();
-						}
-					}
-					if (sysDept1.getLevel() == 4) {
-						List<WmTask> score1 = wmTaskList.stream()
-								.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
-								.collect(Collectors.toList());
-						for (WmTask item : score1) {
-							if ("1".equals(item.getReportSecondApprovalOpinion())) {
-								total1 += item.getScore();
-
-							}
-							ytjtt += item.getScore();
-						}
-					}
-					List<Integer> scoreList1 = wmTaskList.stream().map(WmTask::getScore).collect(Collectors.toList());
-					Integer score2 = 0;
-					for (Integer score1 : scoreList1) {
-						score2 += score1;
-					}
-					score += score2;
-					List<String> ids4 = wmScorePackageList1.stream().map(WmScorePackage::getId).collect(Collectors.toList());
-					ids4.add(ext.getId());
-					for (String id1 : ids4) {
-						WmTask wmTask2 = new WmTask();
-						wmTask2.setScorePackageId(id1);
-						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"))
-									.collect(Collectors.toList());
-							for (WmTask item : score1) {
-								if ("1".equals(item.getReportDrugApprovalOpinion())) {
-									total1 += item.getScore();
-
-								}
-								ytjtt += item.getScore();
-							}
-
-						}
-						if (sysDept1.getLevel() == 3) {
-							List<WmTask> score1 = wmTaskList1.stream()
-									.filter(task -> task.getReportOneApprovalStatus().equals("6"))
-									.collect(Collectors.toList());
-							for (WmTask item : score1) {
-								if ("1".equals(item.getReportOneApprovalOpinion())) {
-									total1 += item.getScore();
+//		for (WmScorePackage ext : page.getRecords()) {
+//			List<WmScoreTaskType> taskTypelist = wmScoreTaskTypeMapper.getScoreTaskTypeByScoreId(ext.getId());
+//			if (taskTypelist != null && taskTypelist.size() > 0) {
+//				String taskTypes = taskTypelist.stream()
+//						.map(WmScoreTaskType::getTaskTypeName)
+//						.collect(Collectors.joining(","));
+//				ext.setTaskTypes(taskTypes);
+//			}
+//			if (!StringUtil.isEmpty(ext.getRelationScoreId())) {
+//				WmScorePackage wm1 = wmScorePackageService.getById(ext.getRelationScoreId());
+//				ext.setRelationScoreId(wm1.getScorePackageName());
+//			}
+//			WmScorePackage wmScorePackage2 = wmScorePackageService.getById(ext.getId());
+//			wmScorePackage2.setRelationScoreId(wmScorePackage2.getId());
+//			List<WmScorePackage> wmScorePackageList = wmScorePackageService.selectLists(wmScorePackage2);
+//			int score = 0;
+//			Integer total1 = 0;
+//			Integer ytjtt = 0;
+//			SysDept sysDept1 = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
+//			if (wmScorePackageList.size() > 0) {
+//				List<String> ids2 = wmScorePackageList.stream().map(WmScorePackage::getId).collect(Collectors.toList());
+//				for (String id : ids2) {
+//					WmScorePackage wmScorePackage1 = new WmScorePackage();
+//					wmScorePackage1.setRelationScoreId(id);
+//					List<WmScorePackage> wmScorePackageList1 = wmScorePackageService.selectLists(wmScorePackage1);
+//					WmTask wmTask1 = new WmTask();
+//					wmTask1.setScorePackageId(id);
+//					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"))
+//								.collect(Collectors.toList());
+//						for (WmTask item : score1) {
+//							if ("1".equals(item.getReportDrugApprovalOpinion())) {
+//								total1 += item.getScore();
+//
+//							}
+//							ytjtt += item.getScore();
+//						}
+//					}
+//					if (sysDept1.getLevel() == 3) {
+//						List<WmTask> score1 = wmTaskList.stream()
+//								.filter(task -> task.getReportOneApprovalStatus().equals("6"))
+//								.collect(Collectors.toList());
+//						for (WmTask item : score1) {
+//							if ("1".equals(item.getReportOneApprovalOpinion())) {
+//								total1 += item.getScore();
+//
+//							}
+//							ytjtt += item.getScore();
+//						}
+//					}
+//					if (sysDept1.getLevel() == 4) {
+//						List<WmTask> score1 = wmTaskList.stream()
+//								.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
+//								.collect(Collectors.toList());
+//						for (WmTask item : score1) {
+//							if ("1".equals(item.getReportSecondApprovalOpinion())) {
+//								total1 += item.getScore();
+//
+//							}
+//							ytjtt += item.getScore();
+//						}
+//					}
+//					List<Integer> scoreList1 = wmTaskList.stream().map(WmTask::getScore).collect(Collectors.toList());
+//					Integer score2 = 0;
+//					for (Integer score1 : scoreList1) {
+//						score2 += score1;
+//					}
+//					score += score2;
+//					List<String> ids4 = wmScorePackageList1.stream().map(WmScorePackage::getId).collect(Collectors.toList());
+//					ids4.add(ext.getId());
+//					for (String id1 : ids4) {
+//						WmTask wmTask2 = new WmTask();
+//						wmTask2.setScorePackageId(id1);
+//						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"))
+//									.collect(Collectors.toList());
+//							for (WmTask item : score1) {
+//								if ("1".equals(item.getReportDrugApprovalOpinion())) {
+//									total1 += item.getScore();
+//
+//								}
+//								ytjtt += item.getScore();
+//							}
+//
+//						}
+//						if (sysDept1.getLevel() == 3) {
+//							List<WmTask> score1 = wmTaskList1.stream()
+//									.filter(task -> task.getReportOneApprovalStatus().equals("6"))
+//									.collect(Collectors.toList());
+//							for (WmTask item : score1) {
+//								if ("1".equals(item.getReportOneApprovalOpinion())) {
+//									total1 += item.getScore();
+//
+//								}
+//								ytjtt += item.getScore();
+//							}
+//						}
+//						if (sysDept1.getLevel() == 4) {
+//							List<WmTask> score1 = wmTaskList1.stream()
+//									.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
+//									.collect(Collectors.toList());
+//							for (WmTask item : score1) {
+//								if ("1".equals(item.getReportSecondApprovalOpinion())) {
+//									total1 += item.getScore();
+//
+//								}
+//								ytjtt += item.getScore();
+//							}
+//						}
+//						List<Integer> scoreList2 = wmTaskList1.stream()
+//								.map(WmTask::getScore)
+//								.collect(Collectors.toList());
+//						Integer score3 = 0;
+//						if (scoreList2.size() != 0) {
+//							for (Integer score1 : scoreList2) {
+//								score3 += score1;
+//							}
+//							score += score3;
+//						}
+//					}
+//				}
+//			} else {
+//				WmTask wmTask1 = new WmTask();
+//				wmTask1.setScorePackageId(ext.getId());
+//				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"))
+//							.collect(Collectors.toList());
+//					for (WmTask item : score1) {
+//						if ("1".equals(item.getReportDrugApprovalOpinion())) {
+//							total1 += item.getScore();
+//
+//						}
+//						ytjtt += item.getScore();
+//					}
+//				}
+//				if (sysDept1.getLevel() == 3) {
+//					List<WmTask> score1 = wmTaskList1.stream()
+//							.filter(task -> task.getReportOneApprovalStatus().equals("6"))
+//							.collect(Collectors.toList());
+//					for (WmTask item : score1) {
+//						if ("1".equals(item.getReportOneApprovalOpinion())) {
+//							total1 += item.getScore();
+//
+//						}
+//						ytjtt += item.getScore();
+//					}
+//				}
+//				if (sysDept1.getLevel() == 4) {
+//					List<WmTask> score1 = wmTaskList1.stream()
+//							.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
+//							.collect(Collectors.toList());
+//					for (WmTask item : score1) {
+//						if ("1".equals(item.getReportSecondApprovalOpinion())) {
+//							total1 += item.getScore();
+//
+//						}
+//						ytjtt += item.getScore();
+//					}
+//				}
+//				List<Integer> scoreList1 = wmTaskList1.stream().map(WmTask::getScore).collect(Collectors.toList());
+//				Integer score4 = 0;
+//				for (Integer score1 : scoreList1) {
+//					score4 += score1;
+//				}
+//				score = score4;
+//			}
+//
+//			// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
+//			int actualScore = BigDecimal.valueOf(score).multiply(
+//					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+//			).intValue();
+//			ext.setYsh(actualScore);
+//
+//			// ytjtt(ytjtt = 完成积分值 * (1+审核管理费比例))
+//			int actualYtjtt = BigDecimal.valueOf(ytjtt).multiply(
+//					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+//			).intValue();
+//			ext.setYtjtt(actualYtjtt);
+//
+//			// total1(total1 = 完成积分值 * (1+审核管理费比例))
+//			int actualTotal1 = BigDecimal.valueOf(total1).multiply(
+//					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+//			).intValue();
+//			ext.setPayScore(actualTotal1);
+//
+//			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
+//			BigDecimal fin1 = BigDecimal.valueOf(100.00);
+//			if (fin.compareTo(fin1) == 1) {
+//				fin = BigDecimal.valueOf(100.00);
+//			}
+//			ext.setFinishRate(fin.toString());
+//			BigDecimal payRate = new BigDecimal(actualTotal1).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
+//			if (payRate.compareTo(fin1) > 0) {
+//				payRate = BigDecimal.valueOf(100.00);
+//			}
+//			ext.setPayRate(payRate.toString());
+//			if (ext.getPayRate().equals("100.00")) {
+//				ext.setPackageFinishStatus("1");
+//			}
+//
+//			// 封装导出结果
+//			ext.setReportMqName(CacheConstants.EXPORT_NBA_REPORT_CACHE);
+//			wmScorePackageService.getReportOpt(ext);
+//			// 封装excel报告状态
+//			wmScorePackageService.getExcelReportOpt(ext, CacheConstants.EXCEL_EXPORT_NBA_REPORT_CACHE);
+//		}
+//
+//		page.getRecords().forEach(r -> {
+//			if (r.getP2pAmount() != null) {
+//				r.setP2pDraft(false);
+//			} else {
+//				String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", r.getId()));
+//				String s1 = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:service-amount:%s", r.getId()));
+//				String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", r.getId()));
+//				if (StrUtil.isNotBlank(s)) {
+//					r.setP2pAmount(new BigDecimal(s));
+//					r.setP2pServiceAmount(new BigDecimal(s1));
+//					r.setDescription(desc);
+//				}
+//				r.setP2pDraft(true);
+//			}
+//
+//		});
+
+		List<WmScorePackage> wmList = page.getRecords();
+		List<Future<WmScorePackage>> futureList = new ArrayList<>(wmList.size());
 
-								}
-								ytjtt += item.getScore();
-							}
-						}
-						if (sysDept1.getLevel() == 4) {
-							List<WmTask> score1 = wmTaskList1.stream()
-									.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
-									.collect(Collectors.toList());
-							for (WmTask item : score1) {
-								if ("1".equals(item.getReportSecondApprovalOpinion())) {
-									total1 += item.getScore();
 
-								}
-								ytjtt += item.getScore();
-							}
-						}
-						List<Integer> scoreList2 = wmTaskList1.stream()
-								.map(WmTask::getScore)
-								.collect(Collectors.toList());
-						Integer score3 = 0;
-						if (scoreList2.size() != 0) {
-							for (Integer score1 : scoreList2) {
-								score3 += score1;
-							}
-							score += score3;
-						}
-					}
-				}
-			} else {
-				WmTask wmTask1 = new WmTask();
-				wmTask1.setScorePackageId(ext.getId());
-				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"))
-							.collect(Collectors.toList());
-					for (WmTask item : score1) {
-						if ("1".equals(item.getReportDrugApprovalOpinion())) {
-							total1 += item.getScore();
+		for (WmScorePackage wmS : wmList) {
+			Future<WmScorePackage> future = wmScorePackageService.finishRate(wmS);
+			futureList.add(future);
+		}
 
-						}
-						ytjtt += item.getScore();
-					}
-				}
-				if (sysDept1.getLevel() == 3) {
-					List<WmTask> score1 = wmTaskList1.stream()
-							.filter(task -> task.getReportOneApprovalStatus().equals("6"))
-							.collect(Collectors.toList());
-					for (WmTask item : score1) {
-						if ("1".equals(item.getReportOneApprovalOpinion())) {
-							total1 += item.getScore();
 
-						}
-						ytjtt += item.getScore();
-					}
-				}
-				if (sysDept1.getLevel() == 4) {
-					List<WmTask> score1 = wmTaskList1.stream()
-							.filter(task -> task.getReportSecondApprovalStatus().equals("6"))
-							.collect(Collectors.toList());
-					for (WmTask item : score1) {
-						if ("1".equals(item.getReportSecondApprovalOpinion())) {
-							total1 += item.getScore();
+		List<WmScorePackage> finalRecords = new ArrayList<>(wmList.size());
+		try {
+			for (Future<WmScorePackage> future : futureList) {
+				WmScorePackage sPackage = future.get();
 
-						}
-						ytjtt += item.getScore();
+				if (sPackage.getP2pAmount() != null) {
+					sPackage.setP2pDraft(false);
+				} else {
+					String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", sPackage.getId()));
+					String s1 = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:service-amount:%s", sPackage.getId()));
+					String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", sPackage.getId()));
+					if (StrUtil.isNotBlank(s)) {
+						sPackage.setP2pAmount(new BigDecimal(s));
+						sPackage.setP2pServiceAmount(new BigDecimal(s1));
+						sPackage.setDescription(desc);
 					}
+					sPackage.setP2pDraft(true);
 				}
-				List<Integer> scoreList1 = wmTaskList1.stream().map(WmTask::getScore).collect(Collectors.toList());
-				Integer score4 = 0;
-				for (Integer score1 : scoreList1) {
-					score4 += score1;
-				}
-				score = score4;
-			}
-
-			// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
-			int actualScore = BigDecimal.valueOf(score).multiply(
-					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
-			).intValue();
-			ext.setYsh(actualScore);
 
-			// ytjtt(ytjtt = 完成积分值 * (1+审核管理费比例))
-			int actualYtjtt = BigDecimal.valueOf(ytjtt).multiply(
-					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
-			).intValue();
-			ext.setYtjtt(actualYtjtt);
+				finalRecords.add(sPackage);
 
-			// total1(total1 = 完成积分值 * (1+审核管理费比例))
-			int actualTotal1 = BigDecimal.valueOf(total1).multiply(
-					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
-			).intValue();
-			ext.setPayScore(actualTotal1);
-
-			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
-			BigDecimal fin1 = BigDecimal.valueOf(100.00);
-			if (fin.compareTo(fin1) == 1) {
-				fin = BigDecimal.valueOf(100.00);
-			}
-			ext.setFinishRate(fin.toString());
-			BigDecimal payRate = new BigDecimal(actualTotal1).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
-			if (payRate.compareTo(fin1) > 0) {
-				payRate = BigDecimal.valueOf(100.00);
 			}
-			ext.setPayRate(payRate.toString());
-			if (ext.getPayRate().equals("100.00")) {
-				ext.setPackageFinishStatus("1");
-			}
-
-			// 封装导出结果
-			ext.setReportMqName(CacheConstants.EXPORT_NBA_REPORT_CACHE);
-			wmScorePackageService.getReportOpt(ext);
-			// 封装excel报告状态
-			wmScorePackageService.getExcelReportOpt(ext, CacheConstants.EXCEL_EXPORT_NBA_REPORT_CACHE);
+		} catch (ExecutionException | InterruptedException e) {
+			log.error("获取分页信息失败", e);
+			return R.failed("获取分页信息失败");
 		}
 
-		page.getRecords().forEach(r -> {
-			if (r.getP2pAmount() != null) {
-				r.setP2pDraft(false);
-			} else {
-				String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", r.getId()));
-				String s1 = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:service-amount:%s", r.getId()));
-				String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", r.getId()));
-				if (StrUtil.isNotBlank(s)) {
-					r.setP2pAmount(new BigDecimal(s));
-					r.setP2pServiceAmount(new BigDecimal(s1));
-					r.setDescription(desc);
-				}
-				r.setP2pDraft(true);
-			}
-
-		});
-
 		return R.ok(page);
 	}
 

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

@@ -2722,6 +2722,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 		wmScorePackage.setYsh(actualScore);
 
+		// 对应页面可结算积分值(没有什么作用)
+		wmScorePackage.setYtjtt(actualPayScore);
+
 		// 封装报告状态
 		wmScorePackage.setReportMqName(CacheConstants.EXPORT_NBA_REPORT_CACHE);
 		getReportOpt(wmScorePackage);