Commit 7569cac3604441504fa278021e555d0a93b91f39
1 parent
83dfaec486
Exists in
develop
Add
Sonido al agregarse una nueva comanda.
Showing
3 changed files
with
10 additions
and
0 deletions
Show diff stats
src/app/modules/comanda/comanda.component.ts
1 | import { Component, OnInit } from '@angular/core'; | 1 | import { Component, OnInit } from '@angular/core'; |
2 | import { IComanda, IComandaDetalle, IComponente } from 'src/app/interfaces/IComanda'; | 2 | import { IComanda, IComandaDetalle, IComponente } from 'src/app/interfaces/IComanda'; |
3 | import { ComandaService } from 'src/app/services/comanda/comanda.service'; | 3 | import { ComandaService } from 'src/app/services/comanda/comanda.service'; |
4 | import * as _ from 'lodash'; | 4 | import * as _ from 'lodash'; |
5 | import { SoundManager } from 'src/app/utils/sound-manager'; | ||
5 | 6 | ||
6 | @Component({ | 7 | @Component({ |
7 | selector: 'app-comanda', | 8 | selector: 'app-comanda', |
8 | templateUrl: './comanda.component.html', | 9 | templateUrl: './comanda.component.html', |
9 | styleUrls: ['./comanda.component.scss'] | 10 | styleUrls: ['./comanda.component.scss'] |
10 | }) | 11 | }) |
11 | export class ComandaComponent implements OnInit { | 12 | export class ComandaComponent implements OnInit { |
12 | comandas: IComanda[] = []; | 13 | comandas: IComanda[] = []; |
13 | cicloTime: any; | 14 | cicloTime: any; |
14 | 15 | ||
15 | constructor( | 16 | constructor( |
16 | private comandaService: ComandaService, | 17 | private comandaService: ComandaService, |
17 | ) { } | 18 | ) { } |
18 | 19 | ||
19 | ngOnInit() { | 20 | ngOnInit() { |
20 | this.getComandas(); | 21 | this.getComandas(); |
21 | this.timerGetComandas(); | 22 | this.timerGetComandas(); |
22 | } | 23 | } |
23 | 24 | ||
24 | OnDestroy() { | 25 | OnDestroy() { |
25 | clearInterval(this.cicloTime); | 26 | clearInterval(this.cicloTime); |
26 | } | 27 | } |
27 | 28 | ||
28 | timerGetComandas() { | 29 | timerGetComandas() { |
29 | this.cicloTime = setInterval(() => { | 30 | this.cicloTime = setInterval(() => { |
30 | this.getComandas(); | 31 | this.getComandas(); |
31 | }, 5000); | 32 | }, 5000); |
32 | } | 33 | } |
33 | 34 | ||
34 | getComandas() { | 35 | getComandas() { |
35 | this.comandaService.getAll() | 36 | this.comandaService.getAll() |
36 | .subscribe((resComandas: IComanda[]) => { | 37 | .subscribe((resComandas: IComanda[]) => { |
37 | this.addNewComandas(resComandas); | 38 | this.addNewComandas(resComandas); |
38 | }, e => console.error(e)); | 39 | }, e => console.error(e)); |
39 | } | 40 | } |
40 | 41 | ||
41 | addNewComandas(resComandas: IComanda[]) { | 42 | addNewComandas(resComandas: IComanda[]) { |
42 | for (let j = 0; j < resComandas.length; j++) { | 43 | for (let j = 0; j < resComandas.length; j++) { |
43 | for (const comanda of this.comandas) { | 44 | for (const comanda of this.comandas) { |
44 | if (comanda.id === resComandas[j].id) { | 45 | if (comanda.id === resComandas[j].id) { |
45 | resComandas.splice(j, 1); | 46 | resComandas.splice(j, 1); |
46 | } | 47 | } |
47 | } | 48 | } |
48 | } | 49 | } |
49 | if (!resComandas.length) return; | 50 | if (!resComandas.length) return; |
51 | SoundManager.playAudio('beep-01a.wav'); | ||
50 | Array.prototype.push.apply(this.comandas, resComandas); | 52 | Array.prototype.push.apply(this.comandas, resComandas); |
51 | this.startTimersPedido(resComandas); | 53 | this.startTimersPedido(resComandas); |
52 | } | 54 | } |
53 | 55 | ||
54 | updateComanda(comanda: IComanda, estadoNuevo: number, observacionNueva: string) { | 56 | updateComanda(comanda: IComanda, estadoNuevo: number, observacionNueva: string) { |
55 | const data = { | 57 | const data = { |
56 | idComanda: comanda.id, | 58 | idComanda: comanda.id, |
57 | estado: estadoNuevo, | 59 | estado: estadoNuevo, |
58 | observacion: observacionNueva, | 60 | observacion: observacionNueva, |
59 | tiempoEspera: `${comanda.hoursPedido}:${comanda.secondsPedido}:${comanda.secondsPedido}`, | 61 | tiempoEspera: `${comanda.hoursPedido}:${comanda.secondsPedido}:${comanda.secondsPedido}`, |
60 | tiempoElaboracion: `${comanda.hoursElaboracion}:${comanda.secondsElaboracion}:${comanda.secondsElaboracion}`, | 62 | tiempoElaboracion: `${comanda.hoursElaboracion}:${comanda.secondsElaboracion}:${comanda.secondsElaboracion}`, |
61 | }; | 63 | }; |
62 | if (data.estado === 3) { | 64 | if (data.estado === 3) { |
63 | this.comandaService.imprimirComandaCocina(parseInt(data.idComanda, 10)) | 65 | this.comandaService.imprimirComandaCocina(parseInt(data.idComanda, 10)) |
64 | .subscribe(res => { }, err => console.error(err) | 66 | .subscribe(res => { }, err => console.error(err) |
65 | ); | 67 | ); |
66 | } | 68 | } |
67 | 69 | ||
68 | if (estadoNuevo !== 2) comanda.detalles.forEach(d => d.seeDetalle = false); | 70 | if (estadoNuevo !== 2) comanda.detalles.forEach(d => d.seeDetalle = false); |
69 | 71 | ||
70 | this.comandaService.update(data) | 72 | this.comandaService.update(data) |
71 | .subscribe((res: any) => { | 73 | .subscribe((res: any) => { |
72 | if (res.data) { | 74 | if (res.data) { |
73 | comanda.estado = estadoNuevo; | 75 | comanda.estado = estadoNuevo; |
74 | comanda.observacion = observacionNueva; | 76 | comanda.observacion = observacionNueva; |
75 | if (estadoNuevo === 2) { | 77 | if (estadoNuevo === 2) { |
76 | this.startTimerElaboracion(comanda); | 78 | this.startTimerElaboracion(comanda); |
77 | } else if (comanda.timerElaboracion) { | 79 | } else if (comanda.timerElaboracion) { |
78 | clearInterval(comanda.timerElaboracion); | 80 | clearInterval(comanda.timerElaboracion); |
79 | } | 81 | } |
80 | } | 82 | } |
81 | }, e => console.error(e)); | 83 | }, e => console.error(e)); |
82 | } | 84 | } |
83 | 85 | ||
84 | rellenar(relleno, longitud) { | 86 | rellenar(relleno, longitud) { |
85 | relleno = '' + relleno; | 87 | relleno = '' + relleno; |
86 | while (relleno.length < longitud) { | 88 | while (relleno.length < longitud) { |
87 | relleno = '0' + relleno; | 89 | relleno = '0' + relleno; |
88 | } | 90 | } |
89 | return relleno; | 91 | return relleno; |
90 | } | 92 | } |
91 | 93 | ||
92 | toggleVerComponentes(detalle: IComandaDetalle, comanda: IComanda) { | 94 | toggleVerComponentes(detalle: IComandaDetalle, comanda: IComanda) { |
93 | detalle.seeDetalle = !detalle.seeDetalle; | 95 | detalle.seeDetalle = !detalle.seeDetalle; |
94 | } | 96 | } |
95 | 97 | ||
96 | hasTipo(componentes: IComponente[]) { | 98 | hasTipo(componentes: IComponente[]) { |
97 | return componentes.some(c => c.tipoArticulo === 6); | 99 | return componentes.some(c => c.tipoArticulo === 6); |
98 | } | 100 | } |
99 | 101 | ||
100 | //#region TIMERS | 102 | //#region TIMERS |
101 | startTimersPedido(comandas) { | 103 | startTimersPedido(comandas) { |
102 | comandas.forEach((comanda: IComanda) => { | 104 | comandas.forEach((comanda: IComanda) => { |
103 | this.comandaService.startTimerComanda(comanda, 'Pedido'); | 105 | this.comandaService.startTimerComanda(comanda, 'Pedido'); |
104 | if (comanda.estado === 2) { | 106 | if (comanda.estado === 2) { |
105 | this.startTimerElaboracion(comanda); | 107 | this.startTimerElaboracion(comanda); |
106 | } | 108 | } |
107 | }); | 109 | }); |
108 | } | 110 | } |
109 | 111 | ||
110 | startTimerElaboracion(comanda: IComanda) { | 112 | startTimerElaboracion(comanda: IComanda) { |
111 | this.comandaService.startTimerComanda(comanda, 'Elaboracion'); | 113 | this.comandaService.startTimerComanda(comanda, 'Elaboracion'); |
112 | } | 114 | } |
113 | //#endregion | 115 | //#endregion |
114 | 116 | ||
115 | } | 117 | } |
116 | 118 |
src/app/utils/sound-manager.ts
File was created | 1 | export class SoundManager { | |
2 | public static playAudio(audioName: string) { | ||
3 | let audio = new Audio(); | ||
4 | audio.src = `assets/sounds/${audioName}`; | ||
5 | audio.load(); | ||
6 | audio.play(); | ||
7 | } | ||
8 | } |
src/assets/sounds/beep-01a.wav
No preview for this file type