lib: refactor
This commit is contained in:
parent
79812f974a
commit
3b2a9eaba4
@ -367,10 +367,7 @@ data Account = Account {
|
||||
-- Assets and expenses are normally positive (debit), while liabilities, equity
|
||||
-- and income are normally negative (credit).
|
||||
-- https://en.wikipedia.org/wiki/Normal_balance
|
||||
data NormalSign =
|
||||
NormallyPositive -- ^ normally debit - assets, expenses...
|
||||
| NormallyNegative -- ^ normally credit - liabilities, equity, income...
|
||||
deriving (Show, Data, Eq)
|
||||
data NormalSign = NormallyPositive | NormallyNegative deriving (Show, Data, Eq)
|
||||
|
||||
-- | A Ledger has the journal it derives from, and the accounts
|
||||
-- derived from that. Accounts are accessible both list-wise and
|
||||
|
||||
@ -45,6 +45,26 @@ data CompoundBalanceCommandSpec = CompoundBalanceCommandSpec {
|
||||
cbctype :: BalanceType -- ^ the type of "balance" this report shows (overrides command line flags)
|
||||
}
|
||||
|
||||
-- | A compound balance report has:
|
||||
--
|
||||
-- * an overall title
|
||||
--
|
||||
-- * the period (date span) of each column
|
||||
--
|
||||
-- * one or more named multi balance reports, with columns corresponding to the above
|
||||
--
|
||||
-- * a list of overall totals for each column, and their grand total and average
|
||||
--
|
||||
-- It is used in compound balance report commands like balancesheet,
|
||||
-- cashflow and incomestatement.
|
||||
type CompoundBalanceReport =
|
||||
( String
|
||||
, [DateSpan]
|
||||
, [(String, MultiBalanceReport)]
|
||||
, ([MixedAmount], MixedAmount, MixedAmount)
|
||||
)
|
||||
|
||||
|
||||
-- | Generate a cmdargs option-parsing mode from a compound balance command
|
||||
-- specification.
|
||||
compoundBalanceCommandMode :: CompoundBalanceCommandSpec -> Mode RawOpts
|
||||
@ -212,25 +232,6 @@ compoundBalanceCommandSingleColumnReport ropts userq j subreporttitle subreportq
|
||||
| otherwise = balanceReport ropts' q j
|
||||
subreportstr = intercalate "\n" [subreporttitle <> ":", balanceReportAsText ropts r]
|
||||
|
||||
-- | A compound balance report has:
|
||||
--
|
||||
-- * an overall title
|
||||
--
|
||||
-- * the period (date span) of each column
|
||||
--
|
||||
-- * one or more named multi balance reports, with columns corresponding to the above
|
||||
--
|
||||
-- * a list of overall totals for each column, and their grand total and average
|
||||
--
|
||||
-- It is used in compound balance report commands like balancesheet,
|
||||
-- cashflow and incomestatement.
|
||||
type CompoundBalanceReport =
|
||||
( String
|
||||
, [DateSpan]
|
||||
, [(String, MultiBalanceReport)]
|
||||
, ([MixedAmount], MixedAmount, MixedAmount)
|
||||
)
|
||||
|
||||
-- | Run one subreport for a compound balance command in multi-column mode.
|
||||
-- This returns a MultiBalanceReport.
|
||||
compoundBalanceSubreport :: ReportOpts -> Query -> Journal -> (Journal -> Query) -> Maybe NormalSign -> MultiBalanceReport
|
||||
|
||||
Loading…
Reference in New Issue
Block a user