{"version":3,"sources":["./src/app/utilities/table-control/table-paginator.component.ts","./src/app/transactions/contract-view/contract-view.component.ts","./src/app/transactions/contract-view/contract-view.component.html","./src/app/transactions/lot/lot.component.ts","./src/app/transactions/lot/lot.component.html","./src/app/commerce/conciliation/conciliation.component.ts","./src/app/commerce/conciliation/conciliation.component.html","./src/environments/environment.ts","./src/app/transactions/transactions-routing.module.ts","./src/app/utilities/busy/busy.component.ts","./src/app/transactions/lot-print/lot-print.component.ts","./src/app/transactions/lot-print/lot-print.component.html","./src/app/shared/models/api.models.ts","./src/app/commerce/users/users.component.ts","./src/app/commerce/users/users.component.html","./src/app/utilities/toaster/toaster.utilities.ts","./src/app/utilities/loader/loader.component.ts","./src/app/utilities/loader/loader.component.html","./src/app/shared/shared.module.ts","./src/app/utilities/modal.component.ts","./src/app/utilities/multi-select/multi-select.component.ts","./src/app/utilities/multi-select/multi-select.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/utilities/loader/loader.utilities.ts","./src/app/utilities/validator.utilities.ts","./src/app/utilities/utilities.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/commerce/conciliation/commerce-conciliation/commerce-conciliation.component.ts","./src/app/commerce/conciliation/commerce-conciliation/commerce-conciliation.component.html","./src/app/transactions/points-of-sale-view/points-of-sale-view.component.ts","./src/app/transactions/points-of-sale-view/points-of-sale-view.component.html","./src/app/app.module.ts","./src/app/shared/state.shared.ts","./src/app/transactions/transactions/transactions.component.ts","./src/app/transactions/transactions/transactions.component.html","./src/app/commerce/commerce.module.ts","./src/app/transactions/transactions.module.ts","./src/app/utilities/utilities.module.ts","./src/app/commerce/portfolio/portfolio.component.ts","./src/app/commerce/portfolio/portfolio.component.html","./src/app/transactions/transaction-table/transaction-table.component.ts","./src/app/transactions/transaction-table/transaction-table.component.html","./src/app/orders/discount-print/discount-print-print.component.ts","./src/app/orders/discount-print/discount-print.component.html","./src/app/utilities/toaster/toaster.component.ts","./src/app/utilities/toaster/toaster.component.html","./src/app/shared/services/data.service.ts","./src/app/transactions/closed-lots/closed-lots.component.ts","./src/app/transactions/closed-lots/closed-lots.component.html","./src/app/transactions/open-lots/open-lots.component.ts","./src/app/transactions/open-lots/open-lots.component.html","./src/app/shared/pipes/phone.pipe.ts","./src/app/utilities/extensions.ts","./src/app/commerce/commerce-routing.module.ts","./src/app/container/container.component.ts","./src/app/container/container.component.html","./src/app/utilities/table-control/table-control.component.ts","./src/app/transactions/points-of-sale-view/point-of-sale/point-of-sale.component.ts","./src/app/transactions/points-of-sale-view/point-of-sale/point-of-sale.component.html","./src/app/app-routing.module.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, Input } from \"@angular/core\";\r\nimport { TableControl } from \"./table-control.component\";\r\n\r\n@Component({\r\n selector: 'table-paginator',\r\n template: `\r\n
\r\n
\r\n {{ label(for) }} {{ index_start + 1 }}–{{ index_end }} de {{ length }}\r\n {{ length }} {{ for }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n `\r\n , styles: [\r\n '* { color: rgba(0, 0, 0, .75) }'\r\n ,` .flex { display: flex; }\r\n .flex-row { flex-direction: row; }\r\n .flex-col { flex-direction: col; }\r\n .flex-col-reverse { flex-direction: col-reverse; }\r\n .items-baseline { align-items: baseline; }\r\n .items-stretch { align-items: stretch; }\r\n .space-x-1px > * + * { margin-left: 1px; }\r\n .border { border: 1px solid rgba(0, 0, 0, .1) }\r\n .rounded { border-radius: .35rem; }\r\n .font-semibold { font-weight: 600; }\r\n .focus:outline-none:focus { outline: none; }\r\n svg { max-height: 15px; }\r\n button { border-width: 0 !important; }\r\n input { margin: 0 !important; }\r\n\r\n /* Chrome, Safari, Edge, Opera */\r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n /* Firefox */\r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n }\r\n `\r\n ,'@media(min-width: 640px) { .sm:flex-row { flex-direction: row; } }'\r\n ]\r\n , host: { style: 'display: block;' }\r\n})\r\nexport class TablePaginatorComponent {\r\n private _for: string = \"registros\";\r\n private _current_page: number = 0;\r\n private _span: number = 0;\r\n private _length: number = 0;\r\n \r\n show_text = true;\r\n max_number_of_pages_in_bar: number = 5;\r\n normal_color: string = '#FFF';\r\n active_color: string = '#93C5FD';\r\n ends = true;\r\n\r\n get span(): number { return this._span; }\r\n set span(value: number) {\r\n this._span = value;\r\n this.current_page = this.current_page;\r\n }\r\n\r\n get length(): number { return this._length; }\r\n set length(value: number) {\r\n this._length = value;\r\n this.current_page = this.current_page;\r\n }\r\n\r\n get pages(): number {\r\n if (this.span == 0)\r\n return 0;\r\n return Math.ceil(this.length / this.span);\r\n }\r\n\r\n get for(): string { return this._for; }\r\n @Input() set for(value) {\r\n this._for = value;\r\n TableControl.when_span_is_set (this.for, (span, name) => { if (name === this.for) this.span = span; });\r\n TableControl.when_length_is_set(this.for, (length, name) => { if (name === this.for) this.length = length; });\r\n TableControl.when_page_is_set (this.for, (page, name) => { if (name === this.for) this._current_page = page });\r\n }\r\n \r\n @Input() set notext(_: boolean | string) {\r\n if (_ === '')\r\n _ = true;\r\n this.show_text = !_;\r\n }\r\n @Input() set show(value: number) { this.max_number_of_pages_in_bar = Number.parseInt(value); }\r\n @Input() set color(value: string) { this.normal_color = value; }\r\n @Input() set activecolor(value: string) { this.active_color = value; }\r\n @Input() set noends(_: string) { this.ends = false; }\r\n @Input() size = 1;\r\n\r\n get current_page(): number { return this._current_page; }\r\n set current_page(value: number) {\r\n if (value >= this.pages)\r\n this._current_page = this.pages - 1;\r\n else\r\n this._current_page = value;\r\n if (this.current_page < 0)\r\n this._current_page = 0;\r\n TableControl.set_page(this.current_page, this.for);\r\n }\r\n\r\n get index_start(): number { return this.current_page * this.span; }\r\n get index_end(): number { return Math.min((this.current_page + 1) * this.span, this.length) }\r\n\r\n get bar(): number[] {\r\n const npb = Math.min(this.max_number_of_pages_in_bar, this.pages);\r\n const half_npb = Math.ceil(npb * .5);\r\n if (this.current_page < half_npb)\r\n return range(0, npb)\r\n else if (this.current_page < this.pages - half_npb)\r\n return range(this.current_page + 1 - half_npb, this.current_page + half_npb);\r\n else\r\n return range(this.pages - npb, this.pages);\r\n }\r\n\r\n constructor() {\r\n TableControl.when_span_is_set (this.for, (span, name) => { if (name === this.for) this.span = span; });\r\n TableControl.when_length_is_set(this.for, (length, name) => { if (name === this.for) this.length = length; });\r\n TableControl.when_page_is_set(this.for, (page, name) => { if (name === this.for) this._current_page = page });\r\n }\r\n\r\n num(v: string | number): number {\r\n return Number.parseInt(v);\r\n }\r\n\r\n label = titlecase;\r\n}\r\n\r\nfunction range(a: number, b?: number) {\r\n const output = [];\r\n if (b)\r\n for (let i = a; i < b; i++)\r\n output.push(i);\r\n else\r\n for (let i = 0; i < a; i++)\r\n output.push(i);\r\n return output;\r\n}\r\n\r\nfunction titlecase(value: string, language: 'es' | 'en' = 'es'): string {\r\n value = (value ?? '').toLowerCase().split(' ')\r\n .map(w => w?.length? (w[0].toUpperCase() + w.substr(1)) : '')\r\n .join(' ')\r\n .replace('De ', 'de ');\r\n switch (language) {\r\n case 'es':\r\n return value\r\n .replace(' De ', ' de ')\r\n .replace(' En ', ' en ');\r\n case 'en':\r\n return value.replace(' Of ', ' of');\r\n }\r\n}","import { Component } from '@angular/core';\r\nimport { Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-contract-view',\r\n templateUrl: './contract-view.component.html',\r\n styleUrls: ['./contract-view.component.less']\r\n})\r\nexport class ContractViewComponent {\r\n working = false;\r\n\r\n contract_id: string;\r\n\r\n transactions: Transaction[];\r\n\r\n extended_table = false;\r\n include_queries = false;\r\n exclude_non_successes = false;\r\n filter_string: string = null;\r\n filter_type: number = 0;\r\n\r\n get filtered_transactions(): Transaction[] {\r\n let trans = this.transactions ?? [];\r\n if (this.filter_type !== 0)\r\n trans = trans.filter((t) =>\r\n this.filter_type == 1 ? !t.prepaid : t.prepaid\r\n );\r\n if (!this.include_queries)\r\n trans = trans.filter(t => ![1, 6].includes(t.type?.id));\r\n if (this.exclude_non_successes)\r\n trans = trans.filter(t => t.response?.code === 'P0000' || t.response?.code === 'A0000' || t.response?.code === 'RP000' || t.response?.code === 'C0000');\r\n return trans;\r\n }\r\n\r\n constructor(private data: DataService) { }\r\n\r\n query() {\r\n this.working = true;\r\n this.data.transactions_by_client_reference(this.contract_id, response => {\r\n this.working = false;\r\n if (response.succeeded) {\r\n this.transactions = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n}\r\n","

Transacciones por Contrato

\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Tabla extendida\r\n
\r\n
\r\n \r\n Incluir consultas\r\n
\r\n
\r\n \r\n Mostrar solo OK\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
Modalidad:
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tipo Tran.Cliente\r\n
Monto (RD$)
\r\n
FacturadorModo PagoDoc. PagoRespuestaFechaPunto de VentaLoteSec.Nro. Transacción
\r\n \r\n {{ transaction.type?.description }}{{ transaction.client }}$\r\n
{{ transaction.amount | currency:' ' }}
\r\n
{{ transaction.invoicer?.description }}{{ transaction.payment_method?.description }}{{ transaction.payment_document }}{{ transaction.response.code }}{{ transaction.date | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}{{ transaction.commerce?.description }}{{ transaction.lot }} {{ transaction.sequence }}{{ transaction.id }}
\r\n \r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LotDetailed, Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { distinct, titlecase, sum } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-lot',\r\n templateUrl: './lot.component.html',\r\n styleUrls: ['./lot.component.less']\r\n})\r\nexport class LotComponent {\r\n mode: 'postpaid' | 'prepaid';\r\n sum = sum;\r\n lot: LotDetailed = {\r\n id : 0,\r\n commerce: {id : 0,description :''},\r\n number_of_payments: 0,\r\n total: 0,\r\n total_nullified: 0,\r\n date_opened:'',\r\n date_closed:'',\r\n prepaid: false,\r\n transactions: [],\r\n };\r\n filter_string: string;\r\n\r\n transaction_groups: { payment_method: string, transactions: Transaction[],amount:number }[];\r\n\r\n constructor(private api: DataService, active_route: ActivatedRoute, private router: Router) {\r\n active_route.params.subscribe(params => {\r\n if (![params.mode, params.id].includes(undefined)) {\r\n this.mode = params.mode;\r\n api.lot_detailed(params.mode, params.id, response => {\r\n if (response.succeeded) {\r\n this.lot = response.data;\r\n this.transaction_groups = distinct(this.lot?.transactions.map(t => t.payment_method), _ => _.id)\r\n .map(m => {\r\n var data = this.lot.transactions.filter(t => t.payment_method.id == m.id);\r\n return {\r\n payment_method: m.description,\r\n transactions:data,\r\n amount: sum(data.map(x => x.amount)),\r\n }\r\n });\r\n } else error_toast(response.error.message);\r\n });\r\n } else router.navigate(['']);\r\n });\r\n }\r\n\r\n print() {\r\n this.api.payment_methods(response => {\r\n if (response.succeeded) {\r\n State.lot_to_print = this.lot;\r\n State.payment_methods = response.data\r\n this.router.navigate(['lot-print']);\r\n } else error_toast(response.error.message);\r\n })\r\n }\r\n\r\n\r\n back() { this.router.navigate(['transactions', 'open-lots']) }\r\n}\r\n","

Detalle de Lote {{ mode == 'postpaid'? 'Pospago' : 'Prepago' }}

\r\n\r\n
\r\n
\r\n

\r\n \r\n {{ lot.commerce.description }}\r\n

\r\n\r\n
\r\n
\r\n Lote: \r\n {{ lot.id }}\r\n
\r\n
\r\n Fecha inicio: \r\n {{ lot.date_opened | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}\r\n
\r\n
\r\n Fecha cierre: \r\n {{ lot.date_closed | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Total General: \r\n RD$ \r\n {{ lot.total | currency:' ' }}\r\n
\r\n
\r\n Anulaciones: \r\n RD$ \r\n {{ lot.total_nullified | currency:' ' }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Montos por Facturador\r\n

\r\n
\r\n
\r\n \r\n {{item.payment_method}}:\r\n \r\n {{item.amount | currency:' ' }} \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n

{{ group.payment_method }}

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FacturadorSecuenciaNúm. ReciboClienteMonto (RD$)Fecha
{{ transaction.invoicer?.description }}{{ transaction.sequence }}{{ transaction.id }}{{ transaction.client }}${{ transaction.amount | currency:' ' }}{{ transaction.date | date:'dd/MMM/yyyy hh:mm:ss aa':null:'es-DO' }}
\r\n \r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommerceOperation } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './conciliation.component.html',\r\n styleUrls: []\r\n})\r\nexport class ConciliationComponent {\r\n commerces: CommerceOperation[];\r\n filter: string;\r\n intermediarios: string[] = [\"Todos\"];\r\n selected_intermediary: string = \"Todos\";\r\n\r\n show_0_balance: boolean = false;\r\n\r\n get filtered_commerces(): CommerceOperation[] {\r\n var temp_commerces = this.commerces;\r\n if (!this.show_0_balance)\r\n temp_commerces = this.commerces?.filter(c => c.balance != 0);\r\n \r\n if (this.selected_intermediary && this.selected_intermediary !== \"Todos\") \r\n temp_commerces = temp_commerces.filter(c => c.name_intermediary.description === this.selected_intermediary);\r\n \r\n return temp_commerces; \r\n }\r\n\r\n constructor(api: DataService, private router: Router) {\r\n api.commerces_operation(response => {\r\n if (response.succeeded) {\r\n this.commerces = response.data;\r\n this.commerces.forEach(c => !c.name_intermediary ? c.name_intermediary = {id: -1, description: \"N/A\"} : true);\r\n this.intermediarios = [\"Todos\", ...Array.from(new Set(this.commerces.map(c =>c.name_intermediary ? c.name_intermediary.description : \"N/A\")))];\r\n this.commerces.sort((a, b) => b.balance - a.balance);\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n go(commerce_id: number) {\r\n const url = this.router.serializeUrl(this.router.createUrlTree(['commerces', 'conciliation', commerce_id]));\r\n window.open(url, '_blank');\r\n }\r\n\r\n permiss() {\r\n return State.getUserPermiss('Gestionar comercios')\r\n }\r\n}\r\n","

Gestión de Comercios

\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Intermediario\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Mostrar comercios con balance $0\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NombreIntermediarioBalance (RD$)Días atrasadosOpciones
{{ commerce.name }}{{ commerce.name_intermediary?.description }}$ 10? 'text-red-700 font-medium' : '' }}\">\r\n
{{ commerce.balance | currency:' ' }}
\r\n
5 && commerce.days_late <= 10? 'bg-yellow-100' : commerce.days_late > 10? 'bg-red-100 font-medium' : '' }}\">\r\n {{ commerce.days_late }}\r\n \r\n \r\n
\r\n \r\n
\r\n","export const environment = {\r\n production: false,\r\n api_basepoint: '/api/',\r\n api: (...fragments: (string | number)[]) => environment.api_basepoint + fragments.join('/'),\r\n debug: (...stuff: any[]) => console.debug(...stuff),\r\n error: (...stuff: any[]) => console.error(...stuff)\r\n};\r\n","import { PointsOfSaleViewComponent } from './points-of-sale-view/points-of-sale-view.component';\r\nimport { ContractViewComponent } from './contract-view/contract-view.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { PointOfSaleComponent } from './points-of-sale-view/point-of-sale/point-of-sale.component';\r\nimport { OpenLotsComponent } from './open-lots/open-lots.component';\r\nimport { ClosedLotsComponent } from './closed-lots/closed-lots.component';\r\nimport { LotComponent } from './lot/lot.component';\r\nimport { TransactionsComponent } from './transactions/transactions.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'contracts', component: ContractViewComponent },\r\n { path: 'points-of-sale', component: PointsOfSaleViewComponent },\r\n { path: 'points-of-sale/:id', component: PointOfSaleComponent},\r\n { path: 'open-lots', component: OpenLotsComponent },\r\n { path: 'closed-lots', component: ClosedLotsComponent },\r\n { path: 'lot/:mode/:id', component: LotComponent },\r\n { path: 'transactions', component: TransactionsComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TransactionsRoutingModule { }\r\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'busy',\r\n template: '
',\r\n styleUrls: ['./busy.less']\r\n})\r\nexport class BusyComponent {\r\n @Input() color = 'white';\r\n @Input() size = 14;\r\n @Input() thickness = .25;\r\n}","import { AfterViewChecked, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LotDetailed, PaymentMethod, Transaction } from 'src/app/shared/models/models';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport { sum, titlecase } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-lot-print',\r\n templateUrl: './lot-print.component.html',\r\n styleUrls: []\r\n})\r\nexport class LotPrintComponent {\r\n lot: LotDetailed = State.lot_to_print;\r\n payment_methods: PaymentMethod[] = State.payment_methods;\r\n\r\n titlecase = titlecase;\r\n\r\n constructor(private router: Router) {\r\n if (!this.lot || !this.payment_methods)\r\n router.navigate([''])\r\n }\r\n ngAfterViewInit(): void {\r\n window.print();\r\n window.history.back();\r\n }\r\n\r\n total(method_id: number): number {\r\n return sum(this.lot.transactions.filter(t => t.payment_method.id == method_id && [2, 7].includes(t.type.id)).map(t => t.amount));\r\n }\r\n\r\n transactions(method_id: number): Transaction[] {\r\n return this.lot.transactions.filter(t => [2, 7].includes(t.type.id)).filter(t => t.payment_method.id == method_id);\r\n }\r\n\r\n get nullifications(): Transaction[] {\r\n return this.lot.transactions.filter(t => t.type.id == 3);\r\n }\r\n}\r\n","

{{ lot.commerce.description }}

\r\n\r\n

Lote {{ lot.prepaid? 'Prepago' : 'Pospago' }} {{ lot.id }}

\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Inicio:{{ lot.date_opened | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
Final:{{ lot.date_closed? (lot.date_opened | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO') : '(Lote Abierto)' }}
Total en {{ titlecase(method.description) }}:{{ total(method.id) | currency:'RD$ ' }}
Total anulado:{{ lot.total_nullified | currency:'RD$ ' }}
Total general:{{ lot.total | currency:'RD$ ' }}
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FacturadorSecuenciaNúm. ReciboClienteMonto (RD$)Fecha
{{ titlecase(method.description) }}
{{ transaction.invoicer.description }}{{ transaction.sequence }}{{ transaction.id }}{{ transaction.client }}${{ transaction.amount | currency:' ' }}{{ transaction.date | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
---Fin de transacciones en {{ method.description | lowercase }}---
Anulaciones
{{ transaction.invoicer.description }}{{ transaction.sequence }}{{ transaction.id }}{{ transaction.client }}${{ transaction.amount | currency:' ' }}{{ transaction.date | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
---Fin de anulaciones---
\r\n\r\n
=== Fin de detalle de lote ===
","export interface ApiError {\r\n code: string;\r\n message: string;\r\n}\r\n\r\nexport interface ApiResponse {\r\n succeeded: boolean;\r\n data: T;\r\n error: ApiError;\r\n}\r\n\r\nexport type ApiCallback = (response: ApiResponse) => void;\r\n\r\nexport function APIError(error: ApiError): ApiResponse {\r\n return { succeeded: false, data: null, error };\r\n}\r\n\r\nexport interface CommerceData {\r\n name: string;\r\n address: string;\r\n contact_name: string;\r\n contact_email: string;\r\n contact_phone: string;\r\n contact_mobile_phone: string;\r\n type: string;\r\n agency_id: number;\r\n intermediary_id: number;\r\n automatic_closure_enabled: number;\r\n agency_invoicers: {\r\n id: number;\r\n invoicer_id: number;\r\n configuration_parameters: string[];\r\n payment_methods: {\r\n id: number;\r\n acquirer_id: number;\r\n }[]\r\n }[];\r\n}\r\n\r\nexport interface UserData {\r\n username?: string;\r\n email: string;\r\n full_name: string;\r\n enterprise: string;\r\n permission_ids: number[];\r\n agency_ids: number[];\r\n roles_ids: number[];\r\n}\r\n\r\nexport interface TerminalConfigurationData {\r\n id: number;\r\n invoicer_id: number;\r\n acquirer_id: number;\r\n host_ip: string;\r\n rnc: string;\r\n description: string;\r\n url: string;\r\n port: number;\r\n delay: number;\r\n register_id: number;\r\n ssl_enabled: boolean;\r\n process_card_ext: boolean;\r\n print_hint: boolean;\r\n prepaid_enabled: boolean;\r\n postpaid_enabled: boolean;\r\n partial_payment_enabled: boolean;\r\n txn: number;\r\n}\r\n\r\nexport interface DepositImageData {\r\n file_name: string;\r\n file_type: string;\r\n file_data: string;\r\n}\r\n\r\nexport interface CommerceDepositData {\r\n method: 0 | 1 | 2;\r\n date_start: string | Date;\r\n date_end: string | Date;\r\n amount: number;\r\n reference: string;\r\n file_name: string;\r\n file_type: string;\r\n file_data: string;\r\n}\r\n\r\nexport interface OperationAdjustmentData {\r\n type: 0 | 1;\r\n description: string;\r\n date: string | Date;\r\n reference: string;\r\n amount: number;\r\n file_name: string;\r\n file_type: string;\r\n file_data: string;\r\n}\r\n\r\nexport interface UpdateContactCommerceRequest {\r\n contact_mobile_phone: string;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Agency, CommerceInfo, User, UserInfo } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast, success_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: []\r\n})\r\nexport class UsersComponent {\r\n agencies: Agency[];\r\n selected_agency_id: number;\r\n\r\n agency_commerces: CommerceInfo[];\r\n\r\n agency_commerces_cache: { [key: number]: CommerceInfo[] } = { };\r\n \r\n users: User[];\r\n selected_user_id: number;\r\n\r\n user_commerces: CommerceInfo[] = [];\r\n\r\n user_commerces_cache: { [key: number]: CommerceInfo[] } = { };\r\n \r\n get filtered_commerces(): any[] {\r\n return this.agency_commerces?.filter(p => this.user_commerces.every(up => up.code !== p.code));\r\n }\r\n\r\n working = false;\r\n\r\n constructor(private api: DataService) {\r\n api.agencies(response => {\r\n if (response.succeeded) {\r\n this.agencies = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n api.users(response => {\r\n if (response.succeeded) {\r\n this.users = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n handle_agency_selection() {\r\n const id = this.selected_agency_id\r\n const cached_commerces = this.agency_commerces_cache[id];\r\n if (cached_commerces) {\r\n this.agency_commerces = cached_commerces;\r\n } else {\r\n this.api.agency_commerces(id, response => {\r\n if (response.succeeded) {\r\n this.agency_commerces_cache[id] = response.data;\r\n this.agency_commerces = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n handle_user_selection() {\r\n const id = this.selected_user_id;\r\n const cached_commerces = this.user_commerces_cache[id];\r\n if (cached_commerces) {\r\n this.user_commerces = cached_commerces;\r\n } else {\r\n this.api.user_commerces(id, response => {\r\n if (response.succeeded) {\r\n this.user_commerces_cache[id] = response.data;\r\n this.user_commerces = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n save() {\r\n const id = this.selected_user_id;\r\n const username = this.users?.find(u => u.id == id)?.description;\r\n const commerce_ids = this.user_commerces?.map(c => c.id);\r\n this.working = true;\r\n this.api.assign_user_commerces(id, commerce_ids, response => {\r\n this.working = false;\r\n if (response.succeeded)\r\n success_toast(`Asociación de comercios actualizada para el usuario '${username}'`);\r\n else\r\n error_toast(response.error.message);\r\n });\r\n }\r\n}\r\n","

Asignación de Comercios

\r\n\r\n
\r\n
\r\n
\r\n

Agencia:

\r\n \r\n
\r\n
\r\n

Usuarios:

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Comercios disponibles

\r\n
\r\n
\r\n
{{ pos.name }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Comercios asignados a usuario

\r\n
\r\n
\r\n
{{ pos.name }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","let _dock: HTMLDivElement;\r\nlet dock_callbacks: ((dock: HTMLDivElement) => void)[] = []\r\nfunction dock(callback: (dock: HTMLDivElement) => void) {\r\n if (_dock)\r\n callback(_dock);\r\n dock_callbacks.push(callback);\r\n}\r\nexport function set_toast_dock(dock: HTMLDivElement) {\r\n _dock = dock;\r\n for (let callback of dock_callbacks)\r\n callback(dock);\r\n dock_callbacks = [];\r\n}\r\nconst duration_milliseconds: number = 3_000;\r\n\r\nfunction toast(message: string, type: string) {\r\n dock(dock => {\r\n const toast = document.createElement('toast');\r\n toast.classList.add(type);\r\n toast.innerText = message;\r\n dock.appendChild(toast);\r\n dock.classList.add('showing');\r\n setTimeout(() => {\r\n toast?.classList.add('dismiss');\r\n setTimeout(() => {\r\n dock.removeChild(toast);\r\n if (!dock.children.length) {\r\n dock.classList.remove('showing');\r\n }\r\n }, 100);\r\n }, duration_milliseconds)\r\n })\r\n}\r\n\r\nexport function success_toast(message: string) {\r\n toast(message, 'success');\r\n}\r\nexport function error_toast(message: string) {\r\n toast(message, 'error');\r\n}\r\nexport function warning_toast(message: string) {\r\n toast(message, 'warning');\r\n}","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less']\r\n})\r\nexport class LoaderComponent { constructor() { } }\r\n","
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataService } from './services/data.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { PhonePipe } from './pipes/phone.pipe';\r\n\r\n@NgModule({\r\n declarations: [PhonePipe],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n\r\n ],\r\n providers: [DataService],\r\n exports:[PhonePipe]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core'\r\n\r\n@Component({\r\n\tselector: 'modal',\r\n\ttemplate: `
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
`,\r\n\tstyles: [\r\n\t\t`\r\n\t\t\t.modal-container {\r\n\t\t\t\tposition: fixed;\r\n\t\t\t\tinset: 0 0 0 0;\r\n\t\t\t\tbackground-color: rgba(0 0 0 / 0.1);\r\n\t\t\t\tz-index: 50;\r\n\t\t\t}\r\n\t\t`,\r\n\t\t`\r\n\t\t\t.modal-container > .modal-content {\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\ttop: 50%;\r\n\t\t\t\tleft: 50%;\r\n\t\t\t\ttransform: translate(-50%, -50%);\r\n\r\n\t\t\t\tpadding: 2rem;\r\n\t\t\t\tborder-radius: 0.5rem;\r\n\t\t\t\tbackground-color: white;\r\n\r\n\t\t\t\tbox-shadow: 0 14px 28px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.1);\r\n\t\t\t}\r\n\t\t`,\r\n\t],\r\n})\r\nexport class ModalComponent {\r\n\t@Output() dismissed = new EventEmitter()\r\n\r\n\thandle_click(event: MouseEvent) {\r\n\t\tif (!(event.target as HTMLElement).closest('.modal-content')) this.dismissed.emit()\r\n\t}\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'multi-select',\r\n templateUrl: './multi-select.component.html',\r\n styleUrls: ['./multi-select.component.less']\r\n})\r\nexport class MultiSelectComponent implements AfterViewInit {\r\n @ViewChild('container') container: ElementRef;\r\n\r\n @Input() items: T[];\r\n @Input() converter: (v: T) => string;\r\n\r\n @Input() threshold: number = 10;\r\n\r\n selected: T[] = [];\r\n \r\n filter: string;\r\n active = false;\r\n\r\n @Input() selection: T[];\r\n @Output() selectionChange: EventEmitter = new EventEmitter();\r\n \r\n get filtered_items(): T[] {\r\n let items = this.items ?? [];\r\n // if (this.selected?.length) {\r\n // items = items.filter(i => !this.selected.includes(i));\r\n // }\r\n if (this.filter) {\r\n const filter = this.filter.toLowerCase();\r\n items = items.filter(i => this.converter(i).toLowerCase().includes(filter));\r\n }\r\n return items;\r\n }\r\n \r\n constructor() { }\r\n\r\n ngAfterViewInit() {\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n show() {\r\n const events = ['mousedown', 'focus'];\r\n const listener = (event: Event) => {\r\n const container = this.container.nativeElement;\r\n if (event.target !== container && !container.contains(event.target)) {\r\n this.active = false;\r\n for (let event of events)\r\n document.removeEventListener(event, listener);\r\n }\r\n };\r\n for (let event of events)\r\n document.addEventListener(event, listener);\r\n\r\n this.active = true;\r\n }\r\n\r\n add(item: T) {\r\n this.selected.push(item);\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n remove(item: T) {\r\n this.selected.splice(this.selected.indexOf(item), 1);\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n remove_all() {\r\n this.selected = [];\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n select_all() {\r\n this.selected = this.items.map(i => i);\r\n this.selectionChange.emit(this.selected);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {{ converter? converter(item) : item }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
= threshold\" class=\"flex flex-row bg-gray-200\">\r\n
\r\n \r\n Selecccionar todo\r\n
\r\n
\r\n \r\n Deseleccionar todo\r\n
\r\n
\r\n
\r\n {{ converter? converter(item) : item }}\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: []\r\n})\r\nexport class DashboardComponent {\r\n constructor(private router: Router) { }\r\n}\r\n","

Inicio

\r\n

Bienvenido a la plataforma de Gestión de Agencias, asociada al sistema de recaudo CPE.

\r\n","export function indeterminate_loader() {\r\n const loader = document.getElementById('loader-bar');\r\n if (loader) {\r\n loader.className = 'loader-bar indeterminate';\r\n }\r\n}\r\nexport function loader() {\r\n const loader = document.getElementById('loader-bar');\r\n if (loader) {\r\n loader.className = 'loader-bar determinate';\r\n }\r\n}\r\nexport function end_loader() {\r\n const loader = document.getElementById('loader-bar');\r\n if (loader && !loader.classList.contains('inactive')) {\r\n loader.className = 'loader-bar determinate done';\r\n setTimeout(() => {\r\n if (loader.classList.contains('done'))\r\n loader.className = 'loader-bar inactive';\r\n }, 500);\r\n }\r\n}","export interface Validator {\r\n accepts: (value: string) => boolean;\r\n error_message: string;\r\n}\r\n\r\nexport interface ValidatedFieldState {\r\n valid: boolean;\r\n error: string;\r\n}\r\n\r\nexport interface ValidatedField {\r\n id: string;\r\n state: ValidatedFieldState;\r\n validators: Validator[];\r\n}\r\n\r\nexport class ValidationManager {\r\n fields: { [field: string]: ValidatedField } = {};\r\n valid: { [field: string]: boolean } = {};\r\n error: { [field: string]: boolean } = {};\r\n\r\n all_valid(): boolean {\r\n const fields = Object.values(this.fields);\r\n fields.forEach(check);\r\n return fields.every(f => f.state.valid);\r\n }\r\n\r\n check(...field_names: string[]): boolean {\r\n const fields = field_names.map(f => this.fields[f]);\r\n fields.forEach(check);\r\n return fields.every(f => f.state.valid);\r\n }\r\n}\r\n\r\nfunction check(field: ValidatedField): boolean {\r\n const value = value_of(field.id);\r\n for (let validator of field.validators) {\r\n if (!validator.accepts(value)) {\r\n field.state.valid = false;\r\n field.state.error = validator.error_message;\r\n return false;\r\n }\r\n }\r\n field.state.valid = true;\r\n field.state.error = null;\r\n return true;\r\n}\r\n\r\nfunction value_of(field: string): string {\r\n return input_by_id(field)?.value;\r\n}\r\n\r\nfunction input_by_id(id: string): HTMLInputElement | HTMLTextAreaElement {\r\n const element = document.getElementById(id);\r\n if (!element) return null;\r\n if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA') {\r\n return element;\r\n } else {\r\n let inner_inputs: HTMLCollectionOf = element.getElementsByTagName('input');\r\n if (inner_inputs.length) return inner_inputs[0];\r\n else {\r\n inner_inputs = element.getElementsByTagName('textarea');\r\n if (inner_inputs.length) return inner_inputs[0];\r\n return null;\r\n }\r\n }\r\n}\r\n\r\n// \r\n\r\nexport function validator(validations: { [field: string]: Validator[] }): ValidationManager {\r\n const manager = new ValidationManager();\r\n for (let id in validations) {\r\n const field = { id, state: { valid: true, error: null }, validators: validations[id] };\r\n manager.fields[id] = field;\r\n Object.defineProperty(manager.error, id, { get: () => field.state.error });\r\n Object.defineProperty(manager.valid, id, { get: () => field.state.valid });\r\n\r\n input_by_id(id)?.addEventListener('focusout', () => check(field));\r\n }\r\n return manager;\r\n}\r\n\r\nexport function validate(validity_checker: (value: string) => boolean, error_message: string = 'Inválido'): Validator {\r\n return { accepts: validity_checker, error_message };\r\n}\r\n\r\nexport const validation = {\r\n required: validate(_ => _ !== null && _ !== undefined && _.length > 0, 'Requerido'),\r\n optional: (...validations: Validator[]) => validations.map(v => validate(_ => _ === null || _ === undefined || _.length === 0 || v.accepts(_), v.error_message)),\r\n conditional: (condition: () => boolean, ...validations: Validator[]) => validations.map(v => validate(_ => !condition() || v.accepts(_), v.error_message)),\r\n\r\n length: (minimum: number, maximum?: number) => validate(_ => _.length >= minimum && (maximum? _.length <= maximum : true), `Debe tener ${maximum? (maximum != minimum? 'de' : '') : 'al menos'} ${minimum}${maximum? (maximum != minimum? ` a ${maximum}` : '') : ''} caracteres`),\r\n email: validate(_ => (/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/).test(_), 'Correo inválido'),\r\n phone: validate(_ => (/^\\(?[0-9]{3}\\)?[-\\s]?[0-9]{3}[-\\s]?[0-9]{4}$/).test(_), 'Teléfono inválido'),\r\n};","\r\nimport * as XLSX from 'xlsx';\r\nimport { formatDate } from '@angular/common';\r\n\r\n\r\nexport function pad_zeroes(value: any, length: number = 2): string {\r\n value = value.toString();\r\n if (value.length >= length)\r\n return value;\r\n else {\r\n return '0'.repeat(length - value.length) + value;\r\n }\r\n}\r\n\r\nexport function today(): Date {\r\n const now = new Date(Date.now());\r\n now.setHours(0, 0, 0, 0);\r\n return now;\r\n}\r\n\r\nexport function format_date_iso(date: string | Date): string {\r\n if (typeof date == 'string')\r\n date = new Date(date);\r\n return `${date.getFullYear()}-${pad_zeroes(date.getMonth() + 1)}-${pad_zeroes(date.getDate())}`;\r\n}\r\n\r\nexport function distinct(collection: T[], key?: (obj: T) => K): T[] {\r\n if (key)\r\n return collection?.filter((v, i, a) => a.findIndex(_ => key(_) == key(v)) === i);\r\n return collection?.filter((v, i, a) => a.indexOf(v) === i);\r\n}\r\n\r\nexport function titlecase(text: string, language: 'es' | 'en' = 'es'): string {\r\n const titlecased = text?.split(' ')?.map(w => w?.length? w[0].toUpperCase() + w.substr(1).toLowerCase() : '')?.join(' ');\r\n switch (language) {\r\n case 'es':\r\n return titlecased\r\n .replace(/ De /g, ' de ');\r\n case 'en':\r\n return titlecased\r\n .replace(/ Of /g, ' of ');\r\n }\r\n}\r\n\r\nexport function pascal_case_to_sentence(text: string): string {\r\n return text?.replace(/(? a + b);\r\n}","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DataService } from './shared/services/data.service';\r\nimport { State } from './shared/state.shared';\r\nimport { error_toast } from './utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less']\r\n})\r\nexport class AppComponent {\r\n constructor(private router: Router, api: DataService) {\r\n api.authenticate(response => {\r\n if (response.succeeded) {\r\n State.user = response.data;\r\n } else{\r\n error_toast(response.error.message);\r\n this.router.navigateByUrl('/login');\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { formatCurrency, formatDate } from '@angular/common';\r\nimport { Component, Inject,LOCALE_ID } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UpdateContactCommerceRequest } from 'src/app/shared/models/api.models';\r\nimport { CommerceDetailed, CommerceMovement, CommerceOperationDetails, Invoicer, Item, PaymentMethod, Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport { error_toast, success_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { getDates, format_date_iso, sum, today as today_ } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-commerce-conciliation',\r\n templateUrl: './commerce-conciliation.component.html',\r\n styleUrls: []\r\n})\r\nexport class CommerceConciliationComponent {\r\n working = {\r\n loading: false,\r\n saving: false\r\n };\r\n\r\n tab: number = 1;\r\n modal: number = 0;\r\n imageData: string;\r\n commerce: CommerceDetailed;\r\n invoicers: Invoicer[] = [];\r\n filtered_invoicers: Invoicer[] = [];\r\n commerce_operation: CommerceOperationDetails;\r\n movements: CommerceMovement[];\r\n commerceContact: UpdateContactCommerceRequest;\r\n transactions: Transaction[];\r\n deposits: CommerceMovement[] = [];\r\n ajustes: CommerceMovement[] = [];\r\n selected_movement: CommerceMovement = null;\r\n\r\n totals_per_day_and_invoicer: number[][];\r\n totals_per_invoicer: number[];\r\n totals_per_day: number[];\r\n total: number = 0;\r\n depositado: number = 0;\r\n ajuste: number = 0;\r\n balance: number = 0;\r\n\r\n today: string;\r\n date_start: string;\r\n date_end: string;\r\n dates: String[] = [];\r\n\r\n get pending(): number {\r\n return sum(this.commerce_operation.pending_conciliation.map(p => p.pending));\r\n }\r\n\r\n data = {\r\n type: <0|1|2>0,\r\n date_start: null,\r\n date_end: null,\r\n amount: 0.00,\r\n description: null,\r\n reference: null,\r\n file_name: null,\r\n file_type: null,\r\n file_dataurl: null\r\n }\r\n\r\n constructor(private api: DataService, active_route: ActivatedRoute, private router: Router, @Inject(LOCALE_ID) public locale: string,) {\r\n active_route.params.subscribe(params => {\r\n api.commerce_operation(params.id, response => {\r\n if (response.succeeded) {\r\n this.commerce_operation = response.data;\r\n\r\n api.commerce_detailed(params.id, response => {\r\n if (response.succeeded) {\r\n this.commerce = response.data;\r\n for(const ag of this.commerce.agency_invoicers) {\r\n this.invoicers.push({id: ag.invoicer.id, description: ag.invoicer.description + \" POSPAGO\"});\r\n this.invoicers.push({id: ag.invoicer.id, description: ag.invoicer.description + \" PREPAGO\"});\r\n }\r\n this.query(); \r\n } else error_toast(response.error.message);\r\n });\r\n \r\n }\r\n else error_toast(response.error.message);\r\n });\r\n\r\n\r\n const today = today_();\r\n this.today = format_date_iso(today);\r\n this.date_end = format_date_iso(today);\r\n today.setDate(today.getDate() - 7);\r\n this.date_start = format_date_iso(today);\r\n \r\n\r\n api.commerce_movements(params.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.update_movements(response);\r\n } else error_toast(response.error.message);\r\n });\r\n });\r\n }\r\n\r\n\r\n async query() {\r\n try {\r\n this.transactions = (await this.api.transactions_by_commerce(this.commerce_operation.id, this.date_start, this.date_end))\r\n .filter(\r\n t => t.response.code\r\n && t.response.code.endsWith('000') \r\n && !t.response.code.includes('C')\r\n );\r\n \r\n // Remove unecessary invoicers\r\n this.filtered_invoicers = this.invoicers.filter(i => \r\n i.description.includes(\"PREPAGO\") ? \r\n this.transactions.some(t => t.invoicer.id == i.id && t.prepaid == true) \r\n : this.transactions.some(t => t.invoicer.id == i.id && t.prepaid == false)\r\n );\r\n\r\n this.dates = getDates(this.date_start, this.date_end);\r\n this.get_totals()\r\n\r\n this.api.commerce_movements(this.commerce_operation.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.movements = response.data;\r\n this.update_movements(response);\r\n\r\n } else error_toast(response.error.message);\r\n });\r\n\r\n } catch (e) {\r\n if (e instanceof Error) {\r\n error_toast(e.message);\r\n }\r\n }\r\n }\r\n\r\n get_totals() {\r\n this.totals_per_day_and_invoicer = [];\r\n this.totals_per_invoicer = [];\r\n this.totals_per_day = [];\r\n\r\n // Calculate totals_per_day_and_invoicer and totals_per_invoicer\r\n for(const invoicer of this.filtered_invoicers) {\r\n let temp: number[] = []\r\n let total: number = 0;\r\n\r\n // POSPAGO\r\n for(const day of this.dates) {\r\n let total_amount = this.transactions.filter(\r\n t => t.invoicer.id == invoicer.id\r\n && (typeof t.date == \"string\" ? t.date.split(\"T\")[0] == day : formatDate(t.date, 'yyyy-MM-dd', 'es-DO') == day)\r\n && t.prepaid == invoicer.description.includes(\"PREPAGO\")\r\n )\r\n .reduce((total, transaction) => total + transaction.amount, 0);\r\n \r\n temp.push(total_amount);\r\n total += total_amount;\r\n }\r\n \r\n this.totals_per_day_and_invoicer.push(temp);\r\n this.totals_per_invoicer.push(total);\r\n }\r\n\r\n // Calculate totals_per_day\r\n for(let i = 0; i < this.dates.length; i++) { \r\n let total: number = 0;\r\n for (let j = 0; j < this.filtered_invoicers.length; j++) {\r\n total += this.totals_per_day_and_invoicer[j][i];\r\n }\r\n\r\n this.totals_per_day.push(total);\r\n }\r\n\r\n // Calculate total\r\n this.total = this.totals_per_invoicer.reduce((total, amount) => total + amount, 0);\r\n\r\n }\r\n\r\n\r\n calculate_total_amount_per_invoicer_for_date(invoicer: Number, day: String, prepaid: number, include_cards: Boolean): number {\r\n const card_payment_methods = [3, 4, 5];\r\n\r\n return this.transactions.filter(\r\n t => t.invoicer.id == invoicer\r\n && (typeof t.date == \"string\" ? t.date.split(\"T\")[0] == day : formatDate(t.date, 'yyyy-MM-dd', 'es-DO') == day)\r\n && (prepaid == -1 || prepaid == 1 ? t.prepaid == true : t.prepaid == false)\r\n && (t.payment_method.id == 1 || (include_cards && card_payment_methods.includes(t.payment_method.id)))\r\n )\r\n .reduce((total, transaction) => total + transaction.amount, 0);\r\n }\r\n\r\n update_movements(response: any) {\r\n this.movements = response.data;\r\n\r\n this.ajustes = this.movements.filter(m => m.description.includes('Ajuste'));\r\n this.ajuste = this.ajustes.reduce((total, movement) => total + movement.amount, 0);\r\n var filtered_movements = this.movements.filter(m => !m.description.includes('Ajuste'));\r\n \r\n this.deposits = filtered_movements.filter(m => m.description.includes('DEPOSITO'));\r\n this.depositado = -1 * this.deposits.reduce((total, movement) => total + movement.amount, 0);\r\n filtered_movements = filtered_movements.filter(m => m.amount >= 0);\r\n\r\n this.total = this.total ?? 0;\r\n this.balance = this.total - this.depositado + this.ajuste;\r\n \r\n }\r\n\r\n capture_file(event: Event) {\r\n const file = (event.target).files[0];\r\n if (file) {\r\n this.working.loading = true;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (evt) => {\r\n const dataurl = evt.target.result;\r\n this.working.loading = false;\r\n this.data.file_name = file.name;\r\n this.data.file_type = file.type;\r\n this.data.file_dataurl = dataurl;\r\n this.imageData = dataurl;\r\n };\r\n }\r\n }\r\n\r\n handlePastedContent(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData;\r\n\r\n if (clipboardData.files.length > 0) {\r\n const file = clipboardData.files[0];\r\n if (file.type.includes('image') || file.type.includes('pdf')) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (evt) => {\r\n const dataurl = evt.target.result;\r\n this.data.file_name = file.name;\r\n this.data.file_type = file.type;\r\n this.data.file_dataurl = dataurl;\r\n this.imageData = dataurl;\r\n };\r\n }\r\n }\r\n }\r\n\r\n change_deposit_image() {\r\n this.working.loading = true;\r\n\r\n this.api.update_deposit_image(this.commerce_operation.id, this.selected_movement.sequence, {\r\n file_name: this.data.file_name,\r\n file_type: this.data.file_type,\r\n file_data: this.data.file_dataurl\r\n }, response => {\r\n this.working.saving = false;\r\n if (response.succeeded) {\r\n success_toast('Imagen depósito actualizada');\r\n\r\n this.api.commerce_movements(this.commerce_operation.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.modal = 0;\r\n this.imageData = null;\r\n this.update_movements(response);\r\n } else error_toast(response.error.message);\r\n });\r\n\r\n } else error_toast(response.error.message);\r\n });\r\n\r\n }\r\n\r\n register_deposit() {\r\n this.working.saving = true;\r\n this.api.register_deposit(this.commerce_operation.id, {\r\n method: <0|1|2>Number.parseInt(this.data.type),\r\n date_start: this.date_start,\r\n date_end: this.date_end,\r\n amount: this.data.amount, \r\n reference: this.data.reference,\r\n file_name: this.data.file_name,\r\n file_type: this.data.file_type,\r\n file_data: this.data.file_dataurl\r\n }, response => {\r\n this.working.saving = false;\r\n if (response.succeeded) {\r\n success_toast('Depósito registrado');\r\n this.data = {};\r\n this.api.commerce_movements(this.commerce_operation.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.modal = 0;\r\n this.imageData = null;\r\n this.update_movements(response);\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n register_adjustment() {\r\n this.working.saving = true;\r\n this.api.register_adjustment(this.commerce_operation.id, {\r\n type: <0|1>Number.parseInt(this.data.type),\r\n description: this.data.description,\r\n date: this.data.date_start,\r\n amount: this.data.amount,\r\n reference: this.data.reference,\r\n file_name: this.data.file_name,\r\n file_type: this.data.file_type,\r\n file_data: this.data.file_dataurl\r\n }, response => {\r\n this.working.saving = false;\r\n if (response.succeeded) {\r\n success_toast('Ajuste realizado');\r\n this.data = {};\r\n this.api.commerce_movements(this.commerce_operation.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.modal = 0;\r\n this.imageData = null;\r\n this.update_movements(response);\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n \r\n delete_movement(movement: CommerceMovement) {\r\n this.modal = 5;\r\n this.selected_movement = movement;\r\n }\r\n\r\n on_delete_movement() {\r\n if(!this.selected_movement) return;\r\n this.working.saving = true;\r\n\r\n this.api.delete_movement(this.commerce_operation.id, this.selected_movement.sequence, response => {\r\n this.working.saving = false;\r\n this.modal = 0;\r\n if (response.succeeded) {\r\n success_toast('Movimiento eliminado.');\r\n this.api.commerce_movements(this.commerce_operation.id, this.date_start, this.date_end, response => {\r\n if (response.succeeded) {\r\n this.update_movements(response);\r\n } else error_toast(response.error.message);\r\n });\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n\r\n send_message() {\r\n this.modal = 0;\r\n var urlWhatsapp = 'https://api.whatsapp.com/send/?phone=';\r\n var mobile = this.commerce_operation.representative_mobile_phone.replace(/-/g, \"\");\r\n var messageBalance = \"Muy buenos días, su balance pendiente del *\" \r\n + this.date_start + \"* al *\" \r\n + this.date_end + \"* es de *\" \r\n + formatCurrency(this.balance, this.locale, 'RD$')\r\n + '*. Por favor mandar a este número el comprobante de pago correspondiente a este período. De parte de Transneg, gracias por su colaboración.';\r\n // if (this.commerce_operation.name_intermediary.description === null) {\r\n // const messageWhatsapp = messageBalance;\r\n // urlWhatsapp = urlWhatsapp + mobile + '?text=' + messageWhatsapp;\r\n // } else {\r\n // const messageWhatsapp = messageBalance;\r\n // urlWhatsapp = urlWhatsapp + mobile + '?text=' + messageWhatsapp + \". Para mas informacion, haz click en este link: http://\"\r\n // + this.commerce_operation.name_intermediary.description + '.servicios.mobi' + \"/balance.aspx?id=\" + this.commerce_operation.guid_pv\r\n // }\r\n\r\n urlWhatsapp = urlWhatsapp + mobile + '&text=' + messageBalance;\r\n\r\n window.open(urlWhatsapp, '_blank');\r\n return urlWhatsapp;\r\n }\r\n\r\n retrieve_resource(movement: CommerceMovement) {\r\n var resource_id = movement.resource.id;\r\n this.selected_movement = movement;\r\n this.api.retrieve_operation_resource(this.commerce_operation.id, resource_id, async response => {\r\n if (response.succeeded) {\r\n\r\n if(response.data.dataurl.includes('data:image/')){\r\n this.imageData = response.data.dataurl\r\n this.modal = 4\r\n }else{\r\n const pdf = await (await fetch(response.data.dataurl)).blob()\r\n const pdf_url = URL.createObjectURL(pdf)\r\n window.open(pdf_url)\r\n }\r\n // export_file(response.data.filename, response.data.dataurl);\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n permissDeposit() {\r\n return State.getUserPermiss('Realizar registro de deposito')\r\n }\r\n\r\n permissAjust() {\r\n return State.getUserPermiss('Realizar ajuste extraordinario')\r\n }\r\n\r\n editContactCommerce() {\r\n this.api.edit_contact_commerce(this.commerce_operation.id, { contact_mobile_phone: this.commerce_operation.representative_mobile_phone}, response => {\r\n this.working.saving = false;\r\n if (response.succeeded) {\r\n success_toast('Numero actualizado correctamente');\r\n this.commerceContact.contact_mobile_phone = this.commerce_operation.representative_mobile_phone;\r\n } else error_toast(response.error.message);\r\n })\r\n }\r\n\r\n back() {\r\n this.router.navigate(['commerces', 'conciliation'])\r\n }\r\n}\r\n","
\r\n

Gestion de Comercio {{ commerce_operation.name }}

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Pendiente de Conciliación
\r\n
Estado de Cuenta
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MovimientoReferenciaMontoPendiente
\r\n
\r\n {{ mov.description }}\r\n
\r\n
\r\n
\r\n {{ mov.reference }}\r\n
\r\n
RD$\r\n
{{ mov.amount | currency:' ' }}
\r\n
RD$\r\n
{{ mov.pending | currency:' ' }}
\r\n
Balance actual del comercio:RD$\r\n
{{ commerce_operation.balance | currency:' ' }}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Desde:
\r\n \r\n
\r\n
\r\n
Hasta:
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TotalDepositadoAjusteBalance
{{ total | currency:'RD$ '}}{{ depositado | currency:'RD$ ' }}{{ ajuste | currency:'RD$ ' }}{{ balance | currency:'RD$ ' }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Fecha{{ invoicer.description }}Total por día
\r\n {{ date }}\r\n \r\n {{totals_per_day_and_invoicer[j][i] | currency:'RD$ ' }}\r\n {{ totals_per_day[i] | currency:'RD$ '}}
Totals:{{ totals_per_invoicer[i] | currency:'RD$ ' }}
\r\n \r\n \r\n

Depósitos

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FechaDescripciónMontoArchivo
{{ deposit.date | date:'yyyy-MM-dd HH:mm:ss' }}{{ deposit.description }}{{ -deposit.amount | currency:'RD$ ' }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n

Ajustes

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FechaDescripciónMontoArchivo
{{ ajuste.date | date:'yyyy-MM-dd HH:mm:ss' }}{{ ajuste.description}}{{ ajuste.amount | currency:'RD$ ' }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Registrar depósito a {{ commerce_operation.name }}

\r\n \r\n
\r\n
\r\n
Tipo de depósito:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Desde:
\r\n
\r\n {{ date_start }}\r\n
\r\n
\r\n
\r\n
Hasta:
\r\n
\r\n {{ date_end }} \r\n
\r\n
\r\n
\r\n
Monto del depósito:
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Referencia:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Archivo adjunto:
\r\n
\r\n
\r\n
\r\n \r\n {{ !working.loading? 'Adjuntar archivo...' : 'Cargando...' }}\r\n
\r\n
\r\n \r\n {{ data.file_name.length > 25? (data.file_name.substr(0, 10).trim() + '...' + data.file_name.substr(data.file_name.length - 10, 10).trim()) : data.file_name }}\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Ajuste extraordinario a {{ commerce_operation.name }}

\r\n \r\n
\r\n
\r\n
Tipo de ajuste:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Fecha:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Monto del ajuste:
\r\n
\r\n
\r\n RD$ \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Descripción:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Reference:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Archivo adjunto:
\r\n
\r\n
\r\n
\r\n \r\n {{ !working.loading? 'Adjuntar archivo...' : 'Cargando...' }}\r\n
\r\n
\r\n \r\n {{ data.file_name.length > 25? (data.file_name.substr(0, 10).trim() + '...' + data.file_name.substr(data.file_name.length - 10, 10).trim()) : data.file_name }}\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Enviar balance a {{ commerce_operation.name }}

\r\n
\r\n
\r\n
Número de whatsapp:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ !working.loading? 'Cambiar archivo...' : 'Cargando...' }}\r\n
\r\n
\r\n \r\n {{ data.file_name.length > 25? (data.file_name.substr(0, 10).trim() + '...' + data.file_name.substr(data.file_name.length - 10, 10).trim()) : data.file_name }}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Confirmar acción

\r\n Está segur@ que desea eliminar el elemento {{selected_movement.description}} ?\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CommerceInfo } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-points-of-sale-view',\r\n templateUrl: './points-of-sale-view.component.html',\r\n styleUrls: []\r\n})\r\nexport class PointsOfSaleViewComponent {\r\n working = true;\r\n commerces: CommerceInfo[];\r\n filter: string;\r\n \r\n constructor(private router: Router, api: DataService) {\r\n api.commerces(response => {\r\n this.working = false;\r\n if (response.succeeded) \r\n this.commerces = response.data;\r\n else error_toast(response.error.message);\r\n });\r\n }\r\n \r\n go(commerce_code: string) {\r\n this.router.navigate(['transactions', 'points-of-sale', commerce_code]); \r\n }\r\n}\r\n","

Puntos de Venta

\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TipoNombreLocalizaciónContacto
\r\n \r\n {{ commerce.type == 'FI'? 'Físico' : 'Virtual' }}\r\n {{ commerce.name }}\r\n {{ commerce.address }}\r\n
{{ commerce.contact_name }}
\r\n
{{ commerce.contact_phone }}
\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { far } from '@fortawesome/free-regular-svg-icons';\r\nimport { fab } from '@fortawesome/free-brands-svg-icons';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';\r\nimport { ContainerComponent } from './container/container.component';\r\nimport { TransactionsModule } from './transactions/transactions.module';\r\nimport { CommerceModule } from './commerce/commerce.module';\r\nimport { UtilitiesModule } from './utilities/utilities.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n ContainerComponent,\r\n DashboardComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n FontAwesomeModule,\r\n TransactionsModule,\r\n CommerceModule,\r\n UtilitiesModule,\r\n SharedModule,\r\n FormsModule\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas, far, fab);\r\n }\r\n}\r\n","import { LotDetailed, OrderDiscount, PaymentMethod, UserInfo } from \"./models/models\";\r\n\r\nexport class State {\r\n private static _auth_token: string;\r\n private static logos: Map = new Map([\r\n [\"EDEESTE\", \"logo_edeeste.png\"],\r\n [\"EDENORTE\", \"logo_edenorte.png\"],\r\n [\"EDESUR\", \"logo_edesur.png\"],\r\n [\"ASDN\", \"logo_asdn.png\"],\r\n [\"CLARO\", \"logo_claro.png\"],\r\n [\"CAASD\", \"logo_caasd.png\"],\r\n [\"ALTICE\", \"logo_altice.png\"],\r\n [\"VIVA\", \"logo_viva.png\"],\r\n [\"INAPA\", \"logo_inapa.png\"],\r\n [\"NATCOM\", \"logo_natcom.png\"],\r\n [\"DIGICEL\", \"logo_digicel.png\"],\r\n [\"PPE\", \"logo_ppe.png\"],\r\n [\"CORAAVEGA\", \"logo_coraavega.png\"],\r\n [\"CORAAPLATA\", \"logo_coraaplata.png\"],\r\n [\"WIND\", \"logo_windtelecom.png\"],\r\n [\"ALV\", \"logo_alv.png\"],\r\n ]);\r\n\r\n static get auth_token(): string {\r\n if (!this._auth_token)\r\n this._auth_token = localStorage.getItem('auth_token');\r\n return this._auth_token;\r\n }\r\n static set auth_token(value: string) {\r\n localStorage.setItem('auth_token', value);\r\n this._auth_token = value;\r\n }\r\n\r\n private static _user: UserInfo;\r\n static get user(): UserInfo {\r\n if (!this._user)\r\n this._user = JSON.parse(localStorage.getItem('user'));\r\n return this._user;\r\n }\r\n static set user(value: UserInfo) {\r\n localStorage.setItem('user', JSON.stringify(value));\r\n this._user = value;\r\n }\r\n\r\n static getUserPermiss(permiso : string):boolean {\r\n return this.user.permission.filter(x=> x.description === permiso).length > 0 ? true : false;\r\n }\r\n\r\n static getLogo(logo:string){\r\n return this.logos.get(logo);\r\n }\r\n\r\n logo = '';\r\n\r\n static lot_to_print: LotDetailed;\r\n static discount_to_print: OrderDiscount;\r\n static payment_methods: PaymentMethod[];\r\n\r\n static clear() {\r\n this.auth_token = null;\r\n this.user = null;\r\n }\r\n}\r\n","import { formatDate } from '@angular/common';\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { Agency, CommerceInfo, Item, Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { export_text_file, export_xlsx_file, format_date_iso, getDates, sum, today } from 'src/app/utilities/utilities';\r\nimport { TransactionTableComponent } from '../transaction-table/transaction-table.component';\r\nimport { MultiSelectComponent } from 'src/app/utilities/multi-select/multi-select.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-transactions',\r\n templateUrl: './transactions.component.html',\r\n styleUrls: []\r\n})\r\nexport class TransactionsComponent {\r\n agencies: Agency[] = [];\r\n selected_agency_id: number;\r\n\r\n commece_cache: { [key: number]: CommerceInfo[] } = { };\r\n\r\n agency_commerces: CommerceInfo[] = [];\r\n selected_commerces: CommerceInfo[] = [];\r\n\r\n @ViewChild('myMultiSelect') myMultiSelect: MultiSelectComponent;\r\n\r\n pos_name = (pos: CommerceInfo) => pos.name;\r\n\r\n date_start: string | Date;\r\n date_end: string | Date;\r\n\r\n today: string | Date = format_date_iso(today());\r\n\r\n working = false;\r\n\r\n get can_query(): boolean {\r\n return !!(this.selected_commerces?.length && this.date_start && this.date_end);\r\n }\r\n\r\n transactions: Transaction[];\r\n\r\n @ViewChild('transaction_table') transaction_table: TransactionTableComponent;\r\n\r\n constructor(private api: DataService) {\r\n this.date_start = this.date_end = this.today;\r\n\r\n api.user_agencies(response => {\r\n if (response.succeeded) {\r\n this.agencies = response.data;\r\n const stored_commerces = JSON.parse(localStorage.getItem('selected_commerces')) as CommerceInfo[] || [];\r\n\r\n stored_commerces.forEach(element => {\r\n this.myMultiSelect.add(element);\r\n });\r\n\r\n } else error_toast(response.error.message);\r\n });\r\n\r\n }\r\n\r\n handle_agency_change() {\r\n const cached_commerces = this.commece_cache[this.selected_agency_id];\r\n if (cached_commerces) {\r\n this.agency_commerces = cached_commerces;\r\n } else {\r\n this.api.agency_commerces(this.selected_agency_id, response => {\r\n if (response.succeeded) {\r\n this.commece_cache[this.selected_agency_id] = response.data;\r\n this.agency_commerces = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n async query() {\r\n // Almacenar los comercios en el local storage\r\n localStorage.setItem('selected_commerces', JSON.stringify(this.selected_commerces));\r\n\r\n this.working = true;\r\n var call = [];\r\n this.transactions = [];\r\n\r\n for (const element of this.selected_commerces) {\r\n try {\r\n const response = await this.api.transactions_by_commerce(element.id, this.date_start, this.date_end);\r\n this.transactions = this.transactions.concat(response).sort((a, b) => new Date(b.date).valueOf() - new Date(a.date).valueOf());\r\n } catch (error) {\r\n // Manejar errores si ocurren durante la llamada a la API\r\n console.error('Error:', error);\r\n // Mostrar un mensaje de error si la llamada no tuvo éxito\r\n if (error instanceof Error) {\r\n error_toast(error.message);\r\n }\r\n\r\n this.transactions = [];\r\n }\r\n }\r\n\r\n this.working = false;\r\n \r\n }\r\n\r\n export_excel_detalle() {\r\n const headers = [\r\n \"Comercio\",\r\n \"Tipo\",\r\n \"Facturador\",\r\n \"Metodo\",\r\n \"Fecha\",\r\n \"ID\",\r\n \"Monto\",\r\n \"Cliente/Referencia\",\r\n \"Estado\",\r\n \"Respuesta\"\r\n ];\t\r\n\r\n const transactions = this.transaction_table.filtered_transactions.map(t => [\r\n t.commerce.description,\r\n t.prepaid ? \"PREPAGO\" : \"POSPAGO\",\r\n t.invoicer.description,\r\n t.payment_method.description,\r\n typeof t.date === 'string' ? t.date : formatDate(t.date, 'yyyy-MM-dd HH:mm:ss', 'es-DO'),\r\n t.id,\r\n t.amount,\r\n t.client,\r\n t.status.id != 3 ? \"EXITOSA\" : \"FALLIDA\",\r\n t.response.code\r\n ]);\r\n\r\n const filename = \"transacciones_\" + this.date_start + \"-HASTA-\" + this.date_end;\r\n export_xlsx_file(filename, headers, transactions);\r\n }\r\n\r\n exportar_excel_total() {\r\n const transaction_f = this.transaction_table.filtered_transactions.filter(t => t.response.code.endsWith('000') && !t.response.code.includes('C'));\r\n const data = [];\r\n\r\n for (let i=0; i t.commerce.description == commerce).map(t => t.invoicer).distinct(i => i.id);\r\n var invoicers: Item[] = [];\r\n temp_invoicers.forEach(element => {\r\n invoicers.push(element);\r\n invoicers.push({id: -1, description: \"# transacciones \" + element.description });\r\n });\r\n\r\n data.push([this.selected_commerces[i].name]);\r\n data.push([\"Pospago\", ...invoicers.map(i => \"\"), \"\", \"\", \"Prepago\"]);\r\n data.push(['Dia', ...invoicers.map(i => i.description), 'Total', \"\", 'Dia', ...temp_invoicers.map(i => i.description), 'Total']);\r\n\r\n getDates(this.date_start, this.date_end).forEach(date => {\r\n const pospaid_transactions = this.generate_fila(temp_invoicers, transaction_f, date, false, commerce);\r\n const prepaid_transactions = this.generate_fila(temp_invoicers, transaction_f, date, true, commerce);\r\n\r\n data.push([date, ...pospaid_transactions, \"\", date, ...prepaid_transactions]);\r\n });\r\n\r\n var invoicers_totals = [\"Suma\"]\r\n temp_invoicers.forEach(i => {\r\n const amount_total = sum(transaction_f.filter(t => t.commerce.description == commerce && t.invoicer.id == i.id && !t.prepaid).map(t => t.amount));\r\n const nb_transactions_total = transaction_f.filter(t => t.commerce.description == commerce && t.invoicer.id == i.id && !t.prepaid).length;\r\n invoicers_totals.push(amount_total.toString());\r\n invoicers_totals.push(nb_transactions_total.toString());\r\n });\r\n invoicers_totals.push(sum(transaction_f.filter(t => t.commerce.description == commerce && !t.prepaid).map(t => t.amount)).toString());\r\n\r\n data.push(invoicers_totals);\r\n \r\n data.push([\"\"]);\r\n }\r\n\r\n const filename = \"total_\" + this.date_start + \"-HASTA-\" + this.date_end;\r\n export_xlsx_file(filename, [], data);\r\n }\r\n\r\ngenerate_fila(invoicer: Item[], transactions: Transaction[], date: String, is_prepaid: Boolean, commerce: string): number[] {\r\n const res: number[] = [];\r\n\r\n const filtered_transaccion = transactions.filter(t => t.prepaid == is_prepaid && t.commerce.description == commerce && (typeof t.date == \"string\" ? t.date.split(\"T\")[0] == date : formatDate(t.date, 'yyyy-MM-dd', 'es-DO') == date));\r\n let total = 0;\r\n\r\n invoicer.forEach(i => {\r\n const t= sum(filtered_transaccion.filter(t => t.invoicer.id == i.id).map(t => t.amount))\r\n res.push(t);\r\n if (!is_prepaid)\r\n res.push(filtered_transaccion.filter(t => t.invoicer.id == i.id).length);\r\n total += t;\r\n });\r\n\r\n res.push(total);\r\n\r\n return res;\r\n}\r\n}\r\n","

Transacciones

\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n \r\n

Punto(s) de Venta:

\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CommerceRoutingModule } from './commerce-routing.module';\r\nimport { UsersComponent } from './users/users.component';\r\nimport { ConciliationComponent } from './conciliation/conciliation.component';\r\nimport { PortfolioComponent } from './portfolio/portfolio.component';\r\nimport { UtilitiesModule } from '../utilities/utilities.module';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { far } from '@fortawesome/free-regular-svg-icons';\r\nimport { fab } from '@fortawesome/free-brands-svg-icons';\r\nimport { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';\r\nimport { CommerceConciliationComponent } from './conciliation/commerce-conciliation/commerce-conciliation.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n UsersComponent,\r\n ConciliationComponent,\r\n PortfolioComponent,\r\n CommerceConciliationComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n CommerceRoutingModule,\r\n UtilitiesModule,\r\n FormsModule,\r\n FontAwesomeModule\r\n ]\r\n})\r\nexport class CommerceModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas, fab);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { far } from '@fortawesome/free-regular-svg-icons';\r\nimport { fab } from '@fortawesome/free-brands-svg-icons';\r\n\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeEs from '@angular/common/locales/es';\r\nimport localeEsDo from '@angular/common/locales/es-DO';\r\n\r\nimport { TransactionsRoutingModule } from './transactions-routing.module';\r\nimport { ContractViewComponent } from './contract-view/contract-view.component';\r\nimport { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { PointsOfSaleViewComponent } from './points-of-sale-view/points-of-sale-view.component';\r\nimport { PointOfSaleComponent } from './points-of-sale-view/point-of-sale/point-of-sale.component';\r\nimport { OpenLotsComponent } from './open-lots/open-lots.component';\r\nimport { ClosedLotsComponent } from './closed-lots/closed-lots.component';\r\nimport { LotComponent } from './lot/lot.component';\r\nimport { TransactionsComponent } from './transactions/transactions.component';\r\nimport { UtilitiesModule } from '../utilities/utilities.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { LotPrintComponent } from './lot-print/lot-print.component';\r\nimport { TransactionTableComponent } from './transaction-table/transaction-table.component';\r\n\r\n\r\nregisterLocaleData(localeEs, 'es');\r\nregisterLocaleData(localeEsDo, 'es-DO');\r\n\r\n@NgModule({\r\n declarations: [\r\n ContractViewComponent,\r\n PointsOfSaleViewComponent,\r\n PointOfSaleComponent,\r\n OpenLotsComponent,\r\n ClosedLotsComponent,\r\n LotComponent,\r\n TransactionsComponent,\r\n LotPrintComponent,\r\n TransactionTableComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TransactionsRoutingModule,\r\n FontAwesomeModule,\r\n FormsModule,\r\n UtilitiesModule,\r\n SharedModule\r\n ],\r\n})\r\nexport class TransactionsModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas, fab);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableControlComponent } from './table-control/table-control.component';\r\nimport { TablePaginatorComponent } from './table-control/table-paginator.component';\r\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { ToasterComponent } from './toaster/toaster.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {\r\n FontAwesomeModule,\r\n FaIconLibrary,\r\n} from '@fortawesome/angular-fontawesome';\r\n\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { far } from '@fortawesome/free-regular-svg-icons';\r\nimport { fab } from '@fortawesome/free-brands-svg-icons';\r\nimport { BusyComponent } from './busy/busy.component';\r\nimport { ModalComponent } from './modal.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TableControlComponent,\r\n TablePaginatorComponent,\r\n MultiSelectComponent,\r\n LoaderComponent,\r\n ToasterComponent,\r\n BusyComponent,\r\n ModalComponent,\r\n ],\r\n imports: [CommonModule, FormsModule, FontAwesomeModule],\r\n exports: [\r\n TableControlComponent,\r\n TablePaginatorComponent,\r\n MultiSelectComponent,\r\n LoaderComponent,\r\n ToasterComponent,\r\n BusyComponent,\r\n ModalComponent,\r\n ],\r\n})\r\nexport class UtilitiesModule {\r\n constructor(library: FaIconLibrary) {\r\n library.addIconPacks(fas, far, fab);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Agency, ClientContract, Commerce, CommerceInfo } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-portfolio',\r\n templateUrl: './portfolio.component.html',\r\n styleUrls: []\r\n})\r\nexport class PortfolioComponent {\r\n agencies: Agency[];\r\n selected_agency_id: number;\r\n agency_commerces_cache: { [key: number]: CommerceInfo[] } = { };\r\n\r\n agency_commerces: CommerceInfo[];\r\n selected_commerce_id: number;\r\n commerce_portfolio_cache: { [key: number]: ClientContract[] } = { };\r\n\r\n portfolio: ClientContract[];\r\n\r\n filter: string;\r\n\r\n constructor(private api: DataService) {\r\n api.agencies(response => {\r\n if (response.succeeded) {\r\n this.agencies = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n handle_agency_selection() {\r\n this.portfolio = [];\r\n const id = this.selected_agency_id;\r\n const cached_commerces = this.agency_commerces_cache[id];\r\n if (cached_commerces) {\r\n this.agency_commerces = cached_commerces;\r\n } else {\r\n this.api.agency_commerces(id, response => {\r\n if (response.succeeded) {\r\n this.agency_commerces_cache[id] = response.data;\r\n this.agency_commerces = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n handle_commerce_selection() {\r\n this.portfolio = [];\r\n const commerce_id = this.selected_commerce_id;\r\n const agency_id = this.selected_agency_id;\r\n const cached_portfolio = this.commerce_portfolio_cache[commerce_id];\r\n if (cached_portfolio)\r\n this.portfolio = cached_portfolio;\r\n else {\r\n this.api.commerce_portfolio(commerce_id, agency_id, response => {\r\n if (response.succeeded) {\r\n this.commerce_portfolio_cache[commerce_id] = response.data;\r\n this.portfolio = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n}\r\n","

Cartera de Cobro

\r\n\r\n
\r\n
\r\n
\r\n
Agencia:
\r\n \r\n
\r\n
\r\n
Punto de Venta / Cobrador:
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CódigoNombreSectorBarrioDía de cobroPlan
{{ client.client_number }}{{ client.client_name }}{{ client.zone }}{{ client.town }}{{ client.payment_day }}{{ client.plan }}
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Invoicer, Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport {\r\n error_toast,\r\n success_toast,\r\n} from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { distinct } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-transaction-table',\r\n templateUrl: './transaction-table.component.html',\r\n styleUrls: [],\r\n})\r\nexport class TransactionTableComponent {\r\n working = {\r\n nullifying: false,\r\n };\r\n @Output() filterTransations = new EventEmitter()\r\n @Output() isExtendedTable = new EventEmitter()\r\n _transactions: Transaction[];\r\n @Input() get transactions(): Transaction[] { return this._transactions; }\r\n set transactions(value: Transaction[]) {\r\n this._transactions = value?value:[];\r\n this.invoicers = distinct(value.map(t => t.invoicer), i => i.id);\r\n this.ditails_invoicer_values = this.transactionsInvoicer_total(this.transactions);\r\n }\r\n\r\n invoicers: Invoicer[] = [];\r\n selected_invoicer: Invoicer[] = [];\r\n ditails_invoicer_values:{amount:number;value:number;name:string}[] = []\r\n\r\n pos_nameinvoicer = (pos: Invoicer) => pos.description;\r\n\r\n get transactions_total(): number {\r\n var filter = this.transactions?.filter(x=> x.response.code === 'P0000' || x.response.code === 'A0000' || x.response.code === 'RP000');\r\n return filter.length <= 0 ? 0 : (filter.map(t => t.amount) ?? [0]).reduce((a, b) => a + b);\r\n }\r\n\r\n transactionsInvoicer_total(transatios:Transaction[]): {amount:number;value:number;name:string}[] {\r\n // var invoicers = this.selected_invoicer.length !== 0? this.selected_invoicer: this.invoicers;\r\n return this.invoicers.map( invo =>{\r\n var amount = 0;\r\n var value = 0;\r\n transatios?.forEach(x =>{\r\n if((x.response.code === 'P0000' || x.response.code === 'A0000' || x.response.code === 'RP000') && x.invoicer.id === invo.id) value += x.amount;\r\n if(x.invoicer.id === invo.id) amount++;\r\n });\r\n return { amount : amount,value: value,name:invo.description} ;\r\n });\r\n }\r\n\r\n extended_table = false;\r\n include_queries = false;\r\n include_non_successes = false;\r\n filter_string: string;\r\n filter_type: number = 0;\r\n modal: number = 0;\r\n\r\n get filtered_transactions(): Transaction[] {\r\n let trans = this.transactions ?? [];\r\n if (this.filter_type !== 0)\r\n trans = trans.filter((t) =>\r\n this.filter_type == 1 ? !t.prepaid : t.prepaid\r\n );\r\n this.ditails_invoicer_values = this.transactionsInvoicer_total(trans);\r\n if (this.selected_invoicer.length>0)\r\n trans = trans.filter((t) => this.selected_invoicer.map(x =>x.id).includes(t.invoicer.id));\r\n if (!this.include_queries)\r\n trans = trans.filter((t) => ![1, 6].includes(t.type?.id));\r\n if (!this.include_non_successes)\r\n trans = trans.filter((t) => t.response.code === 'P0000' || t.response.code === 'A0000' || t.response.code === 'RP000' || t.response?.code === 'C0000');\r\n this.filterTransations.emit(trans);\r\n this.isExtendedTable.emit(this.extended_table);\r\n\r\n return trans;\r\n\r\n }\r\n\r\n transaction_to_nullify: Transaction;\r\n nullification_reason: string;\r\n\r\n constructor(private api: DataService, private router:Router) {}\r\n\r\n nullify_transaction() {\r\n this.working.nullifying = true;\r\n this.api.nullify_transaction(\r\n this.transaction_to_nullify.id,\r\n this.nullification_reason,\r\n (response) => {\r\n this.working.nullifying = false;\r\n if (response.succeeded) {\r\n this.transactions.find(\r\n (t) => t.id == this.transaction_to_nullify.id\r\n ).status.id = 4;\r\n success_toast('Transaccion anulada');\r\n this.transaction_to_nullify = null;\r\n } else error_toast(response.error.message);\r\n }\r\n );\r\n }\r\n\r\n go(commerce_code: string) {\r\n this.router.navigate(['transactions', 'points-of-sale', commerce_code]);\r\n }\r\n\r\n permiss() {\r\n return State.getUserPermiss('Anular transaccion');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
Cant. transacciones: {{ transactions.length }}
\r\n
Total transacciones: {{ transactions_total | currency:'RD$ ' }}
\r\n
\r\n
\r\n
0\">Cant. trans. {{ item.name }}: {{item.amount}}
\r\n
0\">Total {{ item.name }}: {{item.value | currency:'RD$ ' }}
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n Incluir detalles\r\n
\r\n
\r\n \r\n Incluir consultas\r\n
\r\n
\r\n \r\n Incluir fallidas\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Modalidad:
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Facturadores:

\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ModalidadTipo Tran.Cliente\r\n
Monto (RD$)
\r\n
FacturadorModo PagoDoc. PagoRespuestaFechaPunto de VentaLoteSec.Nro. Transacción
\r\n \r\n {{transaction.prepaid? 'Prepago' : 'Pospago'}}{{ transaction.type?.description }}{{ transaction.client }}$\r\n
{{ transaction.amount | currency:' ' }}
\r\n
{{ transaction.invoicer?.description }}{{ transaction.payment_method?.description }}{{ transaction.payment_document }}{{ transaction.response?.code }}{{ transaction.date | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}{{ transaction.commerce?.description }}{{ transaction.lot }}{{ transaction.sequence }}{{ transaction.id }}\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n

Anular transacción {{ transaction_to_nullify.id }}

\r\n\r\n
\r\n
\r\n
Comercio:
\r\n
{{ transaction_to_nullify.commerce?.description }}
\r\n
\r\n
\r\n
Fecha:
\r\n
{{ transaction_to_nullify.date | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
\r\n
\r\n
\r\n
Cliente:
\r\n
{{ transaction_to_nullify.client }}
\r\n
\r\n
\r\n
Monto:
\r\n
{{ transaction_to_nullify.amount | currency:'RD$ ' }}
\r\n
\r\n
\r\n
Razón de anulación:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { AfterViewChecked, Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LotDetailed, OrderDiscount, PaymentMethod, Transaction } from 'src/app/shared/models/models';\r\nimport { State } from 'src/app/shared/state.shared';\r\nimport { sum, titlecase, today, distinct } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-discount-print',\r\n templateUrl: './discount-print.component.html',\r\n styles: [\r\n `.itemsBox{\r\n display:flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n margin-top: 14px;\r\n }\r\n `]\r\n})\r\nexport class DiscountPrintComponent {\r\n discount: OrderDiscount = State.discount_to_print;\r\n logo =''\r\n titlecase = titlecase;\r\n fecha = today();\r\n constructor(private router: Router) {\r\n this.logo = State.getLogo(this.discount.order.invoicer.description);\r\n if (!this.discount)\r\n router.navigate([''])\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n window.print();\r\n window.history.back();\r\n }, 1000);\r\n\r\n }\r\n}\r\n","\r\n
\r\n
{{ fecha | date :'dd/MM/yyyy'}}
\r\n
\r\n\"...\"\r\n\r\n
\r\n

Descuento de pago

\r\n
\r\n

➤ Descuento

\r\n
\r\n = 0\">\r\n Expediente\r\n \r\n {{ discount.order.description.substring(discount.order.description.toLowerCase().indexOf('proyecto')+8,discount.order.description.length) }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Aprobado por:

\r\n \r\n {{ discount.user.name }}\r\n \r\n
\r\n
\r\n

Fecha:

\r\n \r\n {{ discount.date | date :'dd/MM/yyyy' }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Monto:

\r\n \r\n RD$ {{ discount.amount | currency:' ' }}\r\n \r\n
\r\n
\r\n

Observación

\r\n \r\n {{ discount.observation }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

No.

\r\n \r\n {{ discount.id }}\r\n \r\n
\r\n
\r\n
\r\n

➤ Orden

\r\n
\r\n
\r\n
\r\n
\r\n

Cliente:

\r\n \r\n {{ discount.order.name }}\r\n \r\n
\r\n
\r\n

Monto Original:

\r\n \r\n RD$ {{ discount.original | currency:' ' }}\r\n \r\n
\r\n
\r\n

Descripción:

\r\n = 0; else elseBlock\">\r\n {{ discount.order.description.substring(0,(discount.order.description.toLowerCase().indexOf('proyecto')-2)) }}\r\n \r\n \r\n {{ discount.order.description }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

No.:

\r\n \r\n {{ discount.order.code }}\r\n \r\n
\r\n
\r\n

Monto Modificado:

\r\n \r\n RD$ {{ discount.order.amount | currency:' ' }}\r\n \r\n
\r\n
\r\n

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Generada el:

\r\n \r\n {{ discount.order.date_created | date :'dd/MM/yyyy' }}\r\n \r\n
\r\n
\r\n
\r\n

➤ Punto de Venta

\r\n
\r\n
\r\n
\r\n
\r\n

Nombre:

\r\n \r\n {{ discount.order.comerce }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Direccion:

\r\n \r\n {{ discount.order.comerce_address }}\r\n \r\n
\r\n
\r\n
\r\n
=== Fin del documento ===
\r\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { set_toast_dock } from './toaster.utilities';\r\n\r\n@Component({\r\n selector: 'toaster',\r\n templateUrl: './toaster.component.html',\r\n styleUrls: []\r\n})\r\nexport class ToasterComponent implements AfterViewInit {\r\n top_or_bottom: 'top' | 'bottom' = 'bottom';\r\n center_left_or_right: 'center' | 'left' | 'right' = 'center';\r\n\r\n @Input() set top(value: string | boolean) {\r\n if (value === '' || value)\r\n this.top_or_bottom = 'top';\r\n }\r\n @Input() set bottom(value: string | boolean) {\r\n if (value === '' || value)\r\n this.top_or_bottom = 'bottom';\r\n }\r\n\r\n @Input() set center(value: string | boolean) {\r\n if (value === '' || value)\r\n this.center_left_or_right = 'center';\r\n }\r\n @Input() set left(value: string | boolean) {\r\n if (value === '' || value)\r\n this.center_left_or_right = 'left';\r\n }\r\n @Input() set right(value: string | boolean) {\r\n if (value === '' || value)\r\n this.center_left_or_right = 'right';\r\n }\r\n\r\n @ViewChild('dock') dock: ElementRef;\r\n\r\n constructor() { }\r\n ngAfterViewInit(): void {\r\n set_toast_dock(this.dock.nativeElement);\r\n }\r\n}\r\n","\r\n
","import { Invoicer, Order, OrderDetailed, OrderDiscount } from './../models/models'\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Router } from '@angular/router'\r\nimport { end_loader, loader } from 'src/app/utilities/loader/loader.utilities'\r\nimport { environment } from 'src/environments/environment'\r\nimport {\r\n\tApiCallback,\r\n\tAPIError,\r\n\tApiResponse,\r\n\tCommerceData,\r\n\tCommerceDepositData,\r\n\tDepositImageData,\r\n\tOperationAdjustmentData,\r\n\tTerminalConfigurationData,\r\n\tUpdateContactCommerceRequest,\r\n\tUserData,\r\n} from '../models/api.models'\r\nimport {\r\n\tAcquirer,\r\n\tAgency,\r\n\tAgencyDetailed,\r\n\tClientContract,\r\n\tCommerceDetailed,\r\n\tCommerceInfo,\r\n\tCommerceOperation,\r\n\tIntermediary,\r\n\tInvoicerInfo,\r\n\tLot,\r\n\tLotDetailed,\r\n\tPaymentMethod,\r\n\tRole,\r\n\tTerminalConfiguration,\r\n\tTransaction,\r\n\tUserInfo,\r\n\tUserDetailed,\r\n\tUser,\r\n\tAgencyInvoicer,\r\n\tCommerceOperationDetails,\r\n\tCommerceMovement,\r\n\tUserCreated,\r\n\tUserChangePassword,\r\n\tPermissions,\r\n} from '../models/models'\r\nimport { State } from '../state.shared'\r\n\r\nconst api = environment.api\r\nlet router: Router\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\tprivate get headers(): { [key: string]: string } {\r\n\t\treturn State.auth_token\r\n\t\t\t? {\r\n\t\t\t\t\tAuthorization: State.auth_token,\r\n\t\t\t }\r\n\t\t\t: {}\r\n\t}\r\n\r\n\tconstructor(private http: HttpClient, r: Router) {\r\n\t\trouter = r\r\n\t}\r\n\r\n\tprivate get(url: string, callback: ApiCallback) {\r\n\t\tloader()\r\n\t\tenvironment.debug(`get request to ${url}`)\r\n\t\tthis.http.get>(url, { headers: this.headers }).subscribe(handle_success(url, callback), handle_error(url, callback))\r\n\t}\r\n\r\n\tprivate post(url: string, body: D, callback: ApiCallback) {\r\n\t\tloader()\r\n\t\tenvironment.debug(`post request to ${url}:`, body)\r\n\t\tthis.http.post>(url, body, { headers: this.headers }).subscribe(handle_success(url, callback), handle_error(url, callback))\r\n\t}\r\n\r\n\tprivate delete(url: string, callback: ApiCallback) {\r\n\t\tloader()\r\n\t\tenvironment.debug(`delete request to ${url}:`)\r\n\t\tthis.http.delete>(url, { headers: this.headers }).subscribe(handle_success(url, callback), handle_error(url, callback))\r\n\t}\r\n\r\n\tlogin(username: string, password: string, callback: ApiCallback<{ user: UserInfo; token: string }>) {\r\n\t\tthis.post(api('login'), { username, password }, callback)\r\n\t}\r\n\r\n\tauthenticate(callback: ApiCallback) {\r\n\t\tthis.get(api('authenticate'), callback)\r\n\t}\r\n\r\n\ttransactions_by_client_reference(client_reference: string, callback: ApiCallback) {\r\n\t\tthis.get(api('transactions', 'client', client_reference), callback)\r\n\t}\r\n\r\n\tcommerces(callback: ApiCallback) {\r\n\t\tthis.get(api('commerces'), callback)\r\n\t}\r\n\r\n\tcommerce_detailed(id: string, callback: ApiCallback) {\r\n\t\tthis.get(api('commerce', id), callback)\r\n\t}\r\n\r\n\r\n\tasync transactions_by_commerce(commerce_id: number, date_start: string | Date, date_end: string | Date): Promise {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t const callback: ApiCallback = (response) => {\r\n\t\t\tif (response.succeeded) {\r\n\t\t\t resolve(response.data);\r\n\t\t\t} else {\r\n\t\t\t reject(new Error(response.error.message));\r\n\t\t\t}\r\n\t\t };\r\n\t \r\n\t\t this.get(api('transactions', 'commerce', commerce_id) + query({ date_start, date_end }), callback);\r\n\t\t});\r\n\t}\r\n\r\n\topen_lots(callback: ApiCallback) {\r\n\t\tthis.get(api('lots', 'open'), callback)\r\n\t}\r\n\r\n\tclosed_lots(agency_id: number, commerce_id: number, date_start: string | Date, date_end: string | Date, callback: ApiCallback) {\r\n\t\tthis.get(api('lots', 'closed') + query({ agency_id, commerce_id, date_start, date_end }), callback)\r\n\t}\r\n\r\n\tagencies(callback: ApiCallback) {\r\n\t\tthis.get(api('agencies'), callback)\r\n\t}\r\n\r\n\troles(callback: ApiCallback) {\r\n\t\tthis.get(api('roles'), callback)\r\n\t}\r\n\r\n\tuser_agencies(callback: ApiCallback) {\r\n\t\tthis.get(api('user', 'agencies'), callback)\r\n\t}\r\n\r\n\tagency_commerces(agency_id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('commerces', 'agency', agency_id), callback)\r\n\t}\r\n\r\n\ttransactions_by_commerces(commerce_ids: number[], date_start: string | Date, date_end: string | Date, callback: ApiCallback) {\r\n\t\tthis.post(api('transactions', 'commerces'), { commerce_ids, date_start, date_end }, callback)\r\n\t}\r\n\r\n\tusers(callback: ApiCallback) {\r\n\t\tthis.get(api('users'), callback)\r\n\t}\r\n\r\n\tusers_detailed(callback: ApiCallback) {\r\n\t\tthis.get(api('users', 'detailed'), callback)\r\n\t}\r\n\r\n\tuser_change_enable(userid: string, enable: boolean, callback: ApiCallback) {\r\n\t\tthis.post(api('user', 'enable'), { userid, enable }, callback)\r\n\t}\r\n\r\n\tuser_change_password(data: UserChangePassword, callback: ApiCallback) {\r\n\t\tthis.post(api('user', 'change_password'), data, callback)\r\n\t}\r\n\tuser_commerces(user_id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('commerces', 'user', user_id), callback)\r\n\t}\r\n\r\n\tcommerces_operation(callback: ApiCallback) {\r\n\t\tthis.get(api('commerces', 'operation'), callback)\r\n\t}\r\n\r\n\tcommerce_portfolio(commerce_id: number, agency_id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('commerce', agency_id, 'portfolio', commerce_id), callback)\r\n\t}\r\n\r\n\tagencies_detailed(callback: ApiCallback) {\r\n\t\tthis.get(api('agencies', 'detailed'), callback)\r\n\t}\r\n\r\n\tinvoicers(callback: ApiCallback) {\r\n\t\tthis.get(api('invoicers'), callback)\r\n\t}\r\n\r\n\tpayment_methods(callback: ApiCallback) {\r\n\t\tthis.get(api('payment_methods'), callback)\r\n\t}\r\n\r\n\tinvoicer_payment_methods(invoicer_id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('invoicer', invoicer_id, 'payment_methods'), callback)\r\n\t}\r\n\r\n\tpermission(callback: ApiCallback) {\r\n\t\tthis.get(api('permissions'), callback)\r\n\t}\r\n\r\n\tterminal_configurations(callback: ApiCallback) {\r\n\t\tthis.get(api('terminal_configurations'), callback)\r\n\t}\r\n\r\n\tacquirers(callback: ApiCallback) {\r\n\t\tthis.get(api('acquirers'), callback)\r\n\t}\r\n\r\n\tlot_detailed(mode: 'postpaid' | 'prepaid', id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('lot', mode, id), callback)\r\n\t}\r\n\r\n\tintermediaries(callback: ApiCallback) {\r\n\t\tthis.get(api('intermediaries'), callback)\r\n\t}\r\n\r\n\tagency_invoicers(callback: ApiCallback) {\r\n\t\tthis.get(api('agency', 'invoicers'), callback)\r\n\t}\r\n\r\n\tcommerce_operation(commerce_id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('commerce', commerce_id, 'operation'), callback)\r\n\t}\r\n\r\n\tcommerce_movements(commerce_id: number, date_start: string | Date, date_end: string | Date, callback: ApiCallback) {\r\n\t\tthis.get(api('commerce', commerce_id, 'movements') + query({ date_start, date_end }), callback)\r\n\t}\r\n\r\n\tretrieve_operation_resource(commerce_id: number, resource_id: string, callback: ApiCallback<{ filename: string; dataurl: string }>) {\r\n\t\tthis.get(api('commerce', commerce_id, 'operation', 'resource', resource_id), callback)\r\n\t}\r\n\r\n\tassign_user_commerces(user_id: number, commerce_ids: number[], callback: ApiCallback) {\r\n\t\tthis.post(api('user', user_id, 'commerces'), { commerce_ids }, callback)\r\n\t}\r\n\r\n\tcreate_agency(data: AgencyDetailed, callback: ApiCallback) {\r\n\t\tthis.post(api('agency'), data, callback)\r\n\t}\r\n\r\n\tedit_agency(agency_id: number, data: AgencyDetailed, callback: ApiCallback) {\r\n\t\tthis.post(api('agency', agency_id), data, callback)\r\n\t}\r\n\r\n\tassign_payment_methods_to_invoicer(invoicer_id: number, payment_method_ids: number[], callback: ApiCallback) {\r\n\t\tthis.post(api('invoicer', invoicer_id, 'payment_methods'), { payment_method_ids }, callback)\r\n\t}\r\n\r\n\tcreate_commerce(data: CommerceData, callback: ApiCallback<{ id: number; code: string }>) {\r\n\t\tthis.post(api('commerce'), data, callback)\r\n\t}\r\n\r\n\tedit_commerce(commerce_id: number, data: CommerceData, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', commerce_id), data, callback)\r\n\t}\r\n\r\n\tactive_commerce(commerce_id: number, data: boolean, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', 'active', commerce_id), { enabled: data }, callback)\r\n\t}\r\n\r\n\tedit_contact_commerce(commerce_id: number, data: UpdateContactCommerceRequest, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', commerce_id, 'contact'), data, callback)\r\n\t}\r\n\r\n\tcreate_user(data: UserData, callback: ApiCallback<{ password: string; user_data: UserDetailed }>) {\r\n\t\tthis.post(api('user'), data, callback)\r\n\t}\r\n\r\n\tedit_user(user_id: number, data: UserData, callback: ApiCallback) {\r\n\t\tthis.post(api('user', user_id), data, callback)\r\n\t}\r\n\r\n\tgenerate_password_user(user_id: number, callback: ApiCallback<{ password: string; user_data: UserDetailed }>) {\r\n\t\tthis.get(api('user', user_id, 'generate_password'), callback)\r\n\t}\r\n\r\n\tcreate_terminal_configuration(data: TerminalConfigurationData, callback: ApiCallback) {\r\n\t\tthis.post(api('terminal_configuration'), data, callback)\r\n\t}\r\n\r\n\tedit_terminal_configuration(configuration_id: number, data: TerminalConfigurationData, callback: ApiCallback) {\r\n\t\tthis.post(api('terminal_configuration', configuration_id), data, callback)\r\n\t}\r\n\r\n\tupdate_deposit_image(commerce_id: number, sequence: number, data: DepositImageData, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', commerce_id, 'deposit', sequence), data, callback)\r\n\t}\r\n\r\n\tregister_deposit(commerce_id: number, data: CommerceDepositData, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', commerce_id, 'deposit'), data, callback)\r\n\t}\r\n\r\n\tdelete_movement(commerce_id: number, sequence: number, callback: ApiCallback) {\r\n\t\tthis.get(api('commerce', commerce_id, 'deposit', sequence, 'delete'), callback)\r\n\t}\r\n\r\n\tregister_adjustment(commerce_id: number, data: OperationAdjustmentData, callback: ApiCallback) {\r\n\t\tthis.post(api('commerce', commerce_id, 'adjustment'), data, callback)\r\n\t}\r\n\r\n\tnullify_transaction(id: string, reason: string, callback: ApiCallback) {\r\n\t\tthis.post(api('transaction', id, 'nullify'), { reason }, callback)\r\n\t}\r\n\r\n\texcecute_close_lote(id: number, callback: ApiCallback) {\r\n\t\tthis.get(api('close', id, 'lot'), callback)\r\n\t}\r\n\r\n\torders(callback: ApiCallback) {\r\n\t\tthis.get(api('order', 'all'), callback)\r\n\t}\r\n\r\n\torder(id: string, callback: ApiCallback) {\r\n\t\tthis.get(api('order', id), callback)\r\n\t}\r\n\r\n\tapply_order_discount(id: string, amount: number, reference: string, observation: string, callback: ApiCallback) {\r\n\t\tthis.post(api('order', id, 'discount'), { amount, reference, observation }, callback)\r\n\t}\r\n\r\n\torder_discounts(callback: ApiCallback) {\r\n\t\tthis.get(api('order', 'discount', 'all'), callback)\r\n\t}\r\n\r\n\tremove_order_discount(id: number, callback: ApiCallback) {\r\n\t\tthis.post(api('order', 'discount', id, 'remove'), null, callback)\r\n\t}\r\n}\r\n\r\nfunction handle_success(url: string, callback: ApiCallback): ApiCallback {\r\n\treturn (response: ApiResponse) => {\r\n\t\tend_loader()\r\n\t\tif (response.succeeded) environment.debug(`response from ${url}:`, response.data)\r\n\t\telse environment.error(`failure from ${url}:`, response.error)\r\n\t\tif (response.error?.code == 'NOT_AUTHENTICATED') router.navigate(['login'])\r\n\t\telse callback(response)\r\n\t}\r\n}\r\n\r\nfunction handle_error(url: string, callback: ApiCallback): (error: HttpErrorResponse) => void {\r\n\treturn (e: HttpErrorResponse) => {\r\n\t\tend_loader()\r\n\t\tconst error = e.error?.error\r\n\t\tif (error) {\r\n\t\t\tenvironment.error(`failure from ${url}:`, error)\r\n\t\t\tif (error.code == 'NOT_AUTHENTICATED') router.navigate(['login'])\r\n\t\t\telse callback(APIError(error))\r\n\t\t} else {\r\n\t\t\tenvironment.error(`error on request to ${url}:`, e)\r\n\t\t\tcallback(\r\n\t\t\t\tAPIError({\r\n\t\t\t\t\tcode: 'UNKNOWN',\r\n\t\t\t\t\tmessage: e.error?.error?.message ?? e.statusText,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction query(obj: { [key: string]: any }): string {\r\n\treturn (\r\n\t\t'?' +\r\n\t\tObject.keys(obj)\r\n\t\t\t.map((k) => `${k}=${obj[k]}`)\r\n\t\t\t.join('&')\r\n\t)\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component } from '@angular/core';\r\nimport { Agency, ClientContract, CommerceInfo, Lot } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { format_date_iso, pad_zeroes } from 'src/app/utilities/utilities';\r\n\r\n@Component({\r\n selector: 'app-closed-lots',\r\n templateUrl: './closed-lots.component.html',\r\n styleUrls: []\r\n})\r\nexport class ClosedLotsComponent {\r\n working = false;\r\n agencies: Agency[];\r\n selected_agency_id: number = 0;\r\n agency_commerces_cache: { [key: number]: CommerceInfo[] } = { };\r\n\r\n agency_commerces: CommerceInfo[];\r\n selected_commerce_id: number = 0;\r\n\r\n date_start: string | Date;\r\n date_end: string;\r\n today: string | Date;\r\n\r\n lots: Lot[] = [];\r\n filter_string: string;\r\n filter_type: number = 0;\r\n\r\n get filtered_lots(): Lot[] {\r\n if (this.filter_type == 0)\r\n return this.lots;\r\n else\r\n return this.lots?.filter(l => this.filter_type == 1? !l.prepaid : l.prepaid);\r\n }\r\n\r\n constructor(private api: DataService, private router:Router) {\r\n const today: Date = new Date(Date.now());\r\n today.setHours(0, 0, 0, 0);\r\n this.today = `${today.getFullYear()}-${pad_zeroes(today.getMonth() + 1)}-${pad_zeroes(today.getDate())}`;\r\n api.agencies(response => {\r\n if (response.succeeded) {\r\n this.agencies = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n this.date_start = this.date_end = this.today;\r\n }\r\n\r\n query() {\r\n this.working = true;\r\n var dia = ((Date.parse(this.date_end.toString()) - Date.parse(this.date_start.toString()))/(1000 * 3600 * 24))\r\n if(dia > 1 && this.selected_commerce_id == 0 && this.selected_agency_id == 0){\r\n error_toast(\"Para consultar un rango de fecha mayo a un dia selecione el un comercio\");\r\n this.working = false;\r\n }else if(dia > 31 && this.selected_agency_id != 0 && this.selected_commerce_id == 0 ){\r\n error_toast(\"ajustar los filtros a un rango de fecha menor o igual a un mes\");\r\n this.working = false;\r\n }\r\n else{\r\n this.api.closed_lots( this.selected_agency_id,this.selected_commerce_id,this.date_start, this.date_end, response => {\r\n this.working = false;\r\n if (response.succeeded) {\r\n this.lots = response.data\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n go(commerce_code: string) {\r\n this.router.navigate(['transactions', 'points-of-sale', commerce_code]);\r\n }\r\n\r\n handle_agency_selection() {\r\n const id = this.selected_agency_id;\r\n const cached_commerces = this.agency_commerces_cache[id];\r\n if (cached_commerces) {\r\n this.agency_commerces = cached_commerces;\r\n } else {\r\n this.api.agency_commerces(id, response => {\r\n if (response.succeeded) {\r\n this.agency_commerces_cache[id] = response.data;\r\n this.agency_commerces = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n\r\n reset(){\r\n this.date_start = this.date_end = this.today.toString();\r\n this.selected_agency_id = this.selected_commerce_id = 0;\r\n this.agency_commerces = [];\r\n }\r\n}\r\n","

Lotes cerrados

\r\n\r\n
\r\n
\r\n
\r\n
Agencia:
\r\n \r\n
\r\n
\r\n
Punto de Venta / Cobrador:
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

Nota:

\r\n

Si desea consultar una fecha igual o menor a un mes, seleccione una Agencia

\r\n

Si desea consultar una fecha igual o mayor a un mes, seleccione un Punto de Venta

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
Modalidad:
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ModalidadLotePunto de VentaCant. Ef.Monto Ef. (RD$)Cant. T.CMonto T.C (RD$)Fecha cierre
{{ lot.prepaid? 'Pre' : 'Pos' }}pago\r\n {{ lot.id }}\r\n {{ lot.commerce?.description }}{{ lot.details[0].number_payments}}$\r\n
{{ lot.details[0].amount_payments | currency:' '}}
\r\n
{{ lot.details[1].number_payments}}$\r\n
{{ lot.details[1].amount_payments | currency:' '}}
\r\n
{{ lot.date_closed | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
\r\n \r\n
\r\n
\r\n","import { Router } from '@angular/router';\r\nimport { Component } from '@angular/core';\r\nimport { LostPaymentAmountDetails, Lot } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\n\r\n@Component({\r\n selector: 'app-open-lots',\r\n templateUrl: './open-lots.component.html',\r\n styleUrls: []\r\n})\r\nexport class OpenLotsComponent {\r\n working = true;\r\n\r\n lots: Lot[];\r\n\r\n filter_string: string;\r\n filter_type: number = 0;\r\n\r\n get filtered_lots(): Lot[] {\r\n let lots = this.lots;\r\n if (this.filter_type !== 0) {\r\n lots = lots.filter(l => this.filter_type == 2? l.prepaid : !l.prepaid);\r\n }\r\n return lots;\r\n }\r\n\r\n constructor(api: DataService, private router:Router) {\r\n api.open_lots(response => {\r\n this.working = false;\r\n if (response.succeeded) {\r\n this.lots = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n\r\n go(commerce_code: string) {\r\n this.router.navigate(['transactions', 'points-of-sale', commerce_code]);\r\n }\r\n}\r\n","

Lotes abiertos

\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
Modalidad:
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ModalidadLotePunto de VentaCant. Ef.Monto Ef. (RD$)Cant. T.CMonto T.C (RD$)Fecha inicio
{{ lot.prepaid? 'Pre' : 'Pos' }}pago\r\n {{ lot.id }}\r\n {{ lot.commerce?.description }}{{ lot.details[0].number_payments}}$\r\n
{{ lot.details[0].amount_payments | currency:' '}}
\r\n
{{ lot.details[1].number_payments}}$\r\n
{{ lot.details[1].amount_payments | currency:' '}}
\r\n
{{ lot.date_opened | date:'dd/MMM/yyyy hh:mm aa':null:'es-DO' }}
\r\n \r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phone'\r\n})\r\nexport class PhonePipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n return value == null || value == ''? \"N/D\": `${value.substring(0,3)}-${value.substring(3,6)}-${value.substring(6,10)}`;\r\n }\r\n\r\n}\r\n","declare global {\r\n interface Array {\r\n distinct(key?: (item: T) => K): T[];\r\n group(key: (item: T) => K): { key: K; items: T[] }[];\r\n }\r\n}\r\n\r\nArray.prototype.distinct ??= function(this: T[], key?: (item: T) => K): T[] {\r\n if (key)\r\n return this.filter((item, index) => {\r\n const k = key(item);\r\n return this.findIndex(i => key(i) == k) === index;\r\n });\r\n return this.filter((item, index) => this.indexOf(item) === index);\r\n}\r\n\r\nArray.prototype.group ??= function(this: T[], key: (item: T) => K): { key: K; items: T[] }[] {\r\n const groups = new Map();\r\n for (let item of this) {\r\n const _key = key(item);\r\n if (groups.has(_key))\r\n groups.get(_key).push(item);\r\n else\r\n groups.set(_key, [item]);\r\n }\r\n return Array.from(groups.entries()).map(([key, items]) => ({ key, items }));\r\n}\r\n\r\nexport {};","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { CommerceConciliationComponent } from './conciliation/commerce-conciliation/commerce-conciliation.component';\r\nimport { ConciliationComponent } from './conciliation/conciliation.component';\r\nimport { PortfolioComponent } from './portfolio/portfolio.component';\r\nimport { UsersComponent } from './users/users.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'users', component: UsersComponent },\r\n { path: 'conciliation', component: ConciliationComponent },\r\n { path: 'conciliation/:id', component: CommerceConciliationComponent },\r\n { path: 'portfolio', component: PortfolioComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class CommerceRoutingModule { }\r\n","import { State } from './../shared/state.shared'\r\nimport { Component } from '@angular/core'\r\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router'\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\r\nimport { DataService } from '../shared/services/data.service'\r\n\r\n@Component({\r\n\tselector: 'app-container',\r\n\ttemplateUrl: './container.component.html',\r\n\tstyleUrls: ['./container.component.less'],\r\n})\r\nexport class ContainerComponent {\r\n\tuser = State.user\r\n\tmenu: MenuItem[] = []\r\n\r\n\tselected_item: MenuItem\r\n\r\n\tapp_state = State\r\n\r\n\tselected(item: MenuItem): boolean {\r\n\t\treturn this.selected_item === item || item.children?.some((i) => this.selected_item === i || i.children?.includes(this.selected_item))\r\n\t}\r\n\r\n\tcurrent_url: string\r\n\tactive(item: MenuItem): boolean {\r\n\t\treturn item.link === this.current_url || item.children?.some((i) => i.link === this.current_url)\r\n\t}\r\n\r\n\tconstructor(private router: Router, api: DataService) {\r\n\t\tif (State.user !== null) {\r\n\t\t\tthis.menu = this.generate_menu\r\n\t\t\tthis.menu = this.generate_menu\r\n\t\t} else this.router.navigateByUrl('/login')\r\n\r\n\t\trouter.events.subscribe((event) => {\r\n\t\t\tif (event instanceof NavigationStart || event instanceof NavigationEnd) this.current_url = event.url\r\n\t\t})\r\n\t}\r\n\r\n\tgo_or_select(item: MenuItem) {\r\n\t\tif (item.link) this.router.navigateByUrl(item.link)\r\n\t\telse if (item.children?.length) {\r\n\t\t\tif (this.selected_item === item) {\r\n\t\t\t\tthis.selected_item = this.menu.includes(item) ? null : this.menu.find((i) => i.children?.includes(item))\r\n\t\t\t} else {\r\n\t\t\t\tthis.selected_item = item\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tlogout() {\r\n\t\tState.clear()\r\n\t\tthis.router.navigate(['login'])\r\n\t}\r\n\r\n\tget generate_menu() {\r\n\t\tvar menu: MenuItem[] = []\r\n\t\tmenu = [{ label: 'Inicio', icon: ['far', 'chart-bar'], link: 'home' }]\r\n\t\tvar options = this.user.permission.filter((x) => x.id == 1 || x.id == 2 || x.id == 4 || x.id == 5 || x.id == 6)\r\n\t\tif (options.length > 0) {\r\n\t\t\tmenu.push({\r\n\t\t\t\tlabel: 'Transacciones',\r\n\t\t\t\ticon: ['far', 'building'],\r\n\t\t\t\tchildren: options.map((x) => {\r\n\t\t\t\t\treturn this.DitionaryOptions[x.id]\r\n\t\t\t\t}),\r\n\t\t\t})\r\n\t\t}\r\n\t\toptions = this.user.permission.filter((x) => x.id == 8 || x.id == 9 || x.id == 10)\r\n\t\tif (options.length > 0) {\r\n\t\t\tmenu.push({\r\n\t\t\t\tlabel: 'Comercios',\r\n\t\t\t\ticon: ['far', 'list-alt'],\r\n\t\t\t\tchildren: options.map((x) => {\r\n\t\t\t\t\treturn this.DitionaryOptions[x.id]\r\n\t\t\t\t}),\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tmenu.push({\r\n\t\t\tlabel: 'Ordenes de pago',\r\n\t\t\ticon: ['far', 'file-alt'],\r\n\t\t\tchildren: [\r\n\t\t\t\t{ label: 'Ordenes', link: '/orders' },\r\n\t\t\t\t{ label: 'Descuentos', link: '/orders/discounts' },\r\n\t\t\t],\r\n\t\t})\r\n\r\n\t\toptions = this.user.permission.filter((x) => x.id == 13 || x.id == 15 || x.id == 17 || x.id == 19 || x.id == 21)\r\n\t\tif (options.length > 0) {\r\n\t\t\tmenu.push({\r\n\t\t\t\tlabel: 'Adm. del Sistema',\r\n\t\t\t\ticon: ['far', 'sun'],\r\n\t\t\t\tchildren: options.map((x) => {\r\n\t\t\t\t\treturn this.DitionaryOptions[x.id]\r\n\t\t\t\t}),\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\treturn menu\r\n\t}\r\n\r\n\tDitionaryOptions: { [id: number]: MenuItem } = {\r\n\t\t1: { label: 'Transacciones por Contrato', link: '/transactions/contracts' },\r\n\t\t2: { label: 'Puntos de Venta', link: '/transactions/points-of-sale' },\r\n\t\t5: { label: 'Lotes Abiertos', link: '/transactions/open-lots' },\r\n\t\t6: { label: 'Lotes Cerrados', link: '/transactions/closed-lots' },\r\n\t\t4: { label: 'Transacciones', link: '/transactions/transactions' },\r\n\t\t8: { label: 'Asignación Comercios', link: '/commerces/users' },\r\n\t\t9: { label: 'Gestión de Comercios', link: '/commerces/conciliation' },\r\n\t\t10: { label: 'Cartera de Cobro', link: '/commerces/portfolio' },\r\n\t\t13: { label: 'Agencias', link: '/admin/agencies' },\r\n\t\t15: { label: 'Facturadores', link: '/admin/invoicers' },\r\n\t\t17: { label: 'Comercios', link: '/admin/commerces' },\r\n\t\t19: { label: 'Usuarios del Sistema', link: '/admin/users' },\r\n\t\t21: {\r\n\t\t\tlabel: 'Configuración de Terminal',\r\n\t\t\tlink: '/admin/terminal-configuration',\r\n\t\t},\r\n\t}\r\n}\r\n\r\ninterface MenuItem {\r\n\tlabel: string\r\n\ticon?: IconProp\r\n\tlink?: string\r\n\tchildren?: MenuItem[]\r\n}\r\n","\r\n
\r\n \r\n
\r\n

GA

\r\n

Gestión de Agencias

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n - {{ child.label }}\r\n \r\n
\r\n
\r\n \r\n
\r\n {{ inner_child.label }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{ app_state.user.username }}
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'table-control'\r\n , template: `\r\n
\r\n Mostrar\r\n \r\n {{ masculine? 'los' : 'las' }} {{ for }}\r\n {{ for }} por página\r\n
\r\n `\r\n , styles: [ '* { color: rgba(0, 0, 0, .75) }' ]\r\n , host: { style: 'display: block' }\r\n })\r\nexport class TableControlComponent {\r\n private _for: string = \"registros\";\r\n get for(): string { return this._for; }\r\n @Input() set for(value) {\r\n TableControl.destroy_controller(value)\r\n this._for = value;\r\n TableControl.when_page_is_set(value, (page, name) => this.handle_page_change(page, name));\r\n TableControl.set_span(this.span, value);\r\n TableControl.set_length(this.source?.length, value);\r\n TableControl.set_page(0, value);\r\n }\r\n\r\n masculine = true;\r\n @Input() set fem(v: string | boolean) {\r\n if (v === '')\r\n v = true;\r\n this.masculine = !v;\r\n }\r\n\r\n spans: number[] = [5, 10, 25, 50];\r\n\r\n private _span: number;\r\n get span(): number { return this._span; }\r\n @Input() set span(value: number) {\r\n value = Number.parseInt(value);\r\n this._span = value;\r\n TableControl.set_span(value, this.for);\r\n }\r\n\r\n private _source: any[];\r\n get source() { return this._source; }\r\n @Input() set source(value) {\r\n this._source = value;\r\n TableControl.set_length(this.filtered_source?.length, this.for);\r\n }\r\n\r\n private _filter_string: string;\r\n get filter() {\r\n const filter = this._filter_string?.trim();\r\n return filter?.length? filter : null;\r\n }\r\n\r\n get filtered_source(): any[] {\r\n const filter_term = this.filter;\r\n if (filter_term)\r\n return filter(this._source, filter_term);\r\n return this._source;\r\n }\r\n\r\n @Input() set filter(value: string) {\r\n this._filter_string = value;\r\n TableControl.set_length(this.filtered_source?.length, this.for);\r\n }\r\n\r\n slice: any[];\r\n @Output() sliced: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n TableControl.when_page_is_set(this.for, (page, name) => this.handle_page_change(page, name));\r\n this.span = this.spans[1];\r\n }\r\n\r\n handle_page_change(page: number, name: string) {\r\n if (name === this.for) {\r\n const index_start = page * this.span;\r\n const index_end = this.span ? (page + 1) * this.span : this.source?.length;\r\n const slice = this.filtered_source?.slice(index_start, index_end);\r\n this.slice = slice;\r\n this.sliced.emit(slice);\r\n }\r\n }\r\n}\r\n\r\nfunction filter(collection: T[], filter_term: string): T[] {\r\n filter_term = filter_term.toLowerCase();\r\n const contains: (obj: T) => boolean = (obj: T) => {\r\n if (obj === undefined || obj === null)\r\n return false;\r\n else if (typeof obj === 'string')\r\n return obj.toLowerCase().includes(filter_term);\r\n else if (typeof obj === 'number')\r\n return obj.toString().includes(filter_term);\r\n else if (typeof obj === 'object') {\r\n if (Array.isArray(obj)) {\r\n return obj.some(contains);\r\n } else {\r\n return Object.values(obj).some(contains);\r\n }\r\n }\r\n return false;\r\n };\r\n return collection?.filter(contains);\r\n}\r\n\r\nexport class TableControl {\r\n private static controllers: { [key: string]: {\r\n span: number,\r\n page: number,\r\n length: number,\r\n\r\n span_callbacks: ((span: number, name: string) => void)[],\r\n length_callbacks: ((length: number, name: string) => void)[]\r\n page_callbacks: ((page: number, name: string) => void)[],\r\n }\r\n } = { };\r\n\r\n private static get_or_create_controller(name: string) {\r\n let controller = this.controllers[name];\r\n if (controller)\r\n return controller;\r\n else {\r\n controller = { page: 0, span: 0, length: 0, page_callbacks: [], span_callbacks: [], length_callbacks: [] };\r\n this.controllers[name] = controller;\r\n return controller;\r\n }\r\n }\r\n\r\n static destroy_controller(name: string) {\r\n this.controllers[name] = null;\r\n }\r\n\r\n static set_span(span: number, name: string) {\r\n span = Number.parseInt(span);\r\n \r\n const controller = this.get_or_create_controller(name);\r\n controller.span = span;\r\n controller.span_callbacks.forEach(callback => callback?.(span, name));\r\n }\r\n\r\n static when_span_is_set(name: string, callback: (span: number, name: string) => void) {\r\n const controller = this.get_or_create_controller(name);\r\n controller.span_callbacks.push(callback);\r\n callback?.(controller.span, name);\r\n }\r\n\r\n static set_page(page: number, name: string) {\r\n const controller = this.get_or_create_controller(name);\r\n controller.page = page;\r\n controller.page_callbacks.forEach(callback => callback?.(page, name));\r\n }\r\n\r\n static when_page_is_set(name: string, callback: (page: number, name: string) => void) {\r\n const controller = this.get_or_create_controller(name);\r\n controller.page_callbacks.push(callback);\r\n callback?.(controller.page, name);\r\n }\r\n\r\n static set_length(length: number, name: string) {\r\n const controller = this.get_or_create_controller(name);\r\n controller.length = length;\r\n controller.length_callbacks.forEach(callback => callback?.(length, name));\r\n }\r\n\r\n static when_length_is_set(name: string, callback: (length: number, name: string) => void) {\r\n const controller = this.get_or_create_controller(name);\r\n controller.length_callbacks.push(callback);\r\n callback?.(controller.length, name);\r\n }\r\n}","import { formatDate } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CommerceDetailed, Transaction } from 'src/app/shared/models/models';\r\nimport { DataService } from 'src/app/shared/services/data.service';\r\nimport { error_toast, success_toast } from 'src/app/utilities/toaster/toaster.utilities';\r\nimport { export_text_file, export_xlsx_file, pad_zeroes, sum, getDates } from 'src/app/utilities/utilities';\r\n\r\nimport '../../../utilities/extensions';\r\n\r\n\r\n@Component({\r\n selector: 'app-point-of-sale',\r\n templateUrl: './point-of-sale.component.html',\r\n styleUrls: ['./point-of-sale.component.less']\r\n})\r\nexport class PointOfSaleComponent {\r\n commerce = {\r\n id: 0,\r\n code: \"\",\r\n name: \"\",\r\n address: \"\",\r\n type: \"\",\r\n enabled: null,\r\n contact_name: \"\",\r\n contact_email: \"\",\r\n contact_phone: \"\",\r\n contact_mobile_phone: \"\",\r\n agency: null,\r\n intermediary: null,\r\n agency_invoicers: null,\r\n };\r\n\r\n start_date: string | Date;\r\n end_date: string | Date;\r\n today: string | Date;\r\n\r\n working = false;\r\n\r\n transactions: Transaction[];\r\n transactionsFilter: Transaction[] = [];\r\n isExtendedTable = false;\r\n\r\n constructor(private router: Router, private api: DataService, active_route: ActivatedRoute) {\r\n const today: Date = new Date(Date.now());\r\n today.setHours(0, 0, 0, 0);\r\n this.today = `${today.getFullYear()}-${pad_zeroes(today.getMonth() + 1)}-${pad_zeroes(today.getDate())}`;\r\n this.start_date = this.end_date = this.today;\r\n\r\n active_route.params.subscribe(params => {\r\n api.commerce_detailed(params.id, response => {\r\n if (response.succeeded) {\r\n this.commerce = response.data;\r\n } else error_toast(response.error.message);\r\n });\r\n });\r\n }\r\n\r\n back() { this.router.navigate(['transactions', 'points-of-sale']) }\r\n\r\n async query_transactions() {\r\n this.working = true;\r\n try {\r\n this.transactions = await this.api.transactions_by_commerce(this.commerce.id, this.start_date, this.end_date);\r\n this.working = false;\r\n } catch (e) {\r\n if (e instanceof Error) {\r\n error_toast(e.message);\r\n this.working = false;\r\n }\r\n }\r\n }\r\n\r\n change_enabled(enabled: boolean) {\r\n //this.working = true;\r\n this.api.active_commerce(this.commerce.id, enabled, response => {\r\n //this.working = false;\r\n if (response.succeeded) {\r\n success_toast('Comercio actualizado');\r\n this.commerce.enabled = enabled;\r\n } else error_toast(response.error.message);\r\n })\r\n }\r\n\r\n exportar_excel() {\r\n // const transactions = this.transactionsFilter.filter(t => t.response.code.endsWith('000') && !t.response.code.includes('C'));;\r\n const filas: (string | number)[][] = [];\r\n var headers: Array = []\r\n\r\n if (this.isExtendedTable) {\r\n headers = [\r\n \"Comercio\",\r\n \"Modalidad\",\r\n \"Tipo\",\r\n \"Cliente\",\r\n \"Monto\",\r\n \"Facturador\",\r\n \"Modo Pago\",\r\n \"Doc. Pago\",\r\n \"Respuesta\",\r\n \"Fecha\",\r\n \"Lote\",\r\n \"Secuencia\",\r\n \"Número Transacción\"\r\n ];\t\r\n } else {\r\n headers = [\r\n \"Comercio\",\r\n \"Modalidad\",\r\n \"Tipo\",\r\n \"Cliente\",\r\n \"Monto\",\r\n \"Facturador\",\r\n \"Modo Pago\",\r\n \"Fecha\",\r\n \"ID transacción\",\r\n \"Estado\",\r\n \"Respuesta\"\r\n ];\t\r\n }\r\n\r\n\r\n this.transactionsFilter.forEach(t => filas.push(this.generarFila(t)));\r\n\r\n export_xlsx_file(this.commerce.name, headers, filas);\r\n }\r\n\r\n generarFila(t: Transaction): (string | number)[] {\r\n var fila: (string | number)[] = [];\r\n\r\n if (this.isExtendedTable) {\r\n fila = [\r\n t.commerce.description,\r\n t.prepaid ? \"PREPAGO\" : \"POSPAGO\",\r\n t.type.description,\r\n t.client,\r\n t.amount,\r\n t.invoicer.description,\r\n t.payment_method.description,\r\n t.payment_document,\r\n t.response.code,\r\n typeof t.date === 'string' ? t.date : formatDate(t.date, 'yyyy-MM-dd HH:mm:ss', 'es-DO'),\r\n t.lot,\r\n t.sequence,\r\n t.id\r\n ];\r\n } else {\r\n fila = [\r\n t.commerce.description,\r\n t.prepaid ? \"PREPAGO\" : \"POSPAGO\",\r\n t.type.description,\r\n t.client,\r\n t.amount,\r\n t.invoicer.description,\r\n t.payment_method.description,\r\n typeof t.date === 'string' ? t.date : formatDate(t.date, 'yyyy-MM-dd HH:mm:ss', 'es-DO'),\r\n t.id,\r\n t.status.id != 3 ? \"EXITOSA\" : \"FALLIDA\",\r\n t.response.code\r\n ];\r\n }\r\n\r\n return fila;\r\n }\r\n\r\n exportar_csv_total() {\r\n const transactions = this.transactionsFilter.filter(t => t.response.code.endsWith('000') && !t.response.code.includes('C'));\r\n const invoicers = transactions.map(t => t.invoicer).distinct(i => i.id);\r\n const filas: (string | number)[][] = [];\r\n\r\n filas.push([this.commerce.name]);\r\n filas.push([\"Pospago\"]);\r\n filas.push(['Dia', ...invoicers.map(i => i.description), 'Total']);\r\n var pospaid_transactions = transactions.filter(t => !t.prepaid);\r\n this.generarFilas(pospaid_transactions.group(t => formatDate(t.date, 'yyyy-MM-dd', 'es-DO')),filas,invoicers);\r\n filas.push([\"\"]);\r\n filas.push([\"Prepago\"]);\r\n filas.push(['Dia', ...invoicers.map(i => i.description), 'Total']);\r\n var prepaid_transactions = transactions.filter(t => t.prepaid);\r\n this.generarFilas(prepaid_transactions.group(t => formatDate(t.date, 'yyyy-MM-dd', 'es-DO')),filas,invoicers);\r\n export_text_file(this.commerce.name + '.csv', 'sep=;\\n' + filas.map(celdas => celdas.map(c => typeof c === 'string'? `\"${c}\"` : c).join(';')).join('\\n'));\r\n }\r\n\r\n generarFilas(daily: { key: string; items: Transaction[];}[],filas:(string | number)[][],invoicers:{id: number; description: string;}[]){\r\n var days = getDates( this.start_date, this.end_date)\r\n\r\n for( let day of days){\r\n var index = daily.find( d => d.key == day)\r\n if( index){\r\n filas.push([\r\n index.key,\r\n ...invoicers.map(i => Number(sum(index.items.filter(t => t.invoicer.id == i.id).map(t => t.amount)).toFixed(2))),\r\n Number(sum(index.items.map(t => t.amount)).toFixed(2))\r\n ]);\r\n }else {\r\n filas.push([\r\n day.toString(),\r\n ...invoicers.map(i => 0),\r\n 0.00])\r\n }\r\n }\r\n }\r\n\r\n GetFilter(transations:Transaction[]){\r\n this.transactionsFilter = transations;\r\n }\r\n\r\n toogleExtendedTable(isExtended: boolean){\r\n this.isExtendedTable = isExtended;\r\n console.log(this.isExtendedTable);\r\n }\r\n\r\n}\r\n","

Punto de Venta

\r\n\r\n
\r\n
\r\n

\r\n \r\n {{ commerce.name }}\r\n

\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n

\r\n \r\n Datos Generales\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Código de comercio:
\r\n
{{ commerce.code }}\r\n
Nombre del contacto:
\r\n
{{ commerce.contact_name }}
\r\n
Dirección:
\r\n
{{ commerce.address }}\r\n
Teléfono del contacto:
\r\n
{{ commerce.contact_phone }}
\r\n
Tipo de comercio:
\r\n
{{ commerce.type === 'FI'? 'Físico' : 'Virtual' }}\r\n
Teléfono móvil del contacto:
\r\n
{{ commerce.contact_mobile_phone }}
\r\n
Activo:
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Agencia:
\r\n
{{ commerce.agency.description }}
\r\n
\r\n \r\n
\r\n

\r\n \r\n Facturadores y métodos de pago\r\n

\r\n\r\n
\r\n
\r\n

{{ agency_invoicer.invoicer.description }}

\r\n
\r\n
- {{ method.description }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n \r\n Transacciones\r\n

\r\n\r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { LoginComponent } from './login/login.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ContainerComponent } from './container/container.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { LotPrintComponent } from './transactions/lot-print/lot-print.component';\r\nimport { DiscountPrintComponent } from './orders/discount-print/discount-print-print.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerComponent,\r\n children: [\r\n { path: '', component: DashboardComponent },\r\n {\r\n path: 'transactions',\r\n loadChildren: () =>\r\n import('./transactions/transactions.module').then(\r\n (m) => m.TransactionsModule\r\n ),\r\n },\r\n {\r\n path: 'commerces',\r\n loadChildren: () =>\r\n import('./commerce/commerce.module').then((m) => m.CommerceModule),\r\n },\r\n {\r\n path: 'admin',\r\n loadChildren: () =>\r\n import('./admin/admin.module').then((m) => m.AdminModule),\r\n },\r\n {\r\n path: 'orders',\r\n loadChildren: () =>\r\n import('./orders/orders.module').then((m) => m.OrdersModule),\r\n },\r\n ],\r\n },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'lot-print', component: LotPrintComponent},\r\n { path: 'discount-print', component: DiscountPrintComponent },\r\n { path: '**', redirectTo: '', pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { ValidationManager, validation, validator } from './../utilities/validator.utilities';\r\nimport { Component } from '@angular/core';\r\nimport { DataService } from '../shared/services/data.service';\r\nimport { error_toast, success_toast } from '../utilities/toaster/toaster.utilities';\r\nimport { Router } from '@angular/router';\r\nimport { State } from '../shared/state.shared';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.less']\r\n})\r\nexport class LoginComponent {\r\n data = {\r\n username: null,\r\n password: null\r\n };\r\n\r\n show_password = false;\r\n fields: ValidationManager;\r\n\r\n constructor(private api: DataService, private router: Router) { }\r\n ngOnInit() {\r\n this.fields = validator({\r\n username: [validation.required],\r\n password: [validation.required]\r\n })\r\n }\r\n\r\n login() {\r\n if (this.fields.all_valid()) {\r\n this.api.login(this.data.username, this.data.password, response => {\r\n if (response.succeeded) {\r\n State.user = response.data.user;\r\n State.auth_token = response.data.token;\r\n success_toast('¡Bienvenido!');\r\n this.router.navigate(['']);\r\n } else error_toast(response.error.message);\r\n });\r\n }\r\n }\r\n}","
\r\n
\r\n

Gestión de Agencias

\r\n
\r\n

Iniciar Sesión

\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
{{ fields.error.username }}
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
{{ fields.error.password }}
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}