moov-io / imagecashletter

X9’s Specifications for ICL (Image Cash Letter) to provide Check 21 services. The HTTP server is available in a Docker image and the Go package is available.
https://moov-io.github.io/imagecashletter/
Apache License 2.0
60 stars 39 forks source link

Routing Number Summary records are not added to file #320

Open atonks2 opened 1 year ago

atonks2 commented 1 year ago

The reader doesn't add the parsed RoutingNumberSummary to the file. The reader.parseLine() method expects reader.parseRoutingNumberSummary() to set r.currentCashLetter.currentRoutingNumberSummary, but it doesn't currently do that.

parseLine:

    case routingNumberSummaryPos, routingNumberSummaryEbcPos:
        if err := r.parseRoutingNumberSummary(); err != nil {
            return err
        }
        r.currentCashLetter.AddRoutingNumberSummary(r.currentCashLetter.currentRoutingNumberSummary)
        r.currentCashLetter.currentRoutingNumberSummary = new(RoutingNumberSummary)

parseRoutingNumberSummary:

func (r *Reader) parseRoutingNumberSummary() error {
    r.recordName = "RoutingNumberSummary"
    if r.currentCashLetter.CashLetterHeader == nil {
        return r.error(&FileError{Msg: msgFileRoutingNumberSummary})
    }

    rns := NewRoutingNumberSummary()
    rns.Parse(r.decodeLine(r.line))
    if err := rns.Validate(); err != nil {
        return r.error(err)
    }
    return nil
}