@Test public void testDraftStatusPrefilledIncomplete() throws ModuleNotFoundException, IOException, ModuleException { CreateNewDraftRequest request = setupForifyllnadUtkast(ValidationStatus.INVALID); Utkast res = utkastService.createNewDraft(request); assertTrue(request.getForifyllnad().isPresent()); assertTrue(res.getStatus() == UtkastStatus.DRAFT_INCOMPLETE); verify(certificateEventService) .createCertificateEvent(anyString(), anyString(), eq(EventCode.SKAPAT)); }
@Override public Utkast createNewDraft(CreateNewDraftRequest request) { populateRequestWithIntygId(request); String intygType = request.getIntygType(); CreateNewDraftHolder draftRequest = createModuleRequest(request); String intygJsonModel = getPopulatedModelFromIntygModule(intygType, draftRequest); setUtkastStatus(intygJsonModel, request); Utkast savedUtkast = persistNewDraft(request, intygJsonModel); if (!Strings.isNullOrEmpty(request.getReferens())) { referensService.saveReferens(request.getIntygId(), request.getReferens()); } int nrPrefillElements = request.getForifyllnad().isPresent() ? request.getForifyllnad().get().getSvar().size() : 0; generateCertificateEvent(savedUtkast, EventCode.SKAPAT); if (UtkastStatus.DRAFT_COMPLETE == savedUtkast.getStatus()) { generateCertificateEvent(savedUtkast, EventCode.KFSIGN); } sendNotification(savedUtkast, Event.CREATED); logCreateDraft(savedUtkast, createLogUser(request), nrPrefillElements); return savedUtkast; }
UtkastServiceImpl implements UtkastService { @Override public Utkast createNewDraft(CreateNewDraftRequest request) { populateRequestWithIntygId(request); String intygType = request.getIntygType(); CreateNewDraftHolder draftRequest = createModuleRequest(request); String intygJsonModel = getPopulatedModelFromIntygModule(intygType, draftRequest); setUtkastStatus(intygJsonModel, request); Utkast savedUtkast = persistNewDraft(request, intygJsonModel); if (!Strings.isNullOrEmpty(request.getReferens())) { referensService.saveReferens(request.getIntygId(), request.getReferens()); } int nrPrefillElements = request.getForifyllnad().isPresent() ? request.getForifyllnad().get().getSvar().size() : 0; generateCertificateEvent(savedUtkast, EventCode.SKAPAT); if (UtkastStatus.DRAFT_COMPLETE == savedUtkast.getStatus()) { generateCertificateEvent(savedUtkast, EventCode.KFSIGN); } sendNotification(savedUtkast, Event.CREATED); logCreateDraft(savedUtkast, createLogUser(request), nrPrefillElements); return savedUtkast; } }
UtkastServiceImpl implements UtkastService { @Override public Utkast createNewDraft(CreateNewDraftRequest request) { populateRequestWithIntygId(request); String intygType = request.getIntygType(); CreateNewDraftHolder draftRequest = createModuleRequest(request); String intygJsonModel = getPopulatedModelFromIntygModule(intygType, draftRequest); setUtkastStatus(intygJsonModel, request); Utkast savedUtkast = persistNewDraft(request, intygJsonModel); if (!Strings.isNullOrEmpty(request.getReferens())) { referensService.saveReferens(request.getIntygId(), request.getReferens()); } int nrPrefillElements = request.getForifyllnad().isPresent() ? request.getForifyllnad().get().getSvar().size() : 0; generateCertificateEvent(savedUtkast, EventCode.SKAPAT); if (UtkastStatus.DRAFT_COMPLETE == savedUtkast.getStatus()) { generateCertificateEvent(savedUtkast, EventCode.KFSIGN); } sendNotification(savedUtkast, Event.CREATED); logCreateDraft(savedUtkast, createLogUser(request), nrPrefillElements); return savedUtkast; }  }
UtkastServiceImpl implements UtkastService { @Override public Utkast createNewDraft(CreateNewDraftRequest request) { populateRequestWithIntygId(request); String intygType = request.getIntygType(); CreateNewDraftHolder draftRequest = createModuleRequest(request); String intygJsonModel = getPopulatedModelFromIntygModule(intygType, draftRequest); setUtkastStatus(intygJsonModel, request); Utkast savedUtkast = persistNewDraft(request, intygJsonModel); if (!Strings.isNullOrEmpty(request.getReferens())) { referensService.saveReferens(request.getIntygId(), request.getReferens()); } int nrPrefillElements = request.getForifyllnad().isPresent() ? request.getForifyllnad().get().getSvar().size() : 0; generateCertificateEvent(savedUtkast, EventCode.SKAPAT); if (UtkastStatus.DRAFT_COMPLETE == savedUtkast.getStatus()) { generateCertificateEvent(savedUtkast, EventCode.KFSIGN); } sendNotification(savedUtkast, Event.CREATED); logCreateDraft(savedUtkast, createLogUser(request), nrPrefillElements); return savedUtkast; }  static boolean isUtkast(Utkast utkast); static boolean isEditableUtkast(Utkast utkast); @Override @Transactional() // , readOnly=true int countFilterIntyg(UtkastFilter filter); @Override Utkast createNewDraft(CreateNewDraftRequest request); @Override SaveDraftResponse updateDraftFromCandidate(String fromIntygId, String fromIntygType, String toUtkastId, String toUtkastType); @Override SaveDraftResponse updateDraftFromCandidate(String fromIntygId, String fromIntygType, Utkast toUtkast); @Override String getQuestions(String intygsTyp, String version); @Override @Transactional void setKlarForSigneraAndSendStatusMessage(String intygsId, String intygType); @Override Map<String, Map<String, PreviousIntyg>> checkIfPersonHasExistingIntyg(final Personnummer personnummer,
                                                                                 final IntygUser user,
                                                                                 final String currentDraftId); @Override @Transactional void deleteUnsignedDraft(String intygId, long version); @Override @Transactional(readOnly = true) List<Utkast> filterIntyg(UtkastFilter filter); @Override @Transactional(readOnly = true) Utkast getDraft(String intygId, String intygType); @Override @Transactional(readOnly = true) Utkast getDraft(String intygId, String intygType, boolean createPdlLogEvent); @Override @Transactional(readOnly = true) List<Lakare> getLakareWithDraftsByEnhet(String enhetsId); @Override @Transactional(readOnly = true) Map<String, Long> getNbrOfUnsignedDraftsByCareUnits(List<String> careUnitIds); @Override @Transactional SaveDraftResponse saveDraft(String intygId, long version, String draftAsJson, boolean createPdlLogEvent); @Override void updatePatientOnDraft(UpdatePatientOnDraftRequest request); @Override @Transactional Utkast setNotifiedOnDraft(String intygsId, long version, Boolean notified); @Override DraftValidation validateDraft(String intygId, String intygType, String draftAsJson); @Override @Transactional int lockOldDrafts(int lockedAfterDay, LocalDate today); @Override void revokeLockedDraft(String intygId, String intygTyp, String revokeMessage, String reason); @Override boolean isDraftCreatedFromReplacement(String certificateId); }
