diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java index 64b1cdb4..c06dd5c4 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java @@ -53,6 +53,11 @@ public class EssService { SealAndPerson sealAndPerson = getSealAndPersonOrThrow(request); if (sealAndPerson.getSealPerson().getIsAuthorized().isYes()) return; + EssPerson essPerson = essPersonDao.find(sealAndPerson.getSealPerson().getOuId(), + sealAndPerson.getSealPerson().getPersonId(), false).orElse(null); + BizAssertions.assertNotNull(essPerson, "人员不存在: {}", sealAndPerson.getSealPerson().getPersonId()); + //noinspection DataFlowIssue + BizAssertions.assertTrue(essPerson.getIsAuthorized().isYes(), "人员未加入单位, 无法授权"); EssPerson superAdmin = orgManager.getSuperAdminOrThrow(sealAndPerson.getSeal().getOuId()); essClient.addSealAuthorization(superAdmin, sealAndPerson.getSeal(), sealAndPerson.getSealPerson()); orgManager.addSealAuthorization(request.getEssSealId(), request.getPersonId(), request.getOperatorPersonId());