Fix Bug #571: 修复检验申请撤回操作状态校验逻辑不一致
根因:SQL查询使用EXISTS判断(任一ServiceRequest为ACTIVE即显示已签发), 但后端撤回校验使用allMatch(要求所有ServiceRequest均为ACTIVE)。 当多项申请单中部分为待签发时,前端显示已签发但后端拒绝撤回,导致报错。 修复:将allMatch改为anyMatch,与SQL的EXISTS逻辑保持一致。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -640,7 +640,7 @@ public class RequestFormManageAppServiceImpl implements IRequestFormManageAppSer
|
||||
return R.fail("标本已采集,无法撤回");
|
||||
}
|
||||
|
||||
// 校验:有已签发(status=2)的医嘱可撤回(与SQL的EXISTS逻辑一致,允许多项申请单中部分为待签发)
|
||||
// 校验:任一ServiceRequest为ACTIVE(status=2)即可撤回,与SQL的EXISTS逻辑一致
|
||||
boolean hasActive = serviceRequests.stream()
|
||||
.anyMatch(sr -> RequestStatus.ACTIVE.getValue().equals(sr.getStatusEnum()));
|
||||
if (!hasActive) {
|
||||
|
||||
Reference in New Issue
Block a user