UtkastServiceImpl implements UtkastService { @Override public Utkast createNewDraft(CreateNewDraftRequest request) { populateRequestWithIntygId(request); String intygType = request.getIntygType(); CreateNewDraftHolder draftRequest = createModuleRequest(request); String intygJsonModel = getPopulatedModelFromIntygModule(intygType, draftRequest); setUtkastStatus(intygJsonModel, request); Utkast savedUtkast = persistNewDraft(request, intygJsonModel); if (!Strings.isNullOrEmpty(request.getReferens())) { referensService.saveReferens(request.getIntygId(), request.getReferens()); } int nrPrefillElements = request.getForifyllnad().isPresent() ? request.getForifyllnad().get().getSvar().size() : 0; generateCertificateEvent(savedUtkast, EventCode.SKAPAT); if (UtkastStatus.DRAFT_COMPLETE == savedUtkast.getStatus()) { generateCertificateEvent(savedUtkast, EventCode.KFSIGN); } sendNotification(savedUtkast, Event.CREATED); logCreateDraft(savedUtkast, createLogUser(request), nrPrefillElements); return savedUtkast; }  static boolean isUtkast(Utkast utkast); static boolean isEditableUtkast(Utkast utkast); @Override @Transactional() // , readOnly=true int countFilterIntyg(UtkastFilter filter); @Override Utkast createNewDraft(CreateNewDraftRequest request); @Override SaveDraftResponse updateDraftFromCandidate(String fromIntygId, String fromIntygType, String toUtkastId, String toUtkastType); @Override SaveDraftResponse updateDraftFromCandidate(String fromIntygId, String fromIntygType, Utkast toUtkast); @Override String getQuestions(String intygsTyp, String version); @Override @Transactional void setKlarForSigneraAndSendStatusMessage(String intygsId, String intygType); @Override Map<String, Map<String, PreviousIntyg>> checkIfPersonHasExistingIntyg(final Personnummer personnummer,
                                                                                 final IntygUser user,
                                                                                 final String currentDraftId); @Override @Transactional void deleteUnsignedDraft(String intygId, long version); @Override @Transactional(readOnly = true) List<Utkast> filterIntyg(UtkastFilter filter); @Override @Transactional(readOnly = true) Utkast getDraft(String intygId, String intygType); @Override @Transactional(readOnly = true) Utkast getDraft(String intygId, String intygType, boolean createPdlLogEvent); @Override @Transactional(readOnly = true) List<Lakare> getLakareWithDraftsByEnhet(String enhetsId); @Override @Transactional(readOnly = true) Map<String, Long> getNbrOfUnsignedDraftsByCareUnits(List<String> careUnitIds); @Override @Transactional SaveDraftResponse saveDraft(String intygId, long version, String draftAsJson, boolean createPdlLogEvent); @Override void updatePatientOnDraft(UpdatePatientOnDraftRequest request); @Override @Transactional Utkast setNotifiedOnDraft(String intygsId, long version, Boolean notified); @Override DraftValidation validateDraft(String intygId, String intygType, String draftAsJson); @Override @Transactional int lockOldDrafts(int lockedAfterDay, LocalDate today); @Override void revokeLockedDraft(String intygId, String intygTyp, String revokeMessage, String reason); @Override boolean isDraftCreatedFromReplacement(String certificateId);  }