@Test public void shouldSetBeginningBalanceToZeroIfPreviousRequisitionIsInInitiatedState() throws Exception { Rnr previousRequisition = make(a(defaultRequisition, with(status, INITIATED))); rnr.setFieldsAccordingToTemplateFrom(previousRequisition, rnrTemplate, regimenTemplate); assertThat(rnr.getFullSupplyLineItems().get(0).getBeginningBalance(), is(0)); }
public void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate) { this.setBeginningBalances(previousRequisition, template.columnsVisible(BEGINNING_BALANCE)); for (RnrLineItem lineItem : this.fullSupplyLineItems) { lineItem.setLineItemFieldsAccordingToTemplate(template); } if (regimenTemplate.getColumns().isEmpty()) return; for (RegimenLineItem regimenLineItem : this.regimenLineItems) { regimenLineItem.setRegimenFieldsAccordingToTemplate(regimenTemplate); } }
Rnr extends BaseModel { public void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate) { this.setBeginningBalances(previousRequisition, template.columnsVisible(BEGINNING_BALANCE)); for (RnrLineItem lineItem : this.fullSupplyLineItems) { lineItem.setLineItemFieldsAccordingToTemplate(template); } if (regimenTemplate.getColumns().isEmpty()) return; for (RegimenLineItem regimenLineItem : this.regimenLineItems) { regimenLineItem.setRegimenFieldsAccordingToTemplate(regimenTemplate); } } }
Rnr extends BaseModel { public void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate) { this.setBeginningBalances(previousRequisition, template.columnsVisible(BEGINNING_BALANCE)); for (RnrLineItem lineItem : this.fullSupplyLineItems) { lineItem.setLineItemFieldsAccordingToTemplate(template); } if (regimenTemplate.getColumns().isEmpty()) return; for (RegimenLineItem regimenLineItem : this.regimenLineItems) { regimenLineItem.setRegimenFieldsAccordingToTemplate(regimenTemplate); } } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); }
Rnr extends BaseModel { public void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate) { this.setBeginningBalances(previousRequisition, template.columnsVisible(BEGINNING_BALANCE)); for (RnrLineItem lineItem : this.fullSupplyLineItems) { lineItem.setLineItemFieldsAccordingToTemplate(template); } if (regimenTemplate.getColumns().isEmpty()) return; for (RegimenLineItem regimenLineItem : this.regimenLineItems) { regimenLineItem.setRegimenFieldsAccordingToTemplate(regimenTemplate); } } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); void add(RnrLineItem rnrLineItem, Boolean fullSupply); void calculateForApproval(); void fillLineItems(List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts); void setFieldsForApproval(); List<RnrLineItem> getAllLineItems(); void fillBasicInformation(Facility facility, Program program, ProcessingPeriod period); RnrLineItem findCorrespondingLineItem(final RnrLineItem item); RegimenLineItem findCorrespondingRegimenLineItem(final RegimenLineItem regimenLineItem); void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate); void convertToOrder(Long userId); void fillFullSupplyCost(); void fillNonFullSupplyCost(); void validateForApproval(); void copyCreatorEditableFields(Rnr rnr, ProgramRnrTemplate rnrTemplate, RegimenTemplate regimenTemplate, List<ProgramProduct> programProducts); void copyApproverEditableFields(Rnr rnr, ProgramRnrTemplate template); void setAuditFieldsForRequisition(Long modifiedBy, RnrStatus status); void prepareForFinalApproval(); void approveAndAssignToNextSupervisoryNode(SupervisoryNode parent); boolean isApprovable(); boolean preAuthorize(); void addToNonFullSupplyCost(Money cost); void addToFullSupplyCost(Money cost); boolean isForVirtualFacility(); List<RnrLineItem> getNonSkippedLineItems(); void validateRegimenLineItems(RegimenTemplate regimenTemplate); @JsonIgnore boolean isBudgetingApplicable(); }
Rnr extends BaseModel { public void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate) { this.setBeginningBalances(previousRequisition, template.columnsVisible(BEGINNING_BALANCE)); for (RnrLineItem lineItem : this.fullSupplyLineItems) { lineItem.setLineItemFieldsAccordingToTemplate(template); } if (regimenTemplate.getColumns().isEmpty()) return; for (RegimenLineItem regimenLineItem : this.regimenLineItems) { regimenLineItem.setRegimenFieldsAccordingToTemplate(regimenTemplate); } } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); void add(RnrLineItem rnrLineItem, Boolean fullSupply); void calculateForApproval(); void fillLineItems(List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts); void setFieldsForApproval(); List<RnrLineItem> getAllLineItems(); void fillBasicInformation(Facility facility, Program program, ProcessingPeriod period); RnrLineItem findCorrespondingLineItem(final RnrLineItem item); RegimenLineItem findCorrespondingRegimenLineItem(final RegimenLineItem regimenLineItem); void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate); void convertToOrder(Long userId); void fillFullSupplyCost(); void fillNonFullSupplyCost(); void validateForApproval(); void copyCreatorEditableFields(Rnr rnr, ProgramRnrTemplate rnrTemplate, RegimenTemplate regimenTemplate, List<ProgramProduct> programProducts); void copyApproverEditableFields(Rnr rnr, ProgramRnrTemplate template); void setAuditFieldsForRequisition(Long modifiedBy, RnrStatus status); void prepareForFinalApproval(); void approveAndAssignToNextSupervisoryNode(SupervisoryNode parent); boolean isApprovable(); boolean preAuthorize(); void addToNonFullSupplyCost(Money cost); void addToFullSupplyCost(Money cost); boolean isForVirtualFacility(); List<RnrLineItem> getNonSkippedLineItems(); void validateRegimenLineItems(RegimenTemplate regimenTemplate); @JsonIgnore boolean isBudgetingApplicable(); static final String RNR_VALIDATION_ERROR; }