/** * Initializes credit splits for new investigators * * @param person */ protected void populateCreditTypes(ProposalPerson person) { if (!person.getCreditSplits().isEmpty()) { return; } for (InvestigatorCreditType creditType : (Collection<InvestigatorCreditType>) getInvestigatorCreditTypes()) { ProposalPersonCreditSplit creditSplit = new ProposalPersonCreditSplit(); creditSplit.setProposalPerson(person); creditSplit.setInvCreditTypeCode(creditType.getCode()); creditSplit.setCredit(new ScaleTwoDecimal(0)); person.getCreditSplits().add(creditSplit); } }
/** * It populates the Active credit type in the proposalpersoncreditsplit and unitcreditsplit * * @param document * @return true or false */ public void populateActiveCredittypesPerson(ProposalDevelopmentDocument document) { Collection<InvestigatorCreditType> invcrdttype = getInvestigatorCreditTypes(); for (ProposalPerson person : document.getDevelopmentProposal().getInvestigators()) { for (InvestigatorCreditType invcredtype : invcrdttype) { boolean creditTypeFound = false; for (ProposalPersonCreditSplit proposalpersoncrdt : person.getCreditSplits()) { if ((invcredtype.getCode().equals(proposalpersoncrdt.getInvCreditTypeCode()))) { creditTypeFound = true; break; } } if (!creditTypeFound) { ProposalPersonCreditSplit creditSplit = new ProposalPersonCreditSplit(); creditSplit.setProposalPerson(person); creditSplit.setInvCreditTypeCode(invcredtype.getCode()); creditSplit.setCredit(new ScaleTwoDecimal(0)); person.getCreditSplits().add(creditSplit); } } for (ProposalPersonUnit unitsplit : person.getUnits()) { for (InvestigatorCreditType invcrdtype : invcrdttype) { boolean creditTypeFound = false; for (ProposalUnitCreditSplit unitcreditsplit : unitsplit.getCreditSplits()) { if ((invcrdtype.getCode().equals(unitcreditsplit.getInvCreditTypeCode()))) { creditTypeFound = true; break; } } if (!creditTypeFound) { ProposalUnitCreditSplit creditSplit = new ProposalUnitCreditSplit(); creditSplit.setProposalPersonUnit(unitsplit); creditSplit.setInvCreditTypeCode(invcrdtype.getCode()); creditSplit.setCredit(new ScaleTwoDecimal(0)); unitsplit.getCreditSplits().add(creditSplit); } } } } }