use of gov.ca.cwds.rest.api.domain.cms.PostedReferral in project API by ca-cwds.
the class ReferralServiceTest method testCreateNullIDError.
@Override
@Test
public void testCreateNullIDError() throws Exception {
try {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/legacy/Referral/valid/valid.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral toCreate = new gov.ca.cwds.data.persistence.cms.Referral(null, referralDomain, "0XA");
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(toCreate);
@SuppressWarnings("unused") PostedReferral expected = new PostedReferral(toCreate);
} catch (ServiceException e) {
assertEquals("Referral ID cannot be empty", e.getMessage());
}
}
use of gov.ca.cwds.rest.api.domain.cms.PostedReferral in project API by ca-cwds.
the class ReferralServiceTest method testCreateReturnsCorrectEntity.
@Override
@Test
public void testCreateReturnsCorrectEntity() throws Exception {
Referral referralDomain = MAPPER.readValue(fixture("fixtures/domain/legacy/Referral/valid/valid.json"), Referral.class);
gov.ca.cwds.data.persistence.cms.Referral toCreate = new gov.ca.cwds.data.persistence.cms.Referral("1234567ABC", referralDomain, "0XA");
Referral request = new Referral(toCreate);
when(referralDao.create(any(gov.ca.cwds.data.persistence.cms.Referral.class))).thenReturn(toCreate);
PostedReferral expected = new PostedReferral(toCreate);
PostedReferral returned = referralService.create(request);
assertThat(returned, is(expected));
}
use of gov.ca.cwds.rest.api.domain.cms.PostedReferral in project API by ca-cwds.
the class CmsReferralService method create.
/**
* {@inheritDoc}
*
* @see gov.ca.cwds.rest.services.CrudsService#create(gov.ca.cwds.rest.api.Request)
*/
@UnitOfWork(value = "cms")
@Override
public Response create(Request request) {
assert request instanceof CmsReferral;
CmsReferral cmsReferral = (CmsReferral) request;
PostedReferral referral = this.referralService.create(cmsReferral.getReferral());
String referralId = referral.getId();
List<String> clientIds = new ArrayList<>();
int clientInst = 0;
String sourceTableCode = "C";
Set<ClientUc> resultClientUc = new LinkedHashSet<>();
Set<PostedClient> postedClients = new LinkedHashSet<>();
if (cmsReferral.getClient() != null && !cmsReferral.getClient().isEmpty()) {
for (Client incomingClient : cmsReferral.getClient()) {
PostedClient savedClient = null;
if (incomingClient.getExistingClientId() != null) {
savedClient = clientService.findInboundId(incomingClient.getExistingClientId());
}
if (savedClient == null) {
Client client = new Client(incomingClient.getExistingClientId(), incomingClient.getAdjudicatedDelinquentIndicator(), incomingClient.getAdoptionStatusCode(), incomingClient.getAlienRegistrationNumber(), incomingClient.getBirthCity(), incomingClient.getBirthCountryCodeType(), incomingClient.getBirthDate(), incomingClient.getBirthFacilityName(), incomingClient.getBirthStateCodeType(), incomingClient.getBirthplaceVerifiedIndicator(), incomingClient.getChildClientIndicatorVar(), incomingClient.getClientIndexNumber(), incomingClient.getCommentDescription(), incomingClient.getCommonFirstName(), incomingClient.getCommonLastName(), incomingClient.getCommonMiddleName(), incomingClient.getConfidentialityActionDate(), incomingClient.getConfidentialityInEffectIndicator(), incomingClient.getCreationDate(), incomingClient.getCurrCaChildrenServIndicator(), incomingClient.getCurrentlyOtherDescription(), incomingClient.getCurrentlyRegionalCenterIndicator(), incomingClient.getDeathDate(), incomingClient.getDeathDateVerifiedIndicator(), incomingClient.getDeathPlace(), incomingClient.getDeathReasonText(), incomingClient.getDriverLicenseNumber(), incomingClient.getDriverLicenseStateCodeType(), incomingClient.getEmailAddress(), incomingClient.getEstimatedDobCode(), incomingClient.getEthUnableToDetReasonCode(), incomingClient.getFatherParentalRightTermDate(), incomingClient.getGenderCode(), incomingClient.getHealthSummaryText(), incomingClient.getHispUnableToDetReasonCode(), incomingClient.getHispanicOriginCode(), incomingClient.getImmigrationCountryCodeType(), incomingClient.getImmigrationStatusType(), incomingClient.getIncapacitatedParentCode(), incomingClient.getIndividualHealthCarePlanIndicator(), incomingClient.getLimitationOnScpHealthIndicator(), incomingClient.getLiterateCode(), incomingClient.getMaritalCohabitatnHstryIndicatorVar(), incomingClient.getMaritalStatusType(), incomingClient.getMilitaryStatusCode(), incomingClient.getMotherParentalRightTermDate(), incomingClient.getNamePrefixDescription(), incomingClient.getNameType(), incomingClient.getOutstandingWarrantIndicator(), incomingClient.getPrevCaChildrenServIndicator(), incomingClient.getPrevOtherDescription(), incomingClient.getPrevRegionalCenterIndicator(), incomingClient.getPrimaryEthnicityType(), incomingClient.getPrimaryLanguageType(), incomingClient.getReligionType(), incomingClient.getSecondaryLanguageType(), incomingClient.getSensitiveHlthInfoOnFileIndicator(), incomingClient.getSensitivityIndicator(), incomingClient.getSoc158PlacementCode(), incomingClient.getSoc158SealedClientIndicator(), incomingClient.getSocialSecurityNumChangedCode(), incomingClient.getSocialSecurityNumber(), incomingClient.getSuffixTitleDescription(), incomingClient.getTribalAncestryClientIndicatorVar(), incomingClient.getTribalMembrshpVerifctnIndicatorVar(), incomingClient.getUnemployedParentCode(), incomingClient.getZippyCreatedIndicator(), null);
PostedClient postedclient = this.clientService.create(client);
postedClients.add(postedclient);
clientIds.add(postedclient.getId());
if (postedclient.getCommonFirstName() != null) {
ClientUc clientUc = new ClientUc(postedclient.getId(), sourceTableCode, postedclient.getCommonFirstName().toUpperCase(), postedclient.getCommonLastName().toUpperCase(), postedclient.getCommonMiddleName().toUpperCase());
clientUc = this.clientUcService.create(clientUc);
resultClientUc.add(clientUc);
}
} else {
clientIds.add(savedClient.getId());
postedClients.add(savedClient);
}
}
}
Set<PostedAllegation> resultAllegation = new LinkedHashSet<>();
if (cmsReferral.getAllegation() != null && !cmsReferral.getAllegation().isEmpty()) {
for (Allegation incomingAllegation : cmsReferral.getAllegation()) {
Allegation allegation = new Allegation(incomingAllegation.getAbuseEndDate(), incomingAllegation.getAbuseFrequency(), incomingAllegation.getAbuseFrequencyPeriodCode(), incomingAllegation.getAbuseLocationDescription(), incomingAllegation.getAbuseStartDate(), incomingAllegation.getAllegationDispositionType(), incomingAllegation.getAllegationType(), incomingAllegation.getDispositionDescription(), incomingAllegation.getDispositionDate(), incomingAllegation.getInjuryHarmDetailIndicator(), incomingAllegation.getNonProtectingParentCode(), incomingAllegation.getStaffPersonAddedIndicator(), incomingAllegation.getVictimClientId(), incomingAllegation.getPerpetratorClientId(), referralId, incomingAllegation.getCountySpecificCode(), incomingAllegation.getZippyCreatedIndicator(), incomingAllegation.getPlacementFacilityType());
PostedAllegation postedallegation = this.allegationService.create(allegation);
resultAllegation.add(postedallegation);
}
}
Set<CrossReport> resultCrossReport = new LinkedHashSet<>();
if (cmsReferral.getCrossReport() != null && !cmsReferral.getCrossReport().isEmpty()) {
for (CrossReport incomingCrossReport : cmsReferral.getCrossReport()) {
CrossReport crossReport = new CrossReport(incomingCrossReport.getThirdId(), incomingCrossReport.getCrossReportMethodType(), incomingCrossReport.getFiledOutOfStateIndicator(), incomingCrossReport.getGovernmentOrgCrossRptIndicatorVar(), incomingCrossReport.getInformTime(), incomingCrossReport.getRecipientBadgeNumber(), incomingCrossReport.getRecipientPhoneExtensionNumber(), incomingCrossReport.getRecipientPhoneNumber(), incomingCrossReport.getInformDate(), incomingCrossReport.getRecipientPositionTitleDesc(), incomingCrossReport.getReferenceNumber(), referralId, incomingCrossReport.getLawEnforcementId(), incomingCrossReport.getStaffPersonId(), incomingCrossReport.getDescription(), incomingCrossReport.getRecipientName(), incomingCrossReport.getOutStateLawEnforcementAddr(), incomingCrossReport.getCountySpecificCode(), incomingCrossReport.getLawEnforcementIndicator(), incomingCrossReport.getOutStateLawEnforcementIndicator(), incomingCrossReport.getSatisfyCrossReportIndicator());
crossReport = this.crossReportService.create(crossReport);
resultCrossReport.add(crossReport);
}
}
Set<ReferralClient> resultReferralClient = new LinkedHashSet<>();
if (cmsReferral.getReferralClient() != null && !cmsReferral.getReferralClient().isEmpty()) {
for (ReferralClient incomingReferralClient : cmsReferral.getReferralClient()) {
ReferralClient referralClient = new ReferralClient(incomingReferralClient.getApprovalNumber(), incomingReferralClient.getApprovalStatusType(), incomingReferralClient.getDispositionClosureReasonType(), incomingReferralClient.getDispositionCode(), incomingReferralClient.getDispositionDate(), incomingReferralClient.getSelfReportedIndicator(), incomingReferralClient.getStaffPersonAddedIndicator(), referralId, (String) clientIds.toArray()[clientInst], incomingReferralClient.getDispositionClosureDescription(), incomingReferralClient.getAgeNumber(), incomingReferralClient.getAgePeriodCode(), incomingReferralClient.getCountySpecificCode(), incomingReferralClient.getMentalHealthIssuesIndicator(), incomingReferralClient.getAlcoholIndicator(), incomingReferralClient.getDrugIndicator());
referralClient = this.referralClientService.create(referralClient);
resultReferralClient.add(referralClient);
clientInst++;
}
}
PostedReporter savedreporter = new PostedReporter();
if (cmsReferral.getReporter() != null) {
Reporter incomingReporter = cmsReferral.getReporter();
Reporter reporter = new Reporter(incomingReporter.getBadgeNumber(), incomingReporter.getCityName(), incomingReporter.getColltrClientRptrReltnshpType(), incomingReporter.getCommunicationMethodType(), incomingReporter.getConfidentialWaiverIndicator(), incomingReporter.getDrmsMandatedRprtrFeedback(), incomingReporter.getEmployerName(), incomingReporter.getFeedbackDate(), incomingReporter.getFeedbackRequiredIndicator(), incomingReporter.getFirstName(), incomingReporter.getLastName(), incomingReporter.getMandatedReporterIndicator(), incomingReporter.getMessagePhoneExtensionNumber(), incomingReporter.getMessagePhoneNumber(), incomingReporter.getMiddleInitialName(), incomingReporter.getNamePrefixDescription(), incomingReporter.getPrimaryPhoneNumber(), incomingReporter.getPrimaryPhoneExtensionNumber(), incomingReporter.getStateCodeType(), incomingReporter.getStreetName(), incomingReporter.getStreetNumber(), incomingReporter.getSuffixTitleDescription(), incomingReporter.getZipcode(), referralId, incomingReporter.getLawEnforcementId(), incomingReporter.getZipSuffixNumber(), incomingReporter.getCountySpecificCode());
PostedReporter postedreporter = this.reporterService.create(reporter);
savedreporter = postedreporter;
}
return new PostedCmsReferral(referral, postedClients, resultAllegation, resultCrossReport, resultReferralClient, savedreporter);
}
use of gov.ca.cwds.rest.api.domain.cms.PostedReferral in project API by ca-cwds.
the class ScreeningToReferralService method createCmsReferral.
private String createCmsReferral(ScreeningToReferral screeningToReferral, Set<ErrorMessage> messages, String dateStarted, String timeStarted) {
String referralId = null;
if (screeningToReferral.getReferralId() == null || screeningToReferral.getReferralId().isEmpty()) {
// the legacy id is not set - create the referral
String longTextId = generateLongTextId(screeningToReferral, messages);
// create a CMS Referral
Referral referral = null;
try {
referral = Referral.createWithDefaults(ParticipantValidator.anonymousReporter(screeningToReferral), communicationsMethodCode, screeningToReferral.getName(), dateStarted, timeStarted, referralResponseTypeCode, longTextId, DEFAULT_COUNTY_SPECIFIC_CODE, DEFAULT_APPROVAL_STATUS_CODE, DEFAULT_STAFF_PERSON_ID);
} catch (Exception e1) {
String message = e1.getMessage();
logError(message, e1, messages);
}
buildErrors(messages, validator.validate(referral));
PostedReferral postedReferral = this.referralService.create(referral);
referralId = postedReferral.getId();
} else {
// Referral ID passed - validate that Referral exist in CWS/CMS - no update for now
referralId = screeningToReferral.getReferralId();
Referral foundReferral = this.referralService.find(referralId);
if (foundReferral == null) {
String message = "Legacy Id does not correspond to an existing CMS/CWS Referral";
ServiceException se = new ServiceException(message);
logError(message, se, messages);
}
}
return referralId;
}
use of gov.ca.cwds.rest.api.domain.cms.PostedReferral in project API by ca-cwds.
the class ReferralService method create.
/**
* {@inheritDoc}
*
* @see gov.ca.cwds.rest.services.CrudsService#create(gov.ca.cwds.rest.api.Request)
*/
@Override
public PostedReferral create(Request request) {
assert request instanceof gov.ca.cwds.rest.api.domain.cms.Referral;
gov.ca.cwds.rest.api.domain.cms.Referral referral = (gov.ca.cwds.rest.api.domain.cms.Referral) request;
try {
String lastUpdatedId = staffPersonIdRetriever.getStaffPersonId();
Referral managed = new Referral(CmsKeyIdGenerator.cmsIdGenertor(lastUpdatedId), referral, lastUpdatedId);
managed = referralDao.create(managed);
if (managed.getId() == null) {
throw new ServiceException("Referral ID cannot be null");
}
// checking the staffPerson county code
StaffPerson staffperson = staffpersonDao.find(managed.getLastUpdatedId());
if (staffperson != null && (triggerTablesDao.getLaCountySpecificCode().equals(staffperson.getCountyCode()))) {
laCountyTrigger.createCountyTrigger(managed);
}
return new PostedReferral(managed);
} catch (EntityExistsException e) {
LOGGER.info("Referral already exists : {}", referral);
throw new ServiceException(e);
}
}
Aggregations