Ver Fonte

fix: 结算复核-结算状态不一致问题

lixuesong há 1 ano atrás
pai
commit
f172e3ccd6

+ 9 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -379,6 +379,10 @@ public class WmPayOffController {
 		List<SysUser> sysUsers = sysUserService.listByIds(settleNotes.stream().map(WmScorePackageSettleNote::getUserId).collect(Collectors.toSet()));
 		Map<Integer, SysUser> userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
 
+		Set<String> packageIds = settleNotes.stream().map(WmScorePackageSettleNote::getPackageId).collect(Collectors.toSet());
+		List<WmScorePackage> scorePackages = wmScorePackageMapper.selectBatchIds(packageIds);
+		Map<String, WmScorePackage> packageMap = scorePackages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
+
 		List<SettleFinancialReviewSettleDetailVO> outputList = new ArrayList<>();
 		settleNotes.forEach(settleNote -> {
 			SettleFinancialReviewSettleDetailVO output = new SettleFinancialReviewSettleDetailVO();
@@ -392,9 +396,11 @@ public class WmPayOffController {
 			SysUser sysUser = userMap.get(Integer.parseInt(settleNote.getUserId()));
 			output.setUsername(sysUser.getUsername());
 			output.setRealname(sysUser.getRealname());
-			output.setSettleStatus(settleNote.getSettleNoteStatus());
-			if (settleNote.getSettleNoteStatus() != null) {
-				output.setSettleStatusName(SettleStatusEnum.resolve(String.valueOf(settleNote.getSettleNoteStatus())).getName2());
+
+			WmScorePackage scorePackage = packageMap.get(settleNote.getPackageId());
+			output.setSettleStatus(scorePackage.getSettleStatus());
+			if (scorePackage.getSettleStatus() != null) {
+				output.setSettleStatusName(SettleStatusEnum.resolve(String.valueOf(scorePackage.getSettleStatus())).getName2());
 			}
 			output.setSubjectLocation(settleNote.getSubjectLocation());
 			if (settleNote.getSubjectLocation() != null) {