fix(aihr): require assignee for practice assignments
This commit is contained in:
+5
-2
@@ -593,7 +593,7 @@ public class AihrPracticeSeedService {
|
|||||||
ReviewDetailResponse detail = reviewDetail(id);
|
ReviewDetailResponse detail = reviewDetail(id);
|
||||||
String extPartyId = reviewExtPartyId(id);
|
String extPartyId = reviewExtPartyId(id);
|
||||||
createAssignment(new PracticeAssignmentRequest(
|
createAssignment(new PracticeAssignmentRequest(
|
||||||
firstNonBlank(extPartyId, detail == null ? "mobile-user" : detail.trainee()),
|
firstNonBlank(extPartyId, ""),
|
||||||
detail == null ? "待复盘员工" : detail.trainee(),
|
detail == null ? "待复盘员工" : detail.trainee(),
|
||||||
request.nextScenarioId(),
|
request.nextScenarioId(),
|
||||||
null,
|
null,
|
||||||
@@ -876,11 +876,14 @@ public class AihrPracticeSeedService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PracticeAssignmentResponse createAssignment(PracticeAssignmentRequest request) {
|
public PracticeAssignmentResponse createAssignment(PracticeAssignmentRequest request) {
|
||||||
|
String extPartyId = request == null ? "" : firstNonBlank(request.extPartyId(), "");
|
||||||
|
if (isBlank(extPartyId)) {
|
||||||
|
throw new ServiceException("缺少员工ID,无法派发专项训练");
|
||||||
|
}
|
||||||
ensureAssignmentTable();
|
ensureAssignmentTable();
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
String scenarioId = firstNonBlank(request == null ? null : request.scenarioId(), "fee-parking");
|
String scenarioId = firstNonBlank(request == null ? null : request.scenarioId(), "fee-parking");
|
||||||
ScenarioSeed scenario = resolveScenario(scenarioId, null);
|
ScenarioSeed scenario = resolveScenario(scenarioId, null);
|
||||||
String extPartyId = firstNonBlank(request == null ? null : request.extPartyId(), "mobile-user");
|
|
||||||
String traineeName = firstNonBlank(request == null ? null : request.traineeName(), extPartyId);
|
String traineeName = firstNonBlank(request == null ? null : request.traineeName(), extPartyId);
|
||||||
String source = firstNonBlank(request == null ? null : request.source(), "manual");
|
String source = firstNonBlank(request == null ? null : request.source(), "manual");
|
||||||
String reason = firstNonBlank(request == null ? null : request.reason(), "主管派发专项训练");
|
String reason = firstNonBlank(request == null ? null : request.reason(), "主管派发专项训练");
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
package org.dromara.aihr.service;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import org.dromara.aihr.domain.AihrPracticeDto.PracticeAssignmentRequest;
|
||||||
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
public class AihrPracticeSeedServiceTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createAssignmentRequiresExtPartyId() {
|
||||||
|
AihrPracticeSeedService service = new AihrPracticeSeedService(new ObjectMapper(), null, null, null);
|
||||||
|
|
||||||
|
ServiceException error = assertThrows(ServiceException.class, () -> service.createAssignment(new PracticeAssignmentRequest(
|
||||||
|
"",
|
||||||
|
"测试员工",
|
||||||
|
"fee-parking",
|
||||||
|
null,
|
||||||
|
"manual",
|
||||||
|
"主管派发专项训练"
|
||||||
|
)));
|
||||||
|
assertEquals("缺少员工ID,无法派发专项训练", error.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user