Merge pull request #230 from bigcapitalhq/abouhuolia/big-60-fromto-date-is-not-showing-up-on-inventory-items-details

fix: change the default from/date date value of reports
This commit is contained in:
Ahmed Bouhuolia
2023-08-28 20:59:02 +02:00
committed by GitHub
36 changed files with 132 additions and 83 deletions

View File

@@ -37,7 +37,7 @@ export default class BalanceSheetStatementService
displayColumnsBy: 'month', displayColumnsBy: 'month',
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
precision: 2, precision: 2,

View File

@@ -40,7 +40,7 @@ export default class CashFlowStatementService
displayColumnsType: 'total', displayColumnsType: 'total',
displayColumnsBy: 'day', displayColumnsBy: 'day',
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
precision: 2, precision: 2,
divideOn1000: false, divideOn1000: false,

View File

@@ -31,8 +31,8 @@ export default class GeneralLedgerService {
*/ */
get defaultQuery() { get defaultQuery() {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'cash', basis: 'cash',
numberFormat: { numberFormat: {
noCents: false, noCents: false,

View File

@@ -16,13 +16,13 @@ import { Tenant } from '@/system/models';
@Service() @Service()
export default class InventoryDetailsService extends FinancialSheet { export default class InventoryDetailsService extends FinancialSheet {
@Inject() @Inject()
tenancy: TenancyService; private tenancy: TenancyService;
@Inject() @Inject()
reportRepo: InventoryDetailsRepository; private reportRepo: InventoryDetailsRepository;
@Inject() @Inject()
inventoryService: InventoryService; private inventoryService: InventoryService;
/** /**
* Defaults balance sheet filter query. * Defaults balance sheet filter query.
@@ -30,8 +30,8 @@ export default class InventoryDetailsService extends FinancialSheet {
*/ */
private get defaultQuery(): IInventoryDetailsQuery { private get defaultQuery(): IInventoryDetailsQuery {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
itemsIds: [], itemsIds: [],
numberFormat: { numberFormat: {
precision: 2, precision: 2,

View File

@@ -27,7 +27,7 @@ export default class InventoryValuationSheetService {
*/ */
get defaultQuery(): IInventoryValuationReportQuery { get defaultQuery(): IInventoryValuationReportQuery {
return { return {
asDate: moment().endOf('year').format('YYYY-MM-DD'), asDate: moment().format('YYYY-MM-DD'),
itemsIds: [], itemsIds: [],
numberFormat: { numberFormat: {
precision: 2, precision: 2,

View File

@@ -25,8 +25,8 @@ export default class JournalSheetService {
*/ */
get defaultQuery() { get defaultQuery() {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
fromRange: null, fromRange: null,
toRange: null, toRange: null,
accountsIds: [], accountsIds: [],

View File

@@ -8,7 +8,7 @@ import { IProfitLossSheetQuery } from '@/interfaces';
*/ */
export const getDefaultPLQuery = (): IProfitLossSheetQuery => ({ export const getDefaultPLQuery = (): IProfitLossSheetQuery => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
divideOn1000: false, divideOn1000: false,

View File

@@ -12,10 +12,7 @@ import { Tenant } from '@/system/models';
@Service() @Service()
export default class InventoryValuationReportService { export default class InventoryValuationReportService {
@Inject() @Inject()
tenancy: TenancyService; private tenancy: TenancyService;
@Inject('logger')
logger: any;
/** /**
* Defaults balance sheet filter query. * Defaults balance sheet filter query.
@@ -23,8 +20,8 @@ export default class InventoryValuationReportService {
*/ */
get defaultQuery(): IInventoryValuationReportQuery { get defaultQuery(): IInventoryValuationReportQuery {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
itemsIds: [], itemsIds: [],
numberFormat: { numberFormat: {
precision: 2, precision: 2,
@@ -73,9 +70,9 @@ export default class InventoryValuationReportService {
tenantId: number, tenantId: number,
query: IInventoryValuationReportQuery query: IInventoryValuationReportQuery
): Promise<{ ): Promise<{
data: IInventoryValuationStatement, data: IInventoryValuationStatement;
query: IInventoryValuationReportQuery, query: IInventoryValuationReportQuery;
meta: IInventoryValuationSheetMeta, meta: IInventoryValuationSheetMeta;
}> { }> {
const { Item, InventoryTransaction } = this.tenancy.models(tenantId); const { Item, InventoryTransaction } = this.tenancy.models(tenantId);
@@ -87,7 +84,7 @@ export default class InventoryValuationReportService {
...this.defaultQuery, ...this.defaultQuery,
...query, ...query,
}; };
const inventoryItems = await Item.query().onBuild(q => { const inventoryItems = await Item.query().onBuild((q) => {
q.where('type', 'inventory'); q.where('type', 'inventory');
if (filter.itemsIds.length > 0) { if (filter.itemsIds.length > 0) {
@@ -106,7 +103,7 @@ export default class InventoryValuationReportService {
builder.whereIn('itemId', inventoryItemsIds); builder.whereIn('itemId', inventoryItemsIds);
// Filter the date range of the sheet. // Filter the date range of the sheet.
builder.modify('filterDateRange', filter.fromDate, filter.toDate) builder.modify('filterDateRange', filter.fromDate, filter.toDate);
} }
); );

View File

@@ -23,8 +23,8 @@ export default class SalesByItemsReportService {
*/ */
get defaultQuery(): ISalesByItemsReportQuery { get defaultQuery(): ISalesByItemsReportQuery {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
itemsIds: [], itemsIds: [],
numberFormat: { numberFormat: {
precision: 2, precision: 2,

View File

@@ -31,8 +31,8 @@ export default class TransactionsByCustomersService
*/ */
get defaultQuery(): ITransactionsByCustomersFilter { get defaultQuery(): ITransactionsByCustomersFilter {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
precision: 2, precision: 2,
divideOn1000: false, divideOn1000: false,

View File

@@ -32,7 +32,7 @@ export default class TransactionsByVendorsService
*/ */
get defaultQuery(): ITransactionsByVendorsFilter { get defaultQuery(): ITransactionsByVendorsFilter {
return { return {
fromDate: moment().format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
precision: 2, precision: 2,

View File

@@ -27,7 +27,7 @@ export default class TrialBalanceSheetService extends FinancialSheet {
get defaultQuery(): ITrialBalanceSheetQuery { get defaultQuery(): ITrialBalanceSheetQuery {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
numberFormat: { numberFormat: {
divideOn1000: false, divideOn1000: false,
negativeFormat: 'mines', negativeFormat: 'mines',

View File

@@ -20,7 +20,7 @@ export default function APAgingSummaryTable({
}) { }) {
// AP aging summary report content. // AP aging summary report content.
const { const {
APAgingSummary: { table }, APAgingSummary: { table, query },
isAPAgingLoading, isAPAgingLoading,
} = useAPAgingSummaryContext(); } = useAPAgingSummaryContext();
@@ -31,7 +31,7 @@ export default function APAgingSummaryTable({
<FinancialSheet <FinancialSheet
companyName={organizationName} companyName={organizationName}
sheetType={intl.get('payable_aging_summary')} sheetType={intl.get('payable_aging_summary')}
asDate={new Date()} asDate={query.as_date}
loading={isAPAgingLoading} loading={isAPAgingLoading}
> >
<APAgingSummaryDataTable <APAgingSummaryDataTable

View File

@@ -11,7 +11,10 @@ const ARAgingSummaryContext = createContext();
*/ */
function ARAgingSummaryProvider({ filter, ...props }) { function ARAgingSummaryProvider({ filter, ...props }) {
// Transformes the filter from to the url query. // Transformes the filter from to the url query.
const query = useMemo(() => transformFilterFormToQuery(filter), [filter]); const requestQuery = useMemo(
() => transformFilterFormToQuery(filter),
[filter],
);
// A/R aging summary sheet context. // A/R aging summary sheet context.
const { const {
@@ -19,11 +22,10 @@ function ARAgingSummaryProvider({ filter, ...props }) {
isLoading: isARAgingLoading, isLoading: isARAgingLoading,
isFetching: isARAgingFetching, isFetching: isARAgingFetching,
refetch, refetch,
} = useARAgingSummaryReport(query, { keepPreviousData: true }); } = useARAgingSummaryReport(requestQuery, { keepPreviousData: true });
const provider = { const provider = {
ARAgingSummary, ARAgingSummary,
isARAgingLoading, isARAgingLoading,
isARAgingFetching, isARAgingFetching,
refetch, refetch,

View File

@@ -20,7 +20,7 @@ export default function ReceivableAgingSummaryTable({
}) { }) {
// AR aging summary report context. // AR aging summary report context.
const { const {
ARAgingSummary: { table }, ARAgingSummary: { table, query },
isARAgingLoading, isARAgingLoading,
} = useARAgingSummaryContext(); } = useARAgingSummaryContext();
@@ -31,7 +31,7 @@ export default function ReceivableAgingSummaryTable({
<FinancialSheet <FinancialSheet
companyName={organizationName} companyName={organizationName}
sheetType={intl.get('receivable_aging_summary')} sheetType={intl.get('receivable_aging_summary')}
asDate={new Date()} asDate={query.as_date}
loading={isARAgingLoading} loading={isARAgingLoading}
> >
<ARAgingSummaryDataTable <ARAgingSummaryDataTable

View File

@@ -15,7 +15,7 @@ import { useAppQueryString } from '@/hooks';
*/ */
export const getDefaultBalanceSheetQuery = () => ({ export const getDefaultBalanceSheetQuery = () => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'cash', basis: 'cash',
displayColumnsType: 'total', displayColumnsType: 'total',
filterByOption: 'without-zero-balance', filterByOption: 'without-zero-balance',

View File

@@ -12,7 +12,7 @@ import { useAppQueryString } from '@/hooks';
export const getDefaultCashFlowSheetQuery = () => { export const getDefaultCashFlowSheetQuery = () => {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'cash', basis: 'cash',
displayColumnsType: 'total', displayColumnsType: 'total',
filterByOption: 'with-transactions', filterByOption: 'with-transactions',

View File

@@ -18,7 +18,7 @@ export default function CustomersBalanceSummaryTable({
companyName, companyName,
}) { }) {
const { const {
CustomerBalanceSummary: { table }, CustomerBalanceSummary: { table, query },
} = useCustomersBalanceSummaryContext(); } = useCustomersBalanceSummaryContext();
// Retrieves the customers summary columns. // Retrieves the customers summary columns.
@@ -28,7 +28,7 @@ export default function CustomersBalanceSummaryTable({
<FinancialSheet <FinancialSheet
companyName={companyName} companyName={companyName}
sheetType={intl.get('customers_balance_summary')} sheetType={intl.get('customers_balance_summary')}
asDate={new Date()} asDate={query.as_date}
> >
<CustomerBalanceDataTable <CustomerBalanceDataTable
columns={columns} columns={columns}

View File

@@ -13,6 +13,7 @@ import { CustomersTransactionsBody } from './CustomersTransactionsBody';
import { CustomersTransactionsProvider } from './CustomersTransactionsProvider'; import { CustomersTransactionsProvider } from './CustomersTransactionsProvider';
import { compose } from '@/utils'; import { compose } from '@/utils';
import { useCustomersTransactionsQuery } from './_utils';
/** /**
* Customers transactions. * Customers transactions.
@@ -22,11 +23,7 @@ function CustomersTransactions({
toggleCustomersTransactionsFilterDrawer, toggleCustomersTransactionsFilterDrawer,
}) { }) {
// filter // filter
const [filter, setFilter] = useState({ const [filter, setFilter] = useCustomersTransactionsQuery();
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'),
filterByOption: 'with-transactions',
});
const handleFilterSubmit = (filter) => { const handleFilterSubmit = (filter) => {
const _filter = { const _filter = {

View File

@@ -14,7 +14,7 @@ function CustomersTransactionsProvider({ filter, ...props }) {
filter, filter,
]); ]);
// fetches the customers transactions. // Fetches the customers transactions.
const { const {
data: customersTransactions, data: customersTransactions,
isFetching: isCustomersTransactionsFetching, isFetching: isCustomersTransactionsFetching,

View File

@@ -1,6 +1,11 @@
// @ts-nocheck
import * as Yup from 'yup'; import * as Yup from 'yup';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import moment from 'moment'; import moment from 'moment';
import { transformToForm } from '@/utils';
import { castArray } from 'lodash';
import { useMemo } from 'react';
import { useAppQueryString } from '@/hooks';
export const getCustomersTransactionsQuerySchema = () => { export const getCustomersTransactionsQuerySchema = () => {
return Yup.object().shape({ return Yup.object().shape({
@@ -13,7 +18,31 @@ export const getCustomersTransactionsQuerySchema = () => {
}; };
export const getCustomersTransactionsDefaultQuery = () => ({ export const getCustomersTransactionsDefaultQuery = () => ({
fromDate: moment().toDate(), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().toDate(), toDate: moment().format('YYYY-MM-DD'),
customersIds: [], customersIds: [],
filterByOption: 'with-transactions',
}); });
const parseCustomersTransactionsQuery = (query) => {
const defaultQuery = getCustomersTransactionsDefaultQuery();
const transformedQuery = {
...defaultQuery,
...transformToForm(query, defaultQuery),
};
return {
...transformedQuery,
customersIds: castArray(transformedQuery.customersIds),
};
};
export const useCustomersTransactionsQuery = () => {
const [locationQuery, setLocationQuery] = useAppQueryString();
const query = useMemo(
() => parseCustomersTransactionsQuery(locationQuery),
[locationQuery],
);
return [query, setLocationQuery];
};

View File

@@ -28,8 +28,8 @@ export const filterAccountsOptions = [
* Retrieves the default general ledger query. * Retrieves the default general ledger query.
*/ */
export const getDefaultGeneralLedgerQuery = () => ({ export const getDefaultGeneralLedgerQuery = () => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'accrual', basis: 'accrual',
filterByOption: 'with-transactions', filterByOption: 'with-transactions',
branchesIds: [], branchesIds: [],

View File

@@ -35,8 +35,8 @@ export function InventoryItemDetailsTable({
companyName={companyName} companyName={companyName}
sheetType={intl.get('inventory_item_details')} sheetType={intl.get('inventory_item_details')}
loading={isInventoryItemDetailsLoading} loading={isInventoryItemDetailsLoading}
fromDate={query.from_date} fromDate={query.fromDate}
toDate={query.to_date} toDate={query.toDate}
fullWidth={true} fullWidth={true}
> >
<InventoryItemDetailsDataTable <InventoryItemDetailsDataTable

View File

@@ -31,9 +31,6 @@ const numericColumn = R.curry((data, index, column) => ({
align: Align.Right, align: Align.Right,
})); }));
/**
* columns mapper.
*/
const columnsMapper = R.curry((data, index, column) => ({ const columnsMapper = R.curry((data, index, column) => ({
id: column.key, id: column.key,
key: column.key, key: column.key,

View File

@@ -12,8 +12,8 @@ import { transformToForm } from '@/utils';
* Retrieves inventory item details default query. * Retrieves inventory item details default query.
*/ */
export const getInventoryItemDetailsDefaultQuery = () => ({ export const getInventoryItemDetailsDefaultQuery = () => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
itemsIds: [], itemsIds: [],
warehousesIds: [], warehousesIds: [],
branchesIds: [], branchesIds: [],

View File

@@ -19,7 +19,7 @@ export default function InventoryValuationTable({
}) { }) {
// inventory valuation context. // inventory valuation context.
const { const {
inventoryValuation: { tableRows }, inventoryValuation: { tableRows, query },
isLoading, isLoading,
} = useInventoryValuationContext(); } = useInventoryValuationContext();
@@ -30,7 +30,7 @@ export default function InventoryValuationTable({
<InventoryValuationSheet <InventoryValuationSheet
companyName={companyName} companyName={companyName}
sheetType={intl.get('inventory_valuation')} sheetType={intl.get('inventory_valuation')}
asDate={new Date()} asDate={query.as_date}
loading={isLoading} loading={isLoading}
> >
<InventoryValuationDataTable <InventoryValuationDataTable

View File

@@ -20,7 +20,7 @@ export const getInventoryValuationQuerySchema = () => {
* Retrieves the inventory valuation sheet default query. * Retrieves the inventory valuation sheet default query.
*/ */
export const getInventoryValuationQuery = () => ({ export const getInventoryValuationQuery = () => ({
asDate: moment().endOf('day').format('YYYY-MM-DD'), asDate: moment().format('YYYY-MM-DD'),
filterByOption: 'with-transactions', filterByOption: 'with-transactions',
itemsIds: [], itemsIds: [],
branchesIds: [], branchesIds: [],

View File

@@ -11,17 +11,16 @@ import { transformToForm } from '@/utils';
*/ */
export const getDefaultJournalQuery = () => { export const getDefaultJournalQuery = () => {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'accrual', basis: 'accrual',
}; };
}; };
/** /**
* Parses balance sheet query. * Parses balance sheet query.
*/ */
const parseJournalQuery = (locationQuery) => { const parseJournalQuery = (locationQuery) => {
const defaultQuery = getDefaultJournalQuery(); const defaultQuery = getDefaultJournalQuery();
return { return {

View File

@@ -23,7 +23,7 @@ export default function ProfitLossSheetTable({
} = useProfitLossSheetContext(); } = useProfitLossSheetContext();
// Retrieves the profit/loss table columns. // Retrieves the profit/loss table columns.
const tableColumns = useProfitLossSheetColumns(); const columns = useProfitLossSheetColumns();
// Retrieve default expanded rows of balance sheet. // Retrieve default expanded rows of balance sheet.
const expandedRows = React.useMemo( const expandedRows = React.useMemo(
@@ -40,7 +40,7 @@ export default function ProfitLossSheetTable({
basis={query.basis} basis={query.basis}
> >
<ProfitLossDataTable <ProfitLossDataTable
columns={tableColumns} columns={columns}
data={table.rows} data={table.rows}
noInitialFetch={true} noInitialFetch={true}
expanded={expandedRows} expanded={expandedRows}

View File

@@ -16,7 +16,7 @@ import { castArray } from 'lodash';
export const getDefaultProfitLossQuery = () => ({ export const getDefaultProfitLossQuery = () => ({
basis: 'cash', basis: 'cash',
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
displayColumnsType: 'total', displayColumnsType: 'total',
filterByOption: 'with-transactions', filterByOption: 'with-transactions',

View File

@@ -11,8 +11,8 @@ import { castArray } from 'lodash';
* Retrieves the purchases by items query. * Retrieves the purchases by items query.
*/ */
export const getDefaultPurchasesByItemsQuery = () => ({ export const getDefaultPurchasesByItemsQuery = () => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
filterByOption: 'with-transactions', filterByOption: 'with-transactions',
itemsIds: [], itemsIds: [],
}); });

View File

@@ -25,8 +25,8 @@ export const getSalesByItemsQueryShema = () => {
* Retrieves the default query. * Retrieves the default query.
*/ */
export const getDefaultSalesByItemsQuery = () => ({ export const getDefaultSalesByItemsQuery = () => ({
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
filterByOption: 'with-transactions', filterByOption: 'with-transactions',
itemsIds: [], itemsIds: [],
}); });

View File

@@ -12,7 +12,7 @@ import { transformToForm } from '@/utils';
export function getDefaultTrialBalanceQuery() { export function getDefaultTrialBalanceQuery() {
return { return {
fromDate: moment().startOf('year').format('YYYY-MM-DD'), fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'), toDate: moment().format('YYYY-MM-DD'),
basis: 'accrual', basis: 'accrual',
filterByOption: 'with-transactions', filterByOption: 'with-transactions',
branchesIds: [], branchesIds: [],

View File

@@ -9,7 +9,6 @@ import { tableRowTypesToClassnames } from '@/utils';
import { useVendorsBalanceColumns } from './components'; import { useVendorsBalanceColumns } from './components';
import { useVendorsBalanceSummaryContext } from './VendorsBalanceSummaryProvider'; import { useVendorsBalanceSummaryContext } from './VendorsBalanceSummaryProvider';
/** /**
* Vendors balance summary table. * Vendors balance summary table.
*/ */
@@ -18,7 +17,7 @@ export default function VendorsBalanceSummaryTable({
organizationName, organizationName,
}) { }) {
const { const {
VendorBalanceSummary: { table }, VendorBalanceSummary: { table, query },
} = useVendorsBalanceSummaryContext(); } = useVendorsBalanceSummaryContext();
// vendors balance summary columns. // vendors balance summary columns.
@@ -28,7 +27,7 @@ export default function VendorsBalanceSummaryTable({
<VendorBalanceFinancialSheet <VendorBalanceFinancialSheet
companyName={organizationName} companyName={organizationName}
sheetType={intl.get('vendors_balance_summary')} sheetType={intl.get('vendors_balance_summary')}
asDate={new Date()} asDate={query.as_date}
> >
<VendorBalanceDataTable <VendorBalanceDataTable
columns={columns} columns={columns}

View File

@@ -13,6 +13,7 @@ import VendorsTransactionsActionsBar from './VendorsTransactionsActionsBar';
import withVendorsTransactionsActions from './withVendorsTransactionsActions'; import withVendorsTransactionsActions from './withVendorsTransactionsActions';
import { compose } from '@/utils'; import { compose } from '@/utils';
import { useVendorsTransactionsQuery } from './_utils';
/** /**
* Vendors transactions. * Vendors transactions.
@@ -22,11 +23,7 @@ function VendorsTransactions({
toggleVendorsTransactionsFilterDrawer, toggleVendorsTransactionsFilterDrawer,
}) { }) {
// filter // filter
const [filter, setFilter] = useState({ const [filter, setFilter] = useVendorsTransactionsQuery();
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'),
filterByOption: 'with-transactions',
});
const handleFilterSubmit = (filter) => { const handleFilterSubmit = (filter) => {
const _filter = { const _filter = {

View File

@@ -1,6 +1,10 @@
// @ts-nocheck
import * as Yup from 'yup'; import * as Yup from 'yup';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import moment from 'moment'; import moment from 'moment';
import { useMemo } from 'react';
import { transformToForm } from '@/utils';
import { useAppQueryString } from '@/hooks';
/** /**
* The validation schema of vendors transactions. * The validation schema of vendors transactions.
@@ -19,7 +23,35 @@ export const getVendorTransactionsQuerySchema = () => {
* Retrieves the default query of vendors transactions. * Retrieves the default query of vendors transactions.
*/ */
export const getVendorsTransactionsDefaultQuery = () => ({ export const getVendorsTransactionsDefaultQuery = () => ({
fromDate: moment().toDate(), fromDate: moment().startOf('month').format('YYYY-MM-DD'),
toDate: moment().toDate(), toDate: moment().format('YYYY-MM-DD'),
vendorsIds: [], vendorsIds: [],
}); });
/**
* Parses the query of vendors transactions.
*/
const parseVendorsTransactionsQuery = (query) => {
const defaultQuery = getVendorsTransactionsDefaultQuery();
const transformed = {
...defaultQuery,
...transformToForm(query, defaultQuery),
};
return {
...transformed,
vendorsIds: transformed.vendorsIds ? transformed.vendorsIds : [],
};
};
/**
* Retrieves the query of vendors transactions.
*/
export const useVendorsTransactionsQuery = () => {
const [locationQuery, setLocationQuery] = useAppQueryString();
const query = useMemo(
() => parseVendorsTransactionsQuery(locationQuery),
[locationQuery],
);
return [query, setLocationQuery];
};