Merge pull request 'development' (#116) from development into production
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

Reviewed-on: #116
production 1.3.1-production.1
irfan 2024-12-17 15:52:40 +00:00
commit ceedf83385
2 changed files with 36 additions and 5 deletions

View File

@ -11,6 +11,7 @@ import {
} from '../models/queue.model';
import { QueueOrder } from '../../domain/entities/order.entity';
import * as moment from 'moment';
import { TransactionModel } from 'src/modules/transaction/transaction/data/models/transaction.model';
@Injectable()
export class TicketDataService extends BaseDataService<QueueTicket> {
@ -23,6 +24,9 @@ export class TicketDataService extends BaseDataService<QueueTicket> {
@InjectRepository(QueueItemModel, CONNECTION_NAME.DEFAULT)
private item: Repository<QueueItemModel>,
@InjectRepository(TransactionModel, CONNECTION_NAME.DEFAULT)
private transaction: Repository<TransactionModel>,
) {
super(repo);
}
@ -36,13 +40,37 @@ export class TicketDataService extends BaseDataService<QueueTicket> {
}
async loginQueue(id: string): Promise<QueueOrder> {
return this.order.findOneOrFail({
const order = await this.order.findOne({
relations: ['tickets'],
where: [
{ transaction_id: id },
{ code: id, transaction_id: Not(IsNull()) },
],
});
if (!order) {
const { customer_name, customer_phone } =
await this.transaction.findOneOrFail({
where: {
id,
},
});
const start = moment().startOf('day').valueOf();
const end = moment().endOf('day').valueOf();
const order = this.order.findOneOrFail({
relations: ['tickets'],
where: {
customer: customer_name,
phone: customer_phone,
date: Between(start, end),
},
});
return order;
}
return order;
}
async ticketByCode(code: string): Promise<QueueTicketModel[]> {

View File

@ -89,10 +89,13 @@ export class IndexQueueManager extends BaseIndexManager<Queue> {
console.log({ start, end, item_queue_id: this.filterParam.queue_id });
queryBuilder.andWhere(`${this.tableName}.time BETWEEN :start AND :end`, {
queryBuilder.andWhere(
`${this.tableName}.created_at BETWEEN :start AND :end`,
{
start,
end,
});
},
);
queryBuilder.andWhere(`${this.tableName}.item_queue_id = :item_queue_id`, {
item_queue_id: this.filterParam.queue_id,