Search in sources :

Example 26 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class IntygDraftsConverterTest method testConvertUtkastToListIntygEntryResolvesSignedByNameFromSenastSparadAv.

@Test
public void testConvertUtkastToListIntygEntryResolvesSignedByNameFromSenastSparadAv() {
    Utkast utkast = createUtkast();
    utkast.setStatus(UtkastStatus.SIGNED);
    ListIntygEntry res = IntygDraftsConverter.convertUtkastToListIntygEntry(utkast);
    assertNotNull(res);
    assertEquals(utkast.getSenastSparadAv().getNamn(), res.getUpdatedSignedBy());
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) ListIntygEntry(se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry) Test(org.junit.Test)

Example 27 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class IntygResource method updateUtkastForSend.

private void updateUtkastForSend(@PathParam("id") String id) {
    Utkast utkast = utkastRepository.findOne(id);
    if (utkast != null) {
        utkast.setStatus(UtkastStatus.SIGNED);
        Utlatande utlatande = moduleFacade.getUtlatandeFromInternalModel(utkast.getIntygsTyp(), utkast.getModel());
        utlatande.getGrundData().setSigneringsdatum(LocalDateTime.now());
        try {
            CustomObjectMapper mapper = new CustomObjectMapper();
            StringWriter writer = new StringWriter();
            mapper.writeValue(writer, utlatande);
            utkast.setModel(writer.toString());
        } catch (IOException e) {
            LOG.error("Could not update the model of the utkast. Failed with message ", e.getMessage());
        }
        if (utkast.getSignatur() == null) {
            Signatur sig = new Signatur(LocalDateTime.now(), "", id, "", "", "");
            utkast.setSignatur(sig);
        }
        utkast.setSkickadTillMottagare("FKASSA");
        utkast.setSkickadTillMottagareDatum(LocalDateTime.now());
        utkastRepository.save(utkast);
    }
}
Also used : Signatur(se.inera.intyg.webcert.persistence.utkast.model.Signatur) StringWriter(java.io.StringWriter) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Utlatande(se.inera.intyg.common.support.model.common.internal.Utlatande) CustomObjectMapper(se.inera.intyg.common.util.integration.json.CustomObjectMapper) IOException(java.io.IOException)

Example 28 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class IntygResource method createDraft.

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response createDraft(CreateNewDraftRequest request) {
    Utkast utkast = new Utkast();
    Patient patient = request.getPatient();
    utkast.setPatientPersonnummer(patient.getPersonId());
    utkast.setPatientFornamn(patient.getFornamn());
    utkast.setPatientMellannamn(patient.getMellannamn());
    utkast.setPatientEfternamn(patient.getEfternamn());
    utkast.setIntygsId(request.getIntygId());
    utkast.setIntygsTyp(request.getIntygType());
    utkast.setStatus(UtkastStatus.DRAFT_INCOMPLETE);
    Vardenhet vardenhet = request.getHosPerson().getVardenhet();
    utkast.setEnhetsId(vardenhet.getEnhetsid());
    utkast.setEnhetsNamn(vardenhet.getEnhetsnamn());
    Vardgivare vardgivare = vardenhet.getVardgivare();
    utkast.setVardgivarId(vardgivare.getVardgivarid());
    utkast.setVardgivarNamn(vardgivare.getVardgivarnamn());
    VardpersonReferens vardPerson = new VardpersonReferens();
    vardPerson.setNamn(request.getHosPerson().getFullstandigtNamn());
    vardPerson.setHsaId(request.getHosPerson().getPersonId());
    utkast.setSenastSparadAv(vardPerson);
    utkast.setSkapadAv(vardPerson);
    utkastRepository.save(utkast);
    return Response.ok().build();
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Patient(se.inera.intyg.common.support.model.common.internal.Patient) Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet) Vardgivare(se.inera.intyg.common.support.model.common.internal.Vardgivare) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens) POST(javax.ws.rs.POST) Consumes(javax.ws.rs.Consumes) Produces(javax.ws.rs.Produces)

Example 29 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class IntygResource method deleteDraftsByEnhet.

@DELETE
@Path("/enhet/{enhetsId}")
@Produces(MediaType.APPLICATION_JSON)
public Response deleteDraftsByEnhet(@PathParam("enhetsId") String enhetsId) {
    List<String> enhetsIds = new ArrayList<>();
    enhetsIds.add(enhetsId);
    List<UtkastStatus> statuses = new ArrayList<>();
    statuses.add(UtkastStatus.DRAFT_INCOMPLETE);
    statuses.add(UtkastStatus.DRAFT_COMPLETE);
    List<Utkast> utkast = utkastRepository.findByEnhetsIdsAndStatuses(enhetsIds, statuses);
    if (utkast != null) {
        for (Utkast u : utkast) {
            deleteDraftAndRelatedQAs(u);
        }
    }
    return Response.ok().build();
}
Also used : UtkastStatus(se.inera.intyg.webcert.common.model.UtkastStatus) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) ArrayList(java.util.ArrayList) Path(javax.ws.rs.Path) XPath(javax.xml.xpath.XPath) DELETE(javax.ws.rs.DELETE) Produces(javax.ws.rs.Produces)

Example 30 with Utkast

use of se.inera.intyg.webcert.persistence.utkast.model.Utkast in project webcert by sklintyg.

the class IntygResource method updateStatus.

private void updateStatus(String id, UtkastStatus status) {
    Utkast utkast = utkastRepository.findOne(id);
    if (utkast != null) {
        utkast.setStatus(status);
        utkastRepository.save(utkast);
    }
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast)

Aggregations

Utkast (se.inera.intyg.webcert.persistence.utkast.model.Utkast)171 Test (org.junit.Test)88 WebCertServiceException (se.inera.intyg.webcert.common.service.exception.WebCertServiceException)34 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)24 Personnummer (se.inera.intyg.schemas.contract.Personnummer)21 Signatur (se.inera.intyg.webcert.persistence.utkast.model.Signatur)21 VardpersonReferens (se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)21 LogRequest (se.inera.intyg.webcert.web.service.log.dto.LogRequest)18 WebCertUser (se.inera.intyg.webcert.web.service.user.dto.WebCertUser)17 Arende (se.inera.intyg.webcert.persistence.arende.model.Arende)16 Utlatande (se.inera.intyg.common.support.model.common.internal.Utlatande)14 CreateNewDraftRequest (se.inera.intyg.webcert.web.service.utkast.dto.CreateNewDraftRequest)13 Patient (se.inera.intyg.common.support.model.common.internal.Patient)12 ModuleException (se.inera.intyg.common.support.modules.support.api.exception.ModuleException)12 ListIntygEntry (se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry)12 Transactional (org.springframework.transaction.annotation.Transactional)11 ModuleNotFoundException (se.inera.intyg.common.support.modules.registry.ModuleNotFoundException)11 MedicinsktArende (se.inera.intyg.webcert.persistence.arende.model.MedicinsktArende)11 CopyUtkastBuilderResponse (se.inera.intyg.webcert.web.service.utkast.dto.CopyUtkastBuilderResponse)10 ArrayList (java.util.ArrayList)9