59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import {
|
|
Controller,
|
|
Get,
|
|
Res,
|
|
Header,
|
|
Post,
|
|
Body,
|
|
Request,
|
|
Param,
|
|
ParseUUIDPipe,
|
|
} from '@nestjs/common';
|
|
import { Response } from 'express';
|
|
import { TransactionService } from './transaction.service';
|
|
import { ExportTransactionDto } from './dto/export-transaction.dto';
|
|
|
|
@Controller({
|
|
path: 'excel',
|
|
version: '1',
|
|
})
|
|
export class ExcelController {
|
|
constructor(private transactionService: TransactionService) {}
|
|
|
|
@Post('history-user/export/:id')
|
|
@Header('Content-Type', 'text/xlsx')
|
|
async exportTransactionHistory(
|
|
@Param('id') id: string,
|
|
@Body() exportTransactionDto: ExportTransactionDto,
|
|
@Request() req,
|
|
@Res() res: Response,
|
|
) {
|
|
const result = await this.transactionService.exportDataExcel(
|
|
exportTransactionDto.dateStart,
|
|
exportTransactionDto.dateEnd,
|
|
id,
|
|
req.user,
|
|
);
|
|
|
|
res.download(`${result}`);
|
|
}
|
|
|
|
@Post('history-user/export-all')
|
|
@Header('Content-Type', 'text/xlsx')
|
|
async exportTransactionHistoryAll(
|
|
@Body() exportTransactionDto: ExportTransactionDto,
|
|
@Request() req,
|
|
@Res() res: Response,
|
|
) {
|
|
const result = await this.transactionService.exportDataExcelAll(
|
|
exportTransactionDto.dateStart,
|
|
exportTransactionDto.dateEnd,
|
|
exportTransactionDto.supplier,
|
|
exportTransactionDto.buyer,
|
|
req.user,
|
|
);
|
|
|
|
res.download(`${result}`);
|
|
}
|
|
}
|