Search in sources :

Example 1 with EntityAffiliation

use of org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation in project cu-kfs by CU-CommunityApps.

the class SubmitTripWebServiceImpl method buildDisbursementVoucher.

/**
 * @param dvDescription
 * @param dvExplanation
 * @param tripNumber
 * @param travelerNetId
 * @param initiatorNetId
 * @param totalAmount
 * @param checkStubText
 * @return
 * @throws Exception
 */
private String buildDisbursementVoucher(String dvDescription, String dvExplanation, String tripNumber, String travelerNetId, String initiatorNetId, double totalAmount, String checkStubText) throws Exception {
    try {
        if (!isValidDocumentInitiator(initiatorNetId, DISBURSEMENT_VOUCHER)) {
            throw new RuntimeException("Initiator identified does not have permission to create a DV.");
        }
    } catch (Exception ex) {
        throw new RuntimeException("Initiator identified does not have permission to create a DV.", ex);
    }
    // create and route doc as system user
    GlobalVariables.setUserSession(new UserSession(initiatorNetId));
    MessageMap documentErrorMap = new MessageMap();
    GlobalVariables.setMessageMap(documentErrorMap);
    // Create document with description provided
    CuDisbursementVoucherDocument dvDoc = null;
    try {
        dvDoc = (CuDisbursementVoucherDocument) SpringContext.getBean(DocumentService.class).getNewDocument(DisbursementVoucherDocument.class);
    } catch (WorkflowException e) {
        throw new RuntimeException("Error creating new disbursement voucher document: " + e.getMessage(), e);
    }
    if (dvDoc != null) {
        dvDoc.getDocumentHeader().setDocumentDescription(dvDescription);
        dvDoc.getDocumentHeader().setExplanation(dvExplanation);
        dvDoc.getDocumentHeader().setOrganizationDocumentNumber(tripNumber);
        dvDoc.initiateDocument();
        // Set vendor to traveler using netID provided
        Person traveler = SpringContext.getBean(PersonService.class).getPersonByPrincipalName(travelerNetId);
        for (EntityAffiliation entityAffiliation : ((PersonImpl) traveler).getAffiliations()) {
            if (entityAffiliation.isDefaultValue()) {
                if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.STUDENT)) {
                    dvDoc.templateStudent(traveler);
                } else if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.ALUMNI)) {
                    dvDoc.templateAlumni(traveler);
                } else if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.FACULTY) || StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.STAFF)) {
                    dvDoc.templateEmployee(traveler);
                }
            }
        }
        dvDoc.setPayeeAssigned(true);
        dvDoc.getDvPayeeDetail().setDisbVchrPaymentReasonCode("J");
        dvDoc.setDisbVchrCheckTotalAmount(new KualiDecimal(totalAmount));
        dvDoc.setDisbVchrPaymentMethodCode("P");
        dvDoc.setDisbVchrCheckStubText(checkStubText);
        dvDoc.setTripId(tripNumber);
        dvDoc.setTripAssociationStatusCode(CULegacyTravelServiceImpl.TRIP_ASSOCIATIONS.IS_TRIP_DOC);
        // Persist document
        SpringContext.getBean(DocumentService.class).saveDocument(dvDoc);
        return dvDoc.getDocumentNumber();
    } else {
        return "";
    }
}
Also used : CuDisbursementVoucherDocument(edu.cornell.kfs.fp.document.CuDisbursementVoucherDocument) EntityAffiliation(org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation) PersonImpl(org.kuali.kfs.kim.impl.identity.PersonImpl) UserSession(org.kuali.kfs.krad.UserSession) WorkflowException(org.kuali.kfs.kew.api.exception.WorkflowException) PersonService(org.kuali.kfs.kim.api.identity.PersonService) KualiDecimal(org.kuali.kfs.core.api.util.type.KualiDecimal) Person(org.kuali.kfs.kim.api.identity.Person) WorkflowException(org.kuali.kfs.kew.api.exception.WorkflowException) MessageMap(org.kuali.kfs.krad.util.MessageMap) DocumentService(org.kuali.kfs.krad.service.DocumentService)

Example 2 with EntityAffiliation

use of org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation in project cu-kfs by CU-CommunityApps.

the class CuDisbursementPayeeLookupableHelperServiceImpl method getPersonAsPayees.

@Override
protected List<DisbursementPayee> getPersonAsPayees(Map<String, String> fieldValues) {
    List<DisbursementPayee> payeeList = new ArrayList<DisbursementPayee>();
    Map<String, String> fieldsForLookup = this.getPersonFieldValues(fieldValues);
    List<Person> persons = SpringContext.getBean(PersonService.class).findPeople(fieldsForLookup);
    boolean warningExists = false;
    for (Person personDetail : persons) {
        for (EntityAffiliation entityAffiliation : ((PersonImpl) personDetail).getAffiliations()) {
            if (entityAffiliation.isDefaultValue()) {
                if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.STUDENT)) {
                    CuDisbursementPayee payee = getPayeeFromPerson(personDetail, fieldValues, CuDisbursementVoucherConstants.DV_PAYEE_TYPE_STUDENT);
                    payeeList.add(payee);
                } else if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.ALUMNI)) {
                    CuDisbursementPayee payee = getPayeeFromPerson(personDetail, fieldValues, CuDisbursementVoucherConstants.DV_PAYEE_TYPE_ALUMNI);
                    payeeList.add(payee);
                } else if (StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.FACULTY) || StringUtils.equalsIgnoreCase(entityAffiliation.getAffiliationType().getCode(), CuDisbursementVoucherConstants.PayeeAffiliations.STAFF)) {
                    if (StringUtils.isNotBlank(personDetail.getEmployeeStatusCode()) && (personDetail.getEmployeeStatusCode().equals(ACTIVE)) || personDetail.getEmployeeStatusCode().equals(RETIRED)) {
                        CuDisbursementPayee payee = getPayeeFromPerson(personDetail, fieldValues, KFSConstants.PaymentPayeeTypes.EMPLOYEE);
                        payeeList.add(payee);
                    } else {
                        if (GlobalVariables.getMessageMap().containsMessageKey(CUKFSKeyConstants.WARNING_DV_PAYEE_MUST_BE_ACTIVE)) {
                            warningExists = true;
                            break;
                        }
                    }
                    if (!warningExists) {
                        GlobalVariables.getMessageMap().putWarningWithoutFullErrorPath(KFSPropertyConstants.PRINCIPAL_ID, CUKFSKeyConstants.WARNING_DV_PAYEE_MUST_BE_ACTIVE);
                    }
                }
                break;
            }
        }
    }
    return payeeList;
}
Also used : EntityAffiliation(org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation) CuDisbursementPayee(edu.cornell.kfs.fp.businessobject.CuDisbursementPayee) PersonImpl(org.kuali.kfs.kim.impl.identity.PersonImpl) PersonService(org.kuali.kfs.kim.api.identity.PersonService) ArrayList(java.util.ArrayList) CuDisbursementPayee(edu.cornell.kfs.fp.businessobject.CuDisbursementPayee) DisbursementPayee(org.kuali.kfs.fp.businessobject.DisbursementPayee) Person(org.kuali.kfs.kim.api.identity.Person)

Example 3 with EntityAffiliation

use of org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation in project cu-kfs by CU-CommunityApps.

the class PersonImpl method populateAffiliationInfo.

protected void populateAffiliationInfo(Entity entity) {
    if (entity != null) {
        if (affiliations == null) {
            affiliations = new ArrayList<>();
        }
        affiliations.addAll(entity.getAffiliations());
        EntityAffiliation defaultAffiliation = entity.getDefaultAffiliation();
        if (defaultAffiliation != null) {
            campusCode = unNullify(defaultAffiliation.getCampusCode());
        } else {
            campusCode = "";
        }
    }
}
Also used : EntityAffiliation(org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation)

Aggregations

EntityAffiliation (org.kuali.kfs.kim.impl.identity.affiliation.EntityAffiliation)3 Person (org.kuali.kfs.kim.api.identity.Person)2 PersonService (org.kuali.kfs.kim.api.identity.PersonService)2 PersonImpl (org.kuali.kfs.kim.impl.identity.PersonImpl)2 CuDisbursementPayee (edu.cornell.kfs.fp.businessobject.CuDisbursementPayee)1 CuDisbursementVoucherDocument (edu.cornell.kfs.fp.document.CuDisbursementVoucherDocument)1 ArrayList (java.util.ArrayList)1 KualiDecimal (org.kuali.kfs.core.api.util.type.KualiDecimal)1 DisbursementPayee (org.kuali.kfs.fp.businessobject.DisbursementPayee)1 WorkflowException (org.kuali.kfs.kew.api.exception.WorkflowException)1 UserSession (org.kuali.kfs.krad.UserSession)1 DocumentService (org.kuali.kfs.krad.service.DocumentService)1 MessageMap (org.kuali.kfs.krad.util.MessageMap)1