Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- return new Promise((resolve, reject) => {
- if (!data.items) data.items = []
- let items = data.items.filter(item => item.error_code === '0')
- items = items.map(item => {
- if (item.payment_tool_type === 'Готівка') {
- item.terminal_id = (item.terminal_id === '- TERMINAL ID not found -' || !item.terminal_id) ? '' : item.terminal_id
- item.bank_name = (item.bank_name === '- BANK NAME not found -' || !item.bank_name) ? '' : item.bank_name
- }
- return item
- }).sort((a, b) => new Date(b.transaction_date) - new Date(a.transaction_date))
- const summary = {
- all: {
- sum_in: 0,
- tax_in: 0,
- sum_out: 0,
- tax_out: 0,
- },
- cash: {
- sum_in: 0,
- sum_out: 0,
- all: 0,
- },
- non_cash: {
- sum_in: 0,
- sum_out: 0,
- all: 0,
- },
- cash_non_cash: {
- sum_in: 0,
- sum_out: 0,
- all: 0,
- },
- sum: 0,
- }
- const sum_all = data.items.filter(item => item.error_code === '1')
- summary.all.sum_in = sum_all[0].payment_amount_in ? Number(sum_all[0].payment_amount_in).toFixed(2) : '0.00'
- summary.all.sum_out = sum_all[0].payment_amount_out ? Number(sum_all[0].payment_amount_out).toFixed(2) : '0.00'
- summary.all.tax_in = sum_all[0].tax_amount_in ? Number(sum_all[0].tax_amount_in).toFixed(2) : '0.00'
- summary.all.tax_out = sum_all[0].tax_amount_out ? Number(sum_all[0].tax_amount_out).toFixed(2) : '0.00'
- const cash = data.items.filter(item => item.error_code === '2')
- summary.cash.sum_in = cash[0].payment_amount_in ? Number(cash[0].payment_amount_in).toFixed(2) : '0.00'
- summary.cash.sum_out = cash[0].payment_amount_out ? Number(cash[0].payment_amount_out).toFixed(2) : '0.00'
- const non_cash = data.items.filter(item => item.error_code === '3')
- summary.non_cash.sum_in = non_cash[0].payment_amount_in ? Number(non_cash[0].payment_amount_in).toFixed(2) : '0.00'
- summary.non_cash.sum_out = non_cash[0].payment_amount_out ? Number(non_cash[0].payment_amount_out).toFixed(2) : '0.00'
- const cash_non_cash = data.items.filter(item => item.error_code === '4')
- summary.cash_non_cash.sum_in = cash_non_cash[0].payment_amount_in ? Number(cash_non_cash[0].payment_amount_in).toFixed(2) : '0.00'
- summary.cash_non_cash.sum_out = cash_non_cash[0].payment_amount_out ? Number(cash_non_cash[0].payment_amount_out).toFixed(2) : '0.00'
- const sum_cash = data.items.filter(item => item.error_code === '5')
- summary.cash.all = sum_cash[0].payment_amount_in ? Number(sum_cash[0].payment_amount_in).toFixed(2) : '0.00'
- const sum_non_cash = data.items.filter(item => item.error_code === '6')
- summary.non_cash.all = sum_non_cash[0].payment_amount_in ? Number(sum_non_cash[0].payment_amount_in).toFixed(2) : '0.00'
- const sum = data.items.filter(item => item.error_code === '7')
- summary.sum = sum[0].payment_amount_in ? Number(sum[0].payment_amount_in).toFixed(2) : '0.00'
- data.fio = ''
- if (data.cashier_name) {
- const fio_arr = data.cashier_name.split(' ')
- data.fio = `${fio_arr[0]} ${fio_arr[1].substr(0, 1).toUpperCase()}.${fio_arr[2].substr(0, 1).toUpperCase()}.`
- }
- items = mock.items
- const PER_PAGE = 47
- const HEADER_LENGTH = 4
- const FOOTER_LENGTH = 14
- const COUNT = items.length
- const ROWS_COUNT = HEADER_LENGTH + COUNT + FOOTER_LENGTH
- const REMAINDER = ROWS_COUNT % PER_PAGE
- console.log('REMAINDER', REMAINDER)
- const PAGE_FLOOR = Math.floor(ROWS_COUNT / PER_PAGE)
- const FULL_PAGE_COUNT = REMAINDER > FOOTER_LENGTH ? PAGE_FLOOR : PER_PAGE + 1
- console.log('PAGE_COUNT', FULL_PAGE_COUNT)
- let GROUP = 0
- const page = []
- page[GROUP] = []
- if (ROWS_COUNT <= PER_PAGE) {
- page[0].first_page = true
- for (let i = 0; i < COUNT; i += 1) {
- page[0].push(items[i])
- }
- }
- if (ROWS_COUNT > PER_PAGE) {
- for (let i = 0; i < (PER_PAGE - HEADER_LENGTH); i += 1) {
- console.log('i fp', i)
- page[0].push(items[i])
- }
- for (let i = (PER_PAGE - HEADER_LENGTH); i < COUNT; i += 1) {
- if ((i - PER_PAGE + HEADER_LENGTH) % PER_PAGE === 0) {
- GROUP += 1
- page[GROUP] = []
- }
- console.log('i op', i)
- console.log('GROUP op', GROUP)
- page[GROUP].push(items[i])
- }
- }
- console.log(page)
- resolve({
- page,
- items,
- summary,
- date_from: data.date_from,
- date_to: data.date_to,
- pnfp_no: data.pnfp_no,
- rro_num: data.rro_num,
- reg_num: data.reg_num,
- cashier_name: data.cashier_name,
- cashier_fio: data.fio,
- })
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement