{"version":3,"sources":["./src/app/detalles-odonto/detalles-odonto.component.ts","./src/app/detalles-odonto/detalles-odonto.component.html","./src/app/utilidades/demo-animation/demo-animation.component.ts","./src/app/utilidades/carousel/carousel.component.html","./src/app/utilidades/carousel/carousel.component.ts","./src/app/utilidades/animation.ts","./src/app/about/about.component.ts","./src/app/about/about.component.html","./src/app/inicio/inicio.component.ts","./src/app/inicio/inicio.component.html","./src/environments/environment.ts","./src/app/portafolio/portafolio.component.html","./src/app/portafolio/portafolio.component.ts","./src/app/utilidades/alert/alert.component.ts","./src/app/utilidades/alert/alert.component.html","./src/app/master-page/master-page.component.ts","./src/app/master-page/master-page.component.html","./src/app/tecnologias/tecnologias.component.ts","./src/app/tecnologias/tecnologias.component.html","./src/app/detalles-lunchbox/detalles-lunchbox.component.ts","./src/app/detalles-lunchbox/detalles-lunchbox.component.html","./src/app/utilidades/ckeditor/ckeditor.component.ts","./src/app/utilidades/mouse-animation/mouse-animation.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/utilidades/cargar-scripts.service.ts","./src/app/app.module.ts","./src/app/utilidades/alert/alert.model.ts","./src/app/contact/contact.component.ts","./src/app/contact/contact.component.html","./src/app/utilidades/card-custom/card-custom.component.html","./src/app/utilidades/card-custom/card-custom.component.ts","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/utilidades/carousel2/carousel2.component.html","./src/app/utilidades/carousel2/carousel2.component.ts","./src/app/material/material.module.ts","./src/app/detalles-madriguera/detalles-madriguera.component.ts","./src/app/detalles-madriguera/detalles-madriguera.component.html","./src/app/utilidades/alert/alert.service.ts","./src/app/app-routing.module.ts","./src/app/utilidades/parallax/parallax.component.html","./src/app/utilidades/parallax/parallax.component.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { FlatTreeControl } from '@angular/cdk/tree';\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { Router } from '@angular/router';\nimport { TemaNode, IndiceFlatNode } from '../utilidades/tree-model';\n\n@Component({\n selector: 'app-detalles-odonto',\n templateUrl: './detalles-odonto.component.html',\n styleUrls: ['./detalles-odonto.component.css']\n})\n\nexport class DetallesOdontoComponent implements OnInit, OnDestroy {\n\n constructor(private router: Router) { \n \n }\n \n ngOnInit(): void {\n //seteamos en el datosourse del arbol los datosD\n this.dataSource.data = this.INDICE_DATA;\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n volver(){\n this.router.navigate(['portafolio/3/odonto']);\n }\n\n scrollEvent() {\n const position = document.body.getBoundingClientRect().top;\n const btnScroll = document.getElementById(\"scrollBtn\");\n const btnIndice = document.getElementById(\"indiceBtn\");\n //console.log(position);\n if(position < -530){\n btnScroll.hidden = false;\n }else{\n btnScroll.hidden = true;\n }\n\n if(position < -65){\n btnIndice.hidden = false;\n }else{\n btnIndice.hidden = true;\n }\n }\n\n scrollTop(){\n window.scrollTo(0, 0);\n }\n\n @ViewChild('drawer2') sidenav: MatSidenav;\n\n scrollTo(elementId: string){\n //console.log(elementId);\n //obtenemos la posicion del scroll actual\n const scrollActual = window.scrollY;\n\n //obtenemos la posicion del elemento buscado y le restamos 63 del alto del menu y le sumamos el scroll actual que tuviera al momento de presionar el boton\n const scrollY = document.querySelector(elementId).getBoundingClientRect().top -63 +scrollActual;\n\n //nos desplazamos a la posicion dentro del div correspondiente\n window.scrollTo(0, scrollY);\n\n this.sidenav.close();\n\n }\n\n\n\n //cosas para el indice\n INDICE_DATA: TemaNode[] = [\n {\n id: \"#sec1\",\n name: 'Introducción al sistema',\n },\n {\n id: \"#sec2\",\n name: 'Secciones Principales',\n }, \n {\n id: \"\",\n name: 'Usuarios del sistema',\n children: [\n {id: \"#sec3\",name: 'Introducción'},\n {id: \"#sec4\", name: 'SA y Admin'},\n {id: \"#sec5\",name: 'Doctores',},\n {id: \"#sec6\",name: 'Pacientes',},\n ]\n }, \n {\n id: \"\",\n name: 'Administración de clínica',\n children: [\n {id: \"#sec7\",name: 'Introducción'},\n {id: \"#sec8\",name: 'Doctores'},\n {id: \"#sec9\",name: 'Laboratorios'},\n {id: \"#sec10\",name: 'Insumos'},\n {id: \"#sec11\",name: 'Servicios'},\n {id: \"#sec12\",name: 'Impuestos'},\n {id: \"#sec13\",name: 'Historias Clínicas '},\n {id: \"#sec14\",name: 'Caras Dentales'},\n {id: \"#sec15\",name: 'Consultorios'},\n {id: \"#sec16\",name: 'Metodos de pago'},\n {id: \"#sec17\",name: 'Proveedores'},\n ]\n }, \n {\n id: \"\",\n name: 'Secciones para Doctores y Admins',\n children: [\n {id: \"#sec18\",name: 'Introducción'},\n {id: \"\",name: 'Página Inicio Clínica',\n children: [\n {id: \"#sec19\",name: 'Introducción'},\n {id: \"#sec20\",name: 'Reporte de doctores'},\n {id: \"#sec21\",name: 'Reporte de deudores'},\n {id: \"#sec22\",name: 'Reporte de ingresos'},\n {id: \"#sec23\",name: 'Reporte de gastos'},\n {id: \"#sec24\",name: 'Reporte de ganancias'},\n {id: \"#sec25\",name: 'Resumen general'},\n ]\n },\n\n {id: \"\",name: 'Agenda',\n children: [\n {id: \"#sec26\",name: 'Introducción'},\n {id: \"#sec27\",name: 'Agregar cita'},\n {id: \"#sec28\",name: 'Editar cita'},\n {id: \"#sec29\",name: 'Eliminar cita'},\n ]\n },\n {id: \"\",name: 'Pacientes',\n children: [\n {id: \"#sec30\",name: 'Introducción'},\n {id: \"#sec31\",name: 'Agregar paciente'},\n {id: \"#sec32\",name: 'Editar paciente'},\n {id: \"#sec33\",name: 'Eliminar paciente'},\n ]\n },\n {id: \"\",name: 'Historia Clínica',\n children: [\n {id: \"#sec34\",name: 'Introducción'},\n {id: \"#sec38\",name: 'Sesiones Clínicas'},\n {id: \"#sec39\",name: 'Historial de citas'},\n {id: \"#sec40\",name: 'Anamnesis'},\n {id: \"#sec41\",name: 'Anexos de historia'},\n {id: \"#sec42\",name: 'Lista de tratamientos'},\n {id: \"#sec43\",name: 'Trabajos de Laboratorio'},\n {id: \"#sec44\",name: 'Odontograma'},\n {id: \"#sec45\",name: 'Periodontograma'},\n {id: \"#sec46\",name: 'Índice de inflamación'},\n {id: \"#sec47\",name: 'I.H.O.S.'},\n {id: \"#sec48\",name: 'Imágenes'},\n {id: \"#sec49\",name: 'Consultas'},\n ]\n },\n {id: \"#sec56\",name: 'Especialidades'},\n {id: \"#sec57\",name: 'Arancel de clínica'},\n {id: \"#sec58\",name: 'Aranceles de laboratorios'},\n {id: \"#sec59\",name: 'Correo interno'},\n {id: \"#sec60\",name: 'Notificaciones'},\n ]\n }, \n ];\n\n //recibe un nodo y un numero de nivel y determina si es expandible porque si tiene hijos en su array, setea elñ nombre y el nivel\n private _transformer = (node: TemaNode, level: number) => {\n return {\n id: node.id,\n expandable: !!node.children && node.children.length > 0,\n name: node.name,\n level: level,\n };\n }\n\n //encapsula el nivel y si es expansible el nodo\n treeControl = new FlatTreeControl(node => node.level, node => node.expandable);\n\n //normaliza los datos del nodo, nivel, expansion e hijos\n treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);\n\n //encapsula el control de expansion del arbol y los nodos normalizados\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\n\n hasChild = (_: number, node: IndiceFlatNode) => node.expandable;\n\n}\n","
\n\n \n\n
\n\n
\n\n \n
\n\n\n\n\n\n \n \n
\n\n \n
\n

Índice

\n \n \n \n
\n\n \n \n\n \n \n\n \n {{node.name}}\n \n \n\n \n \n \n\n \n \n
\n
\n\n \n \n \n\n \n\n \n
\n \n
\n
\n \"SURSOFT\n
\n
\n
\n\n
\n\n

Proyecto Odonto Integral

\n\n \n
\n \n
\n

\n Este proyecto nació por la necesidad de contar con una aplicación que ofreciera a los administradores y doctores de la clínica, un centrado en la información, tanto en lo referente a el control financiero de esta,\n como del registro de historias clínicas y actividades de los doctores.\n

\n\n

\n Para llevar a cabo el proyecto utilice .Net Core 2.1 en principio la cual recibió actualizaciones a 3.1 y .Net Core 5 en la actualidad, implementando la interfaz de usuario mediante razor pages, MVC, Boostrap y con SQL Server para la persistencia de datos.\n

\n

En este proyecto desarrolle diferentes funcionalidades como:

\n
    \n
  • \n

    \n Historias clínicas: las mismas son totalmente personalizables en cuanto a anamnesis de las mismas.\n

    \n
  • \n\n
  • \n

    \n Funcionalidades para laboratorios con los que se trabaje: en esta se proporciona la posibilidad de registrar los aranceles de los laboratorios y se añade la posibilidad a cada doctor de calificar los trabajos\n entregados, dando una visión general de cuales son los mejor puntuados.\n

    \n
  • \n\n
  • \n

    \n Agenda: se proporciona a los doctores una agenda en la cual se puede sincronizar las citas, ya sea si trabajara en una o varias clínicas de la empresa, de esta manera se evita la superposición de consultas en\n las mismas\n

    \n
  • \n\n
  • \n

    \n Gestión de gastos: se proporciona a administradores la posibilidad de gestionar los servicios, impuestos, insumos y proveedores.\n

    \n
  • \n
  • \n

    \n Aranceles de la clínica: en esta sección se brinda la posibilidad de crear categorías y tratamientos para que los doctores puedan seleccionar en los planes de tratamiento de tal manera que se va generando el\n costo del mismo.\n

    \n
  • \n
  • \n

    \n Resúmenes financieros: se proporciona un dashboard desde el cual se puede acceder a toda la actividad y resúmenes financieros de la clínica como de los doctores en particular, también brindando listas de deudores,\n gastos, ingresos y ganancias.\n

    \n
  • \n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n
\n
\n\n \n
\n
\n\n

Secciones Principales

\n\n
\n

Una vez logueado en el sistema, dependiendo del tipo de usuario, se presentarán varias opciones.

\n

Para Super Admin (SA en adelante), Admins y doctores el sistema desplegara en la pantalla principal como en el menu lateral los enlaces a las clínicas en donde trabaja (img. 1.1). También en el menú horizontal\n tendrá los botones referentes a mails internos del sistema (img. 1.2), calendario de citas (img. 1.3), notificaciones (img. 1.4) y la administración de su cuenta (img. 1.5).

\n

En el caso de los pacientes el sistema mostrará una bienvenida y le dará la opción de acceder a su perfil (img. 2.2) e historia clínica (img. 2.1).

\n

Estas secciones se verán detalladas más adelante.

\n\n
\n \n \"SURSOFT\n \n

Imagen 1

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 2

\n
\n
\n
\n
\n\n \n
\n
\n\n

Usuarios del sistema

\n\n
\n\n

El sistema cuenta con 4 tipos de usuario los cuales son:

\n
    \n
  • \n
  • \n
  • \n
\n\n

Cada uno de ellos tendrá las vistas y opciones que le correspondan según su nivel y que serán descriptas más adelante.

\n
\n\n
\n
\n\n \n
\n
\n\n

Super Admin

\n\n
\n

\n El Super Admin (SA) será el encargado de crear las clínicas del sistema y tendrá acceso a todos los datos de la misma y a realizar cualquier modificación sin restricción.\n

\n

\n Para ello se le dará el enlace en el menú lateral de administración de clínicas (img. 3.1).\n

\n\n

\n En la sección de clínicas del SA se le presentara una lista con las clínicas del sistema (img. 3.2), en donde tendrá la información de cantidad de pacientes (img. 3.7), cantidad de consultorios (img. 3.8) y\n mediante el botón de detalles (img. 3.4) podrá ver los datos básicos de la clínica como los doctores que trabajan en la misma (img. 4)\n

\n\n

\n También tendrá la posibilidad de crear nuevas clínicas (img. 3.3), editar las existentes (img. 3.5) o eliminarlas (img. 3.6).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 3

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 4

\n
\n
\n\n
\n\n

\n Al ingresar en alguna clínica se le presentara un escritorio con información general de la clínica. En caso de ser SA o Admin también dispondrá de una barra extra para el manejo de todas las opciones del sistema.\n

\n\n

\n Cabe destacar que los administradores de clínica solo tienen ese privilegio en aquellas clínicas en donde se le otorgue ese rol, por tanto, un admin de clínica A puede o no ser admin de la B.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 5

\n
\n
\n
\n
\n\n \n
\n
\n\n

Doctores

\n\n
\n\n

\n Los doctores serán ingresados al sistema por los administradores, los cuales deberán confirmar sus cuentas mediante un correo.\n

\n

\n Una vez registrados, podrán ingresar en sus clínicas en donde verán un menú con las opciones de, inicio (img. 6.1), especialidades agenda (img. 6.2), pacientes (img. 6.3), (img. 6.4), arancel de tratamientos (img. 6.5) y aranceles de laboratorios (img. 6.6).\n

\n

\n También se le mostraran los pacientes en tratamiento, sus trabajos de laboratorio enviados y las citas para el día.\n

\n\n

En cuanto a su perfil de usuario, el doctor podrá ver toda su actividad en las diferentes clínicas, tanto como sus datos personales y la posibilidad de cambiar la contraseña de su cuenta (img. 7).

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 6

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 7

\n
\n
\n\n

\n En la sección de pacientes, (img. 8.1), el doctor podra agregar pacientes (img. 8.2), ver sus datos (img. 8.3 ), editar (img. 8.4) los mismos y acceder a su historia clínica (img. 8.5).\n

\n

\n Se notará que el doctor no tendrá la posibilidad de eliminar pacientes por razones de seguridad de la clínica, en caso de agregar un paciente por error deberá ponerse en contacto con un admin de la clínica para proceder\n a la eliminación.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 8

\n
\n
\n
\n
\n\n \n
\n
\n\n

Pacientes

\n\n
\n\n

\n Los pacientes serán agregados al sistema por los doctores o administradores y podrán entenderse en 1 o más clínicas.\n

\n

\n Una vez confirmadas sus cuentas a través del correo electrónico los mismos podrán ver todos los datos de su perfil con los tratamientos recibidos, pendientes, estado de cuenta con pagos entregados, deuda actual y totales, historial de citas y sesiones\n clínicas (img. 9).\n

\n

\n También tendrán la sección de historia clínica, en donde encontraran más detallado sus tratamientos, doctores que lo trataron, índices realizados, Imagenes, preguntas de su historia clínica etc. (img. 10).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 9

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 10

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Administración de clínica

\n\n
\n

Introducción

\n\n

\n La gestión de la clínica esta a cargo de los administradores, lo cuales deberán setear ciertos parámetros para posibilitar el trabajo de los doctores en la misma.\n

\n\n

\n Para ello dispondrán de un menú en el que encontrarán las siguientes opciones:\n

\n\n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 11

\n
\n\n

\n A continuación, se describirán cada una de estas opciones.\n

\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de doctores

\n\n

\n En esta sección se presentará una lista de los doctores de la clínica, en donde podremos agregar nuevos doctores (img. 12.2), ver sus datos (img. 12.4), editarlos (img. 12.5), asignar días de trabajo (img. 12.3) o eliminar (img. 12.6) a los mismos.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 12

\n
\n\n

\n Es particularmente importante en esta sección la asignación de días y horas de trabajo para los doctores, ya que al crear una cita se pedirá en la agenda que se especifique al doctor el cual deberá trabajar en ese\n día y horario.\n

\n\n

Agregar doctor

\n

\n Para agregar un doctor hay dos posibilidades, si el doctor ya trabaja en otra clínica del sistema podremos presionar el botón de agregar desde otra clínica (img. 13.1) y se nos pedirá el mail del doctor, confirmaremos\n y listo ya quedará habilitado para la actual clínica.\n

\n\n

\n La otra opción es agregar todos sus datos, teniendo en cuenta que el mail (img. 13.2) del mismo deberá ser único en el sistema por lo que si el correo ya existe es que el doctor trabaja en otra clínica y deberá usarse la\n opción anterior, también se deberá tener en cuenta el porcentaje de comisión que le cobrará la clínica por trabajar en la misma (img. 13.3).\n

\n\n

\n Para terminar solo se deberá presionar guardar (img. 13.4).\n

\n\n

\n Una vez terminado el registro del doctor, se le enviara un mail (img. 13b) para que confirme su cuenta de correo y se le proporcionara su password inicial generado de manera automática por el sistema.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 13

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 13b

\n
\n
\n\n\n
\n

Editar doctor

\n\n

\n En la edición del doctor podremos cambiar todos los datos excepto el email y el password.\n

\n

\n También podremos seleccionar las especialidades que posea, lo cual ayudara a los demás doctores a la hora de pedir una interconsulta, teniendo claro cual doctor es especialista de lo que necesita.\n

\n

\n Las opciones que aparezcan estarán ligadas a las especialidades que los administradores hayan registrado para la clínica en la sección especifica para ello que veremos más adelante.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 14

\n
\n
\n\n

Diás que atiende

\n\n

\n En esta sección se deberán indicar los días que el doctor atienda y la hora.\n

\n

\n Como se dijo esto es importante ya que de lo contrario el mismo no aparecerá en el calendario a la hora de crear una cita.\n

\n

\n También estará disponible una lista en donde el doctor podrá cancelar un día para que no sea posible asignarle una cita para el mismo. No podrá cancelarse un día que ya posea una cita, para esto se deberá eliminar esa cita\n previamente e informar al paciente.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 15

\n
\n\n

Eliminar doctor

\n\n

\n Para la eliminación de un doctor basta con presionar el botón correspondiente y confirmar la acción.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 16

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de laboratorios

\n\n

\n En esta sección se podrá agregar los laboratorios con los que trabaje la clínica, indicando para cada uno sus aranceles particulares, que servirán a los doctores para el calculo de sus gastos en este rubro.\n

\n

\n Cada doctor podrá incluir una nota al trabajo recibido y esto conformara una puntuación general, la cual los administradores podrán ver para determinar cual es el mejor (img. 17).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 17

\n
\n\n

\n En la lista de laboratorio tendremos la posibilidad de agregar uno nuevo (img. 18.1), editar el arancel (img. 18.2), ver los detalles de los trabajos encargados al mismo (img. 18.3), editarlo (img. 18.4)\n o eliminarlo (img. 18.5).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 18

\n
\n\n

Agregar Laboratorio

\n\n

\n Para agregar un nuevo laboratorio bastara con hacer click en el botón de agregar (img. 18.1), colocar los datos requeridos y presionar en crear (img. 19).\n

\n\n

Editar Laboratorio

\n\n

\n Editar un laboratorio es similar a agregarlo, simplemente presionaremos el botón de editar (img. 18.4) modificaremos los datos y clickearemos en guardar (img. 20).\n

\n\n

Eliminar Laboratorio

\n

\n Para la eliminación presionaremos el botón de eliminar (img. 18.5) y confirmaremos la acción.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 19

\n
\n
\n \n \"SURSOFT\n \n

Imagen 20

\n
\n
\n\n

Editar arancel del Laboratorio

\n\n

\n Para editar el arancel del laboratorio presionaremos el botón de arancel (img. 18.2), esto nos llevara a la pagina donde se nos presentaran las listas del arancel.\n

\n

\n Al agregar una categoría (img. 21.1) su tabla contendrá en el cabezal 3 botones que servirán para:\n

\n
    \n
  • crear un ítem (img. 21.2)
  • \n
  • editar la categoría (img. 21.3)
  • \n
  • eliminar la categoría (img. 21.4)
  • \n
\n

\n A su vez en la tabla de la categoría encontraremos los detalles de cada item y la posibilidad de editarlos (img. 21.5) o eliminarlo (img. 21.6).\n

\n
\n \n \"SURSOFT\n \n

Imagen 21

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de insumos

\n\n

\n En esta sección encontraremos todos los insumos que adquiere la clínica para posibilitar el trabajo en la misma.\n

\n

\n Se nos presentara un gráfico en el que veremos los insumos agregados y los gastos en el año para los mismos (img. 22.1).\n

\n

\n También tendremos una lista donde podremos agregar nuevos insumos (img. 22.2), ver los detalles de compras (img. 22.3), editar el insumo (img. 22.4) o eliminarlo (img. 22.5).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 22

\n
\n\n

Detalles de compras

\n\n

\n Al presionar en los detalles del insumo (img. 22.3) encontraremos un gráfico con las compras del insumo y un promedio ajustado entre la cantidad y el precio de las compras para determinar cómo es la evolución del precio\n (img. 23.1).\n

\n\n

\n También encontraremos una tabla en donde podremos agregar nuevas compras (img. 23.2), editar las agregadas (img. 23.3) o eliminarlas (img. 23.4).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 23

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de servicios

\n\n

\n En la sección de servicios se presentará un gráfico (img. 24.1) en el cual podremos ver los servicios de la clínica en relación con lo pagado por los mismos.\n

\n

\n También tendremos una tarjeta en donde podremos ver los servicios ingresados pero que aún no fueron pagados (img. 24.2).\n

\n

\n Por último, tendremos una tabla en donde podremos agregar nuevos servicios (img. 24.3), ver detalles de los pagos (img. 24.4), editar los servicios (img. 24.5) o eliminarlos (img. 24.6).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 24

\n
\n\n

Detalles de pagos

\n\n

\n En los detalles de pagos encontraremos un grafico (img. 25.1) donde veremos la evolución de los pagos en el tiempo.\n

\n

\n También tendremos una tabla donde podremos agregar (img. 25.2), editar (img. 25.3) o eliminar (img. 25.4) pagos.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 25

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de impuestos

\n\n

\n La sección se podrán ingresar los impuestos que pague la clínica.\n

\n

\n La estructura de esta sección es similar a la de servicios por lo que no repetiremos lo mismo aquí.\n

\n
\n \n \"SURSOFT\n \n

Imagen 26

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de historias clínicas

\n\n

\n En esta sección podremos crear los diferentes tipos de historias clínicas que tendrán disponibles los doctores para realizar las anamnesis.\n

\n

\n Para esto al crear (img. 27.1) una nueva historia se nos pedirá un titulo para la misma y si es un anexo o no (img. 27.2).\n

\n\n

\n Los anexos son aquellas historias complementarias, como por ejemplo los de endodoncia, en las cuales un paciente puede tener varios anexos, uno por cada pieza dental y deberá responder la sintomatología para cada\n uno, al contrario que la historia general que son\n únicas por paciente.\n

\n\n

\n Esta diferenciación se vera reflejada en la pagina del paciente en su historia clínica donde las encontraremos como en la imagen 28.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 27

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 28

\n
\n
\n\n

\n En la sección de historias clínicas del administrador tendremos una tabla en la que podremos agregar, editar o eliminar una plantilla.\n

\n

\n Cabe destacar que en las ediciones se puede convertir una historia clínica general en un anexo, pero no a la inversa, ya que como se dijo antes, si hay varios anexos para un paciente sería incompatible con las generales\n que son únicas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 29

\n
\n\n

Detalles de la historia

\n\n

\n Una vez creada la plantilla de la historia ingresaremos en los detalles en donde se podrá crear el cuestionario (img. 30.1) para la misma.\n

\n

\n Para esto encontraremos un botón para crear cuestionarios (img. 30.1) y debajo una lista con desplegables para cada cuestionario (img. 30.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 30

\n
\n\n

\n Una vez creado un cuestionario, desplegaremos el mismo en la lista y tendremos la posibilidad de editar el titulo del cuestionario o eliminarlo y también podremos crear, editar o eliminar preguntas del mismo.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 31

\n
\n
\n

Las preguntas podrán ser verdadero - falso (img. 33.2) o abiertas para escribir (img. 33.1)

\n

Por defecto se marcan como VF y su visualización en las historias clínicas de los pacientes será como en la imagen 33.

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 32

\n
\n
\n \n \"SURSOFT\n \n

Imagen 33

\n
\n
\n
\n

\n Es importante destacar que cada clínica tendrá sus propias anamnesis de historias clínicas, independiente de si el paciente se atiende en varias al mismo tiempo, por lo que si un paciente responde la anamnesis de la clínica\n A y luego va a la B esas respuestas no estarán disponibles en la B, debido a que la estructura de la anamnesis B podría ser diferente.\n

\n

\n De todos modos, los demás índices como odontogramas, periodontogramas, HIOS, Imagenes, consultas, etc. si estarán disponibles para todas las clínicas donde se atienda el paciente.\n

\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de caras dentales del odontograma

\n\n

\n En esta sección podremos personalizar los estados de las caras dentales que aparecen como opción en los odontogramas (img. 35.1).\n

\n

\n Por defecto siempre existirán los 3 tipos básicos, que se utilizan para la creación de los índices de CPOD o CEOD, los cuales no podrán ser eliminados, pero si se podrán modificar sus colores representativos.\n

\n

\n En cuanto a los nuevos estados, no serán contabilizados para los anteriores índices.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 34

\n
\n
\n \n \"SURSOFT\n \n

Imagen 35 (sección historia clínica paciente)

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de consultorios

\n\n

\n En esta sección podremos agregar la cantidad de consultorios que tengamos disponibles en la clínica.\n

\n

\n Para ello tendremos la tabla donde contaremos con los botones de agregar (img. 36.1), editar (img. 36.2) y eliminar (img. 36.3) los consultorios.\n

\n

\n Los mismos son necesarios para la creación de citas en la agenda y su color será el reflejado en la agenda.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 36

\n
\n
\n \n \"SURSOFT\n \n

Imagen 37 (sección agenda)

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de métodos de pago

\n\n

\n En esta sección podremos agregar los diferentes métodos de pago que se ingresaran por los doctores a la hora de crear una sesión clínica.\n

\n\n

\n Para esto tendremos una tabla con los métodos disponibles (img. 38) los cuales serán mostrados en la creación de sesiones (img. 39).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 38

\n
\n
\n \n \"SURSOFT\n \n

Imagen 39 (sección de sesiones clinicas de pacientes)

\n
\n
\n\n

Como vemos tenemos los botones para agregar (img. 38.1), editar (img. 38.2)o eliminar (img. 38.3) un método de pago y además un botón para especificar la cantidad de cuotas que posea (img. 38.4), si fuera\n necesario.\n

\n\n

\n Si el método tiene cuotas, se ingresaran los días que son requeridos para la acreditación del mismo (img. 40), ya que eso será utilizado a la hora de hacer los cálculos de ganancias de los doctores y por tanto\n de la clínica en cuanto a su porcentaje.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 40

\n
\n\n

\n El botón de detalles del metodo (img. 38.5) nos dará información sobre los pagos que fueron registrados para cada método, pudiendo ser filtrados por fecha, tipo de cobro y doctores.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 41

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Administración de proveedores

\n\n

\n En esta sección se ingresarán todos los proveedores de la clínica, necesarios para el ingreso de compras en las secciones de servicios, impuestos e insumos.\n

\n

\n En la tabla tendremos botones para agregar (img. 42.1), editar (img. 42.2) o eliminar (img. 42.3) a los proveedores, así como un botón de detalles (img. 42.4) donde encontraremos una tabla con los detalles\n de compras o pagos para cada uno.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 42

\n
\n
\n \n \"SURSOFT\n \n

Imagen 43

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Secciones para Doctores y Admins

\n\n
\n

Introducción

\n\n

\n En la página de home de las clínicas encontraremos, un menú que contendrá las opciones generales para doctores y administradores que dará acceso a:\n

\n\n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 44

\n
\n\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Página Inicio Clínica

\n\n

\n En la página de inicio de las clínicas encontraremos un primer sector en el que se mostraran los pacientes que se encuentren en tratamiento (img. 45.1), los trabajos de laboratorio que fueron enviados (img. 45.2) y las citas del día (img. 45.3) que serán específicas para cada doctor.\n

\n

\n Esta seccion estara disponible tanto para administradores como para los doctores de la clínica.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 45

\n
\n\n

\n Luego tendremos una sección solo disponible para administradores en la que se presentara un recordatorio de las facturas sin pagar de la clínica (img. 46.1), una sección con reportes (img. 46.2 que se describirán\n más adelante) donde encontraremos:\n

\n\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 46

\n
\n\n

\n También se dispondrá de una tabla general (img. 47.1) en la que encontraremos los ingresos, gastos y ganancias de la clínica por mes y su gráfico correspondiente (img. 47.2).\n

\n\n

\n Por último, encontraremos un gráfico que nos mostrara los doctores mas activos tomando en cuenta las actividades de sesión que haya tenido cada uno (img. 46.3).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 47

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Reporte de doctores

\n\n

\n En esta sección encontraremos una tabla (img. 48.2) con los datos generales para cada doctor, que podrá ser filtrada por fecha (img. 48.1).\n

\n\n

\n En ella veremos sus ingresos, gastos de laboratorio, comisión que aporta a la clínica y sus ganancias.\n

\n\n

\n Cabe destacar que la comisión de la clínica se cobra a partir de las ganancias del doctor, no de los ingresos, y que las ganancias se producen una vez que en un tratamiento se han cumplido los pagos de trabajos de laboratorio por parte del doctor.\n

\n\n

\n Una vez saldada esa deuda por parte del paciente se comienza a calcular las ganancias , ya que un paciente puede entregarle al doctor un montón insuficiente para los gastos de laboratorio y no se podría cobrarle por un tratamiento\n sin que el mismo tuviera el dinero disponible.\n

\n\n

\n También si queremos profundizar en los detalles de los datos de la tabla podremos hacerlo con el botón correspondiente de detalles (img. 48.3).\n

\n\n

\n Por ultimo se presenta un grafico con las ganancias por mes de todos los doctores (img. 48.4).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 48

\n
\n
\n\n

Detalles de doctor

\n\n

\n Al ingresar a los detalles del doctor tendremos una sección principal en la que veremos un resumen de sus ingresos gastos y ganancias (img. 49.1).\n

\n\n

\n Debajo de esto encontraremos un filtro de fechas (img. 49.2) para la tablas de la pagina y más abajo una primera tabla general de la actividad del doctor (img. 49.3).\n

\n
\n \n \"SURSOFT\n \n

Imagen 49

\n
\n
\n\n

\n Luego encontraremos dos tablas en azul con el detalle de los cobros realizados en las sesiones, una para ingresos facturados (img. 50.1) y otra para los ingresos sin factura (img. 50.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 50

\n
\n
\n\n

\n Siguiendo a las anteriores tablas, encontraremos una de color rojo que mostrara los gastos de laboratorio del doctor (img. 51.1) y una naranja en la que se nos mostraran los trabajos realizados que cobro el doctor,\n pero que sus pagos son retenidos hasta una fecha en concreto según el método de pago que seleccionara (img. 51.2), ya que, si bien ese dinero esta acreditado al doctor, no estaría disponible para él por lo que no se tomaría\n en cuenta como ganancia hasta su liberación.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 51

\n
\n
\n\n

\n Por último, se presenta un gráfico con los ingresos, gastos y ganancias del doctor por mes.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 52

\n
\n
\n
\n
\n\n \n
\n
\n\n
\n

Reporte de deudores

\n\n

\n En esta sección encontraremos una tabla con todos los pacientes que posean una deuda en sus tratamientos con un acceso rápido a sus historias clínicas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 53

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Reporte de ingresos de la clínica

\n\n

\n En esta sección encontraremos un resumen de los ingresos de la clínica, los cuales no deben confundirse con los ingresos de los doctores.\n

\n\n

\n Los ingresos de la clínica son los que provienen del porcentaje que se les cobra a los doctores por trabajar en la misma, los cuales ya vimos que son seteados en la sección de doctores/edición/comisión de la clínica\n .\n

\n\n

\n Primero encontraremos un filtro de fechas (img. 54.1) y seguido a el tendremos un resumen de los ingresos generales (img. 54.2) (todo lo que ingresan como pago los doctores) y los ingresos de la clínica reales (que son los que se calculan por el porcentaje cobrado a los doctores sobre sus ganancias).\n

\n\n

\n Debajo de este resumen general encontraremos una tabla general (img. 54.3) con el detalle de los doctores, similar al de reporte de doctores.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 54

\n
\n
\n

\n Luego de la anterior tabla encontraremos dos mas de color azul, en la que veremos los detalles de ingresos con factura (img. 55.1) y sin factura (img. 55.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 55

\n
\n
\n

\n Por último, tendremos la tabla de trabajos realizados con pagos retenidos (img. 56.1) por el método de pago y un gráfico de ingresos de la clínica (img. 56.2) en la que se pueden ver los ingresos totales y los ingresos\n reales de la clínica.\n

\n
\n
\n \n \"SURSOFT\n \n

Imagen 56

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Reporte de gastos

\n\n

\n En esta sección encontraremos un filtro de fechas (img. 57.1) como siempre, luego un resumen general (img. 57.2) de gastos para insumos, impuestos y servicios junto con un total.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 57

\n
\n
\n

\n Debajo de esto encontraremos las tablas con los detalles de gastos en insumos (img. 57.3), impuestos (img. 58.1), servicios (img. 58.2).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 58

\n
\n\n
\n\n

\n Por último, tendremos un gráfico con los gastos de las 3 categorías por mes (img. 59).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 59

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Reporte de ganancias

\n\n

\n En esta sección encontraremos un filtro de años (img. 60.1) seguido de un resumen general (img. 60.2) de ingresos, gastos y ganancias de la clínica.\n

\n\n

\n Seguido a lo anterior tendremos una tabla general (img. 60.3) en la que veremos las 3 categorías por mes y sus totales.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 60

\n
\n\n

\n Finalmente tendremos un gráfico representando la tabla anterior (img. 61).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 61

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Resumen general

\n\n

\n La última sección de la pagina de inicio de las clínicas es la de reporte general en la que encontraremos simplemente un filtro por fechas (img. 62.1) y la tabla con los datos de ingresos y gastos tanto\n de doctores como de la clínica (img. 62.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 62

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Agenda

\n\n

\n La agenda del sistema se puede acceder tanto desde el menú superior (img. 63.2) como desde el menú de accesos directos (img. 63.1) una vez ingresado a una clínica.\n

\n\n

\n Si el doctor trabaja en más de una clínica al presionar el botón del menú superior se desplegará las agendadas para cada una.\n

\n\n

\n En la agenda encontraremos 3 botones superiores, en los que podremos ver todas las citas del doctor (img. 63.3) loqueado para todas las clínicas, luego encontraremos un acceso rápido a los días de trabajo del doctor\n (img. 63.4) en donde, como ya vimos, el mismo podrá especificar días en lo que no acepte nuevas citas y por último un botón de doctores (img. 63.5) en la que se podrá acceder a una lista con los demás doctores de la clínica\n y sus horarios de trabajo (img. 64) en caso de querer agendar una cita con algún especialista para algún paciente.\n

\n\n

\n Luego tendremos un calendario donde veremos las citas de la clínica y en el cual agregaremos las mismas (img. 63.6).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 63

\n
\n
\n \n \"SURSOFT\n \n

Imagen 64

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n\n

Agregar Cita

\n\n

\n Para agregar una cita presionaremos en algún espacio libre de un día sobre el calendario y se nos llevara al formulario para la misma.\n

\n\n

\n En la página de creación veremos el formulario y una tabla con las citas agendadas para ese día con el horario de inicio y fin de las mismas a modo de ayuda.\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 65

\n
\n
\n \n \"SURSOFT\n \n

Imagen 66

\n
\n
\n
\n

\n En el formulario deberemos indicar el titulo de la cita, el doctor que atiende el cual será seleccionado desde un desplegable que mostrara los nombres y horarios de los que estuvieran disponibles para ese día. Si\n el doctor actual atendiera ese día sera seleccionado por defecto.\n

\n\n

\n También será necesario indicar el consultorio en el cual se atenderá para hacer la reserva del mismo y se proporcionará, de manera automática, el día de la fecha de inicio, al cual deberá el doctor agregarle la hora de la\n cita.\n

\n\n

\n Cabe destacar que si no se proporciona una fecha y hora de fin, se colocara de manera automática la fecha de inicio con una duración de 30 minutos.\n

\n\n

\n El sistema se encargará de controlar todo lo referente a la disponibilidad del doctor al que se le asigna la cita, ya que, si bien puede no tener una cita en ese día para ese horario en esa clínica, si podría tener una cita en ese horario y día en otra.\n

\n\n

\n Una vez agregada la cita se redirigirá al calendario en donde veremos la misma.\n

\n\n

\n Si un doctor agrega una cita para otro, el segundo recibirá una notificación de que otro doctor le agendo una cita (img. 67).\n

\n\n

\n A los pacientes se le enviara un correo electrónico el día antes de la cita para recordarles la misma (img. 68).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 67

\n
\n
\n \n \"SURSOFT\n \n

Imagen 68

\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n\n
\n\n

Editar una Cita

\n\n

\n Para ver los detalles y editar una cita tendremos que dar click en la misma (img. 69.1) y veremos las opciones editar (img. 69.2) y eliminar (img. 69.2).\n

\n\n

\n Cabe destacar que solo el doctor que este marcado en la cita o un administrador podrá editar o eliminar la misma, sin importar quien la creara.\n

\n\n

\n En el formulario de edición notaremos que hay dos opciones nuevas que son falta con aviso y falta sin aviso (img. 70) las cuales ayudaran a valorar el compromiso de los pacientes en cuanto a sus asistencias.\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 69

\n
\n
\n \n \"SURSOFT\n \n

Imagen 70

\n
\n
\n\n\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Eliminar una Cita

\n\n

\n Para eliminar una cita se deberá presionar sobre la misma (img. 71.1), como en editar, y en los detalles seleccionar y confirmar la eliminación (img. 71.2).\n

\n\n

\n Como se dijo anteriormente, solo el doctor de la cita o un administrador pueden eliminar las mismas, en caso de que sea un admin también se notificara al doctor de la eliminación (img. 72).\n

\n\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 71

\n
\n
\n \n \"SURSOFT\n \n

Imagen 72

\n
\n
\n
\n
\n
\n\n \n
\n
\n\n

Pacientes

\n\n
\n\n

\n Esta sección es de las principales del sistema y en ella encontraremos, en su primera página, una tabla con los pacientes de la clínica.\n

\n\n

\n En ella tendremos opciones para agregar (img. 73.1), editar (img. 73.2) o eliminar (img. 73.3) pacientes más un botón para ver los detalles del mismo (img. 73.4) y otro para ver su historia clínica (img. 73.5).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 73

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n\n

Agregar paciente

\n\n

\n Para agregar un paciente haremos click en el botón correspondiente (img. 73.1) y se nos redirigirá al formulario al que llenaremos con los datos del mismo.\n

\n\n

\n Como ocurre en el caso del registro de doctores, aquí también podremos agregar pacientes de otras clínicas (img. 74.1) simplemente ingresando su correo si presionaremos el botón de agregar desde otra clínica.\n

\n\n

\n Cabe destacar que, si llenamos el formulario y lo guardamos, pero el paciente ya se atendía en otra clínica se copiaran los datos ya existentes de todas formas.\n

\n\n

\n Una vez ingresado el paciente al sistema se le enviara un correo electrónico para confirmar su cuenta si lo desea y poder ver su historia (img. 75).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 74

\n
\n
\n \n \"SURSOFT\n \n

Imagen 75

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Editar paciente

\n\n

\n Para editar un paciente haremos click en el botón correspondiente (img. 73.2) y se nos presentara el formulario con los datos basicos editables del mismo (img. 76).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 76

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Eliminar paciente

\n\n

\n Para eliminar un paciente haremos click en el botón correspondiente (img. 77.1) y deberemos confirmar la acción (img. 77.2).\n

\n\n

\n Cabe destacar que, si el paciente se atiende en varias clínicas solo se eliminara el mismo de la clínica actual en la que se está eliminando.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 77

\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Historia Clínica

\n\n
\n\n

\n La página principal de la historia clínica nos presentara 3 secciones principales:\n

\n\n
\n
\n
    \n
  • \n
  • \n
  • \n
\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 78

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n\n

Resumen de Historia

\n\n

\n En la sección de resumen de historia tendremos primero un resumen de los pagos del paciente indicando los pagos realizados (img. 79.1), su deuda actual (img. 79.2) y un total (img. 79.3) de todos\n los tratamientos.\n

\n\n

\n Luego tendremos la sección de(img. 79.4), en donde se registrarán las actividades de cada sesión por parte del doctor y\n donde se ingresarán los pagos del mismo para cada sesión.\n

\n\n

\n A continuación, veremos el(img. 79.5) donde tendremos un panorama del compromiso del paciente con sus tratamientos al asistir\n a las consultas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 79

\n
\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n

Historia clínica

\n\n

\n En la sección de historia clínica encontraremos enlaces para todos los apartados de la misma, los cuales son:\n

\n
    \n
  1. \n estas serán las preguntas generales de la historia clínica.\n
  2. \n
  3. \n aquí encontraremos todos los anexos con sus respectivas preguntas (ejemplo: anexo de endodoncia, anexo RX, anexo periodoncia,\n etc.).\n
  4. \n
  5. \n aquí encontraremos la lista de tratamientos realizados y pendientes del paciente y es donde marcaremos los mismo como\n terminados o no, o rechazados.\n
  6. \n
  7. \n aquí tendremos una lista con los trabajos de laboratorio para el paciente.\n
  8. \n
  9. \n \n
  10. \n
  11. \n \n
  12. \n
  13. \n \n
  14. \n
  15. \n \n
  16. \n
  17. \n \n
  18. \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 80

\n
\n\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n

Consultas

\n\n

\n Por último, encontraremos una tabla con la lista de\n del paciente.\n

\n\n

\n Cabe destacar que, una consulta deberá tener su plan de tratamiento , el cual será referenciado en las sesiones clínicas a la hora de agregarlas y las consultas por tanto será el puntapié inicial.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 81

\n
\n\n

\n Todas las secciones anteriores se describirán a más adelante en profundidad.\n

\n
\n
\n
\n\n \n
\n
\n\n
\n

Sesiones clínicas

\n\n

\n En esta sección encontraremos un resumen general (img. 82.1) de lo abonado por el paciente y luego una tabla con todas las sesiones y actividades que se le realizaron al mismo y que doctor trabajo con él.\n

\n\n

\n Tendremos 3 botones a disposición en la lista que serán de agregar (img. 82.2), editar (img. 82.3) y eliminar (img. 82.4) una sesión.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 82

\n
\n\n

Agregar sesión

\n\n

\n Para agregar una nueva sesión clínica presionaremos el botón de agregar (img. 82.2) y luego completaremos los campos requeridos (img. 83).\n

\n\n

\n Cabe destacar que uno de los requeridos es el plan de tratamiento al cual se refiere la sesión, por tanto, si el doctor no tiene un plan de tratamiento, no se podrá agregar una sesión.\n

\n\n

Editar sesión

\n\n

\n Para editar una sesión presionaremos el botón de editar (img. 82.3) y luego modificaremos los campos y confirmaremos los cambios.\n

\n\n

\n Solo se podrán modificar las sesiones por el doctor que las creo o por un administrador.\n

\n\n

Eliminar sesión

\n\n

\n La eliminación de una sesión clínica está restringida únicamente para administradores por razones de seguridad.\n

\n

\n Para eliminar una sesión simplemente presionaremos el botón correspondiente (img. 85.1) y confirmaremos la acción (img. 85.2).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 83

\n
\n
\n \n \"SURSOFT\n \n

Imagen 84

\n
\n
\n \n \"SURSOFT\n \n

Imagen 85

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Historial de citas

\n\n

\n En esta sección encontraremos un resumen general de las asistencias del paciente a sus citas (img. 86.1) y luego una tabla con el detalle de las mismas.\n

\n

\n También tendremos accesos directos para agregar (img. 86.2), editar (img. 86.3) o eliminar (img. 86.4) una cita, los cuales nos dirigirán a los formularios que vimos anteriormente en la sección de.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 86

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Anamnesis

\n\n

\n Esta sección presentara dos opciones para su ingreso:\n

\n\n
    \n
  • \n Editar: aquí el doctor podrá realizar el cuestionario al paciente registrado las respuestas del mismo (img. 87.1).\n
  • \n
  • \n Resumen: aquí se presentará las respuestas afirmativas del paciente y las preguntas abiertas que tuvieran respuesta (img. 87.2).\n
  • \n
\n\n

\n Si al ingresar en la opción de editar, no encuentra ninguna historia, cuestionario o preguntas deberá dirigirse a la sección depara\n la creación de la misma.\n

\n\n\n
\n \n \"SURSOFT\n \n

Imagen 87

\n
\n\n

Editar Anamnesis

\n\n

\n En la página de editar anamnesis encontraremos un formulario con un menú superior (img. 88.1), en el que podremos seleccionar el tipo de historia clínica (si se dispusiera de más de una en la clínica), luego tendríamos\n un menú lateral (img. 88.2) en el que encontraríamos los cuestionarios de la historia.\n

\n

\n En la parte central se desplegarán las preguntas de cada cuestionario (img. 88.3) y un botón de guardar (img. 88.4).\n

\n

\n Cabe destacar que es posible pasar por todos los cuestionarios registrando las respuestas y al final presionar guardar para persistir los datos o se puede ir presionando el botón cuando sea necesario para un guardado parcial.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 88

\n
\n\n

Resumen de Anamnesis

\n\n

\n En el resumen de la anamnesis encontraremos, como se dijo, todas las preguntas que fueron respondidas como afirmativas por el paciente o que tengan una respuesta abierta contestada.\n

\n

\n Se podrá seleccionar el tipo de historia que nos interese, si la clínica tuviera mas de un formato para la misma (img. 89.1).\n

\n

\n También dispondremos de un botón para exportar las respuestas del paciente a formato pdf (img. 89.2) y poder imprimir el cuestionario para que lo firme el profesional y el paciente (img. 90).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 89

\n
\n
\n \n \"SURSOFT\n \n

Imagen 90 (pdf)

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Anexos de Historia Clínica

\n

\n En esta sección encontraremos todos los anexos agregados por los administradores en la sección de historias clínicas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 91

\n
\n
\n\n

\n Al ingresar se nos presentaran todos los anexos, cada uno con 3 opciones, nuevo (img. 92.1), editar (img. 92.2) y resúmenes (img. 92.3).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 92

\n
\n\n

Agregar un anexo

\n\n

\n Al presionar el botón de nuevo anexo (img. 93.1) se nos pedirá un titulo para el mismo (ej. Pieza 44) y luego se nos desplegaran todos los cuestionarios y preguntas para ese anexo al igual que con la anamnesis general\n (img. 94).\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 93

\n
\n
\n \n \"SURSOFT\n \n

Imagen 94

\n
\n
\n\n

Editar o eliminar un anexo

\n\n

\n Para editar un anexo primero presionaremos en el botón correspondiente (img. 92.2) de el que queremos y luego seleccionaremos el anexo que vamos a editar (img. 95.1).\n

\n

\n Modificaremos lo que corresponda y presionaremos el botón de modificar (img. 95.2).\n

\n

\n También tendremos en el menú lateral, en la parte superior del mismo, un botón para editar el titulo del anexo (img. 95.3) o eliminarlo (img. 95.4).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 95

\n
\n\n

Resúmenes de anexos

\n\n

\n En este apartado, como vimos en el de anamnesis veremos las respuestas afirmativas del paciente y las abiertas que haya respondido el mismo.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 96

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n\n

Lista de tratamientos

\n\n

\n En esta sección veremos en el card principal un resumen de tratamientos pendientes (img. 97.1), realizados (img. 97.2) y rechazados por el paciente (img. 97.3).\n

\n\n

\n Si presionamos el botón de detalles (img. 97.4) podremos modificar cada uno de los tratamientos que hayamos agregado al plan, lo cual veremos más adelante.\n

\n
\n \n \"SURSOFT\n \n

Imagen 97

\n
\n
\n\n

\n Al ingresar en los detalles de los tratamientos veremos dos listas, una con los tratamientos pendientes (img. 98.1) y otra con lo realizados (img. 98.2).\n

\n

\n Si el usuario es un administrador podrá cambiar el precio del tratamiento, por uno diferente al que viene por defecto desde el arancel (img. 98.3).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 98 (Vista administradores)

\n
\n\n

Editar un tratamiento

\n\n

\n Para editar un tratamiento simplemente modificaremos los valores necesarios y presionaremos el botón de edición del mismo (img. 98.4).\n

\n\n

\n En lo referente al estado de “rechazado por el paciente”, lo que realiza el mismo es dejar constancia en la historia clínica que el paciente no quiso realizarse el mismo, a pesar de que el profesional lo recomienda.\n

\n\n

\n El estado aparecerá en el consentimiento informado del paciente el cual se deberá hacer firmar para evitar cualquier tipo de problema legal para el profesional (img. 99).\n

\n\n\n

Eliminar un tratamiento

\n\n

\n Para eliminar un tratamiento bastara con presionar el botón de eliminar y confirmar la acción (img. 98.5). Cabe destacar que la eliminación también esta restringida solo para administradores.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 99

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 100 (Vista de doctores)

\n
\n
\n\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Trabajos de Laboratorio

\n\n

\n En esta sección se podrán ingresar los trabajos de laboratorio para el paciente.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 101

\n
\n
\n\n

\n Al ingresar presionando detalles (img. 101.1) veremos una lista con los datos de los pedidos hechos para el paciente por los doctores (img. 102.1).\n

\n\n

\n También encontraremos un acceso rápido a los aranceles de los laboratorios (img. 102.3) en la página o también podremos acceder a ellos desde el menú superior de accesos rápidos (img. 102.4) que nos proporcionara más posibilidades de filtrado.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 102

\n
\n\n

Agregar trabajo

\n\n

\n Para agregar un nuevo trabajo de laboratorio presionaremos el botón de agregar (img. 102.2) y completaremos los datos.\n

\n

\n Para saber el precio del trabajo, consultaremos el arancel de los laboratorios disponibles (img. 102.3), es importante destacar que este valor será adjudicado como gasto para el doctor y que\n el mismo será deducido luego del costo general del tratamiento.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 103

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 104

\n
\n
\n\n

Editar trabajo

\n\n

\n Al presionar el botón de edición en un trabajo (img. 102.5), iremos al formulario correspondiente, donde podremos hacer las modificaciones necesarias y en donde destaca el estado del trabajo (img. 105.1) y la calificación del mismo (img. 105.2).\n

\n\n

\n Cabe destacar que solo el doctor que creo el trabajo o un administrador pueden modificar al mismo.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 105

\n
\n\n

\n Los estados del trabajo son:\n

\n\n
    \n
  • \n Para enviar:por defecto los trabajos son marcados con este estado.\n
  • \n\n
  • \n Enviado:son aquellos que fueron enviados a los laboratorios, ya sea en primera instancia o sucesivas.\n
  • \n\n
  • \n Recibido:son aquellos que vuelven del laboratorio\n
  • \n\n
  • \n Pagado:en cualquiera de los estados anteriores el trabajo puede estar pagado o no y esto servirá para el calculo de los gastos del doctor.\n
  • \n\n
\n\n

Cada vez que el estado del trabajo cambie, se le informara al doctor de dicho cambio a través de una notificación.

\n\n

\n Las calificaciones serán las que darán a los administradores información sobre cuales son los mejores laboratorios según los doctores y las mismas son:\n

\n\n
    \n
  • Malo
  • \n
  • Regular
  • \n
  • Bueno
  • \n
  • Muy bueno
  • \n
  • Excelente
  • \n
\n
\n \n \"SURSOFT\n \n

Imagen 106 (vista admin en laboratorios)

\n
\n\n

Eliminar trabajo

\n\n

\n Para eliminar un trabajo solo tendremos que presionar el botón de eliminar (img. 107.1) y confirmar la acción (img. 107.2).\n

\n

\n Como siempre, solo el doctor que creo el trabajo o un administrador podrá borrar el mismo.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 107

\n
\n\n

Plantilla para impresión

\n\n

\n Por último, contaremos con un botón para generar un pdf con los datos del pedido y que pueda ser impreso y adjuntado para el envió del trabajo.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 108

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 109 (plantilla pdf)

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Odontograma

\n\n

\n Al ingresar en la sección de odontogramas (img. 110.1) encontraremos dos pestañas superiores en la que tendremos acceso al odontograma para adulto (img. 111.1) y para niños (img. 111.2).\n

\n

\n En ellos encontraremos un primer botón para crear el odontograma inicial (img. 111.3).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 110

\n
\n
\n \n \"SURSOFT\n \n

Imagen 111

\n
\n
\n

\n Una vez creado el inicial tendremos la posibilidad de crear un segundo de control para el paciente (img. 113).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 112 (odontograma adultos)

\n
\n
\n \n \"SURSOFT\n \n

Imagen 113 (odontograma niños)

\n
\n
\n\n

Descripción

\n\n

\n En el odontograma encontraremos en la parte superior tres botones:\n

\n
    \n
  • \n Eliminar: como su nombre indica con este botón podremos eliminar el odontograma (img. 114.1).\n
  • \n
  • \n Marcar todos como perdidos: para evitar marcar uno por uno las piezas como perdidas, en caso de que tengamos un paciente desdentado total podremos usar esta opción (img. 114.2).\n
  • \n
  • \n Desmarcar todos perdidos: hace lo contrario del anterior (img. 114.3).\n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 114

\n
\n\n

\n Luego encontraremos el índice de cariados, perdido y obturados (CPOD, img. 114.1) que se calcula por los estados fundamentales de caras que ya vimos.\n

\n\n

Estado de caras dentales (img. 114.5)

\n\n

\n En cada pieza del odontograma podremos hacer click en sus caras para modificar su estado (img. 115.1) y encontraremos las opciones disponibles para ello (img. 115.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 115

\n
\n\n

Estado de general de piezas (img. 114.6)

\n

\n Si hacemos click sobre el número de la pieza (img. 116.1) podremos colocar una descripción (img. 116.2), cambiar el estado general de la pieza (presente, perdida, ausente img. 116.2) y la movilidad de\n la misma (img. 116.1).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 116

\n
\n\n

Imágenes de piezas (img. 114.7)

\n\n

\n Sobre cada número de pieza encontraremos un botón que nos mostrara las imágenes que hubiera para la misma (img. 117).\n

\n

\n El icono del botón cambiara de color si la pieza tiene imágenes (img. 117.1) o no (img. 117.2).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 117

\n
\n
\n \n \"SURSOFT\n \n

Imagen 118

\n
\n\n
\n\n

Edición de imágenes de piezas

\n\n

\n Al hacer click en los detalles de la pieza (img. 118.1), iremos a la página de imágenes donde encontraremos una tabla y como siempre tendremos tres botones, agregar (img. 119.1), editar (img. 119.2) o eliminar una imagen (img. 119.3).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 119

\n
\n\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n

Periodontograma

\n\n

\n En la sección de periodontogramas podremos crear todos lo que sean necesarios para un paciente.\n

\n

\n La página nos presentara un botón superior para crear uno nuevo (img. 120.1) y sobre cada periodontograma tendremos un botón para eliminar el mismo (img. 120.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 120

\n
\n\n

\n Si hacemos click sobre el número de pieza (img. 120.3) tendremos acceso a las opciones básicas de la misma, donde podremos agregar una descripción (img. 121.1), cambiar el estado de la piza (img. 121.2) y marcar\n si la misma tiene furca o no (img. 121.3).\n

\n

\n Luego sobre cada cara de la pieza(líneas grises img. 120.4) podremos hacer click para indicar el número de medición que hiciera el doctor, el cual iría de 0 a 12 mm (img. 122).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 121

\n
\n
\n \n \"SURSOFT\n \n

Imagen 122

\n
\n
\n
\n

En cuanto a los colores de las caras (img. 123) se guían según la bibliografía con los siguientes niveles:

\n\n
    \n
  • \n 0-3 mm: Normal (negro)\n
  • \n
  • \n 4-6 mm: Bolsa periodontal (Naranja)\n
  • \n
  • \n +6 mm: Bolsa patológica (Rojo)\n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 123

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Índice de inflamación

\n\n

\n En esta sección, al igual que con los periodontogramas, tendremos la posibilidad de crear todos los que necesitemos.\n

\n

\n En la parte superior encontraremos el botón para crear nuevos (img. 124.1) y sobre cada índice encontraremos un botón para eliminar el mismo (img. 124.2) y el índice de sangrado gingival (ISG) (img.\n 124.3) calculado automáticamente según la bibliografía sobre lo que se ingrese en la planilla.\n

\n\n

\n En el índice podremos hacer click sobre el número de las piezas (img. 124.4) para agregar una descripción o modificar el estado de la misma.\n

\n

\n Si hacemos click sobre las caras de las piezas podremos modificar los valores que serán los siguientes:\n

\n\n
    \n
  • \n 0: Ausencia de inflamación.\n
  • \n
  • \n 1: inflamación leve (leve cambio de color y textura)\n
  • \n
  • \n 2: inflamación moderada (brillo moderado, enrojecimiento, edema e hipertrofia, sangrado al sondaje tras espera de 10 seg.).\n
  • \n
  • \n 3: inflamación severa (tendencia al sangrado espontaneo, ulceración).\n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 124

\n
\n\n
\n
\n
\n\n \n
\n
\n\n
\n

Índice de Higiene Oral Simplificado (I.H.O.S.)

\n\n

\n En esta sección encontraremos un botón superior para crear nuevos índices (img. 125.1) y debajo un gráfico con la evolución del paciente (img. 125.2), lo cual facilitara la visualización del progreso del mismo en\n sus hábitos de higiene oral.\n

\n\n

\n En los cuadros de índice tendremos un botón para editar (img. 125.3) y otro para eliminar (img. 125.4).\n

\n

\n Al cambiar los valores (img. 125.5) en el formulario presionaremos editar (img. 125.3) para persistir los cambios.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 125

\n
\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n

Imágenes del paciente

\n\n

\n En esta sección encontraremos todas las imágenes del paciente, para todas las piezas, a modo de galería con la posibilidad de agregar (en caso de no pertenecer a una pieza en particular img. 126.1), editar (img. 126.2) o eliminar (img. 126.3) las mismas de manera sencilla.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 126

\n
\n
\n
\n
\n\n \n
\n
\n\n

\n\n
\n

Consultas

\n\n

\n En la página de historias clínicas, al final de la misma encontraremos la sección de consultas la cual tendrá una tabla con todas las consultas del paciente.\n

\n

\n Cada consulta será el punto inicial de los tratamientos y contendrá un diagnóstico, un pronóstico y un plan de tratamiento que permitirá el agregado de sesiones clínicas y trabajos de laboratorio para la misma.\n

\n

\n En la tabla de consultas tendremos los siguientes botones:\n

\n
    \n
  • \n (img. 127.1)\n
  • \n
  • \n aquí podremos cambiar los datos básicos de la misma (img. 127.5).\n
  • \n
  • \n Este botón estará disponible solo para administradores (img. 127.6).\n
  • \n
  • \n nos mostrara el número de tratamientos del plan creado para esta consulta (img. 127.2).\n
  • \n
  • \n Aquí tendremos una plantilla para la impresión del consentimiento del paciente (img. 127.3).\n
  • \n
  • \n aquí es donde ingresaremos un diagnóstico, pronostico y plan de tratamiento (img. 127.4).\n
  • \n\n
\n

\n A continuación, se describirán en profundidad cada uno de ellos.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 127

\n
\n\n \n
\n

Crear consulta

\n

Para crear una consulta simplemente tendremos que darle al botón correspondiente (img. 128.1) y confirmar la acción (img. 128.2). En este formulario no hay datos requeridos.

\n\n
\n\n \n
\n

Editar consulta

\n\n

Para editar los datos básicos de una consulta solo debemos seleccionar el botón correspondiente (img. 127.5) y realizar los cambios (img. 129).

\n\n\n
\n \n
\n

Eliminar consulta

\n\n

\n La eliminación de las consultas solo las podrá hacer un administrador y para ello simplemente deberá presionar el botón de eliminar (img. 127.6) y confirmar la acción (img. 130.2).\n

\n
\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 128

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 129

\n
\n
\n \n \"SURSOFT\n \n

Imagen 130

\n
\n
\n\n \n
\n

Cantidad de tratamientos

\n\n

\n Este botón es un acceso rápido a la lista de edición de los tratamientos del plan de tratamiento (img. 131.1).\n

\n

\n Cabe destacar que si no tenemos un plan de tratamiento creado este botón arrojara error (img. 131.2).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 131

\n
\n
\n\n \n
\n

Consentimiento informado PDF

\n\n

\n El botón de consentimiento informado (img. 127.3) nos llevara a una plantilla para el mismo.\n

\n\n

\n En la parte superior de la misma encontraremos un botón para crear el pdf de impresión (img. 132.1) y debajo una casilla para marcar si el paciente es menor de edad o especial (img. 132.2), lo cual habilitara\n los campos de representante legal (tutor) y cedula del mismo para la firma del consentimiento (img. 132.3).\n

\n\n

\n Debajo encontraremos los tratamientos agregados al plan de tratamiento con el detalle de si alguno fue rechazado por el paciente (img. 132.4) y el importe de cada uno.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 132

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 133 (pdf creado)

\n
\n
\n\n\n
\n\n \n
\n

Detalles de consulta

\n\n

\n Al ingresar en los detalles de la consulta (img. 127.4) veremos un total del presupuesto (img. 134.1), un botón para exportar a pdf (img. 134.2 y img. 135) y debajo los formularios para crear el diagnóstico (img. 134.3), pronóstico (img. 134.4) y plan de tratamiento (img. 134.5).\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 134

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 135 (pdf presupuesto)

\n
\n
\n
\n

Plan de tratamiento

\n

\n El plan de tratamiento es el más importante, ya que es quien nos dará el valor a pagar por el paciente y es el encargado de permitir el agregado de sesiones clínicas y trabajos de laboratorio .\n

\n\n

\n Es importante que se coloque una descripción (img. 136.1) para el plan de tratamiento ya que esto facilitara la identificación del mismo a la hora de agregar las sesiones clínicas (img. 137) y trabajos de laboratorios\n (img. 138) al plan.\n

\n\n

\n Una vez creado el plan de tratamiento tendremos 3 botones:\n

\n\n
    \n
  • \n Detalles: (img. 136.2) que nos llevará a la página donde agregaremos los tratamientos.\n
  • \n
  • \n Edición: (img. 136.3) que nos permitirá cambiar la descripción del mismo.\n
  • \n
  • \n Eliminación: (img. 136.4) el cual estar disponible solo para administradores.\n
  • \n
\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 136

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 137 (agregado en sección de sesiones clinicas)

\n
\n
\n \n \"SURSOFT\n \n

Imagen 138 (agregado en sección de trabajos de laboratorio)

\n
\n
\n
\n\n\n Detalles del plan de tratamiento\n\n

\n En la página de detalles del plan de tratamiento veremos dos tablas.\n

\n\n

\n Una que contendrá los tratamientos agregados para el paciente (img. 139.1) y otra con los tratamientos disponibles en el arancel de la clínica (img. 139.2).\n

\n\n

\n Al agregar un tratamiento para el paciente podremos incluir una descripción al mismo (img. 139.3) y en caso de ser un administrador se podrá especificar un precio preferencial para el tratamiento\n (img. 139.4).\n

\n\n

\n Al presionar en agregar (img. 139.5) se pasará el seleccionado a la lista de tratamientos del paciente en la que tendremos la posibilidad de editar (img. 139.6) o eliminar el mismo (img. 139.7).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 139

\n
\n\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Especialidades

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 140

\n
\n\n

\n En esta sección los administradores podrán crear las especialidades con las que cuente su clínica para luego poder asignarle a cada doctor las mismas (como se vio en la).\n

\n\n

\n Esto será de utilidad para que los doctores puedan identificar de manera rápida a los especialistas de cada área y hacer las respectivas interconsultas de ser necesario .\n

\n\n

\n En esta página tendremos los siguientes botones:\n

\n\n
    \n
  • \n Agregar especialidad (img. 141.1)\n
  • \n
  • \n Editar especialidad (img. 141.3)\n
  • \n
  • \n Eliminar especialidad (img. 141.4)\n
  • \n
\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 141

\n
\n
\n \n \"SURSOFT\n \n

Imagen 142 (vista de doctor)

\n
\n
\n\n
\n\n

\n Estos 3 botones son exclusivos para administradores\n

\n\n

\n Luego tendremos el botón de detalles (img. 141.2) en el cual se presentarán cada uno de los doctores que posean esa especialidad y sus horarios de trabajo en la clínica.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 143

\n
\n\n
\n
\n
\n\n\n \n
\n
\n\n

Arancel de clínica

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 144

\n
\n\n

\n En esta sección los administradores podrán crear las categorías y los tratamientos a de las mismas por parte de los administradores.\n

\n

\n Para ello tendremos en la parte superior un botón para crear una categoría (img. 145.1) en la que deberemos proporcionar un nombre para la misma.\n

\n

\n Luego se nos presentara la lista para esa categoría en donde encontraremos en el cabezal 3 botones:\n

\n\n
    \n
  • \n Crear tratamiento (img. 145.2)\n
  • \n
  • \n Editar categoría (img. 145.3)\n
  • \n
  • \n Eliminar categoría (img. 145.4)\n
  • \n
\n\n

\n Por último, en cada línea de la tabla correspondiente a un tratamiento tendremos dos botones mas para editar (img. 145.5) y eliminar el tratamiento (img. 145.6) .\n

\n\n\n
\n \n \"SURSOFT\n \n

Imagen 145

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 146 (vista de doctor)

\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Aranceles de laboratorios

\n\n
\n\n

\n En esta sección tendremos una tabla con todos los trabajos que realizan los laboratorios (img. 147.1) y un botón de acceso rápido para acceder a la vista del laboratorio especifico (img. 147.2) si fuera necesario.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 147

\n
\n\n
\n
\n
\n\n \n
\n
\n\n

Correo interno

\n\n
\n\n

\n El correo interno de la aplicación es accesible desde el menú superior. Si tenemos nuevos mensajes los mismos serán marcados en el icono correspondiente.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 148

\n
\n
\n

\n Al ingresar a la sección de correo veremos tres botones superiores:\n

\n\n
    \n
  1. \n Nuevo correo: Aquí podremos enviar correo a los demás doctores ya sea de manera individual o general.\n\n
    \n \n \"SURSOFT\n \n

    Imagen 149

    \n
    \n
  2. \n
  3. \n Recibidos: Esta será la bandeja de entrada donde tendremos todos los correos que nos envían. Al hacer click sobre un mensaje (img. 150.1) se desplegará su contenido en una ventana modal (img. 151).\n\n
    \n \n \"SURSOFT\n \n

    Imagen 150

    \n
    \n\n
    \n \n \"SURSOFT\n \n

    Imagen 151

    \n
    \n
  4. \n
  5. \n Enviados: Esta sección es similar a la de recibidos solo que aquí tendremos los correos enviados.\n\n\n
    \n \n \"SURSOFT\n \n

    Imagen 152

    \n
    \n
  6. \n
\n\n
\n
\n
\n\n \n
\n
\n\n

Notificaciones

\n\n
\n\n

\n Las notificaciones las podremos encontrar en el menú superior (img.153.1) en donde podremos hacer click y ver un detalle de las mismas (img.153.2), al final del desplegable encontraremos un botón de ver todas (img.153.3) el cual no redirigirá a la pagina donde veremos todas las que tuvimos\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 153

\n
\n\n

\n En la página de detalles de las notificaciones tendremos dos botones superiores, uno para marcarlas todas como leídas (img. 154.1) y otro para eliminarlas todas (img. 154.2).\n

\n

\n Luego tendremos una tabla con todas las notificaciones con la posibilidad de marcar cada una como leída o no (img. 154.3), eliminarlas (img. 154.4) o ver sus detalles (img. 154.5).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 154

\n
\n\n
\n
\n
\n\n
\n
","import { Component, Input } from '@angular/core'; \nimport { trigger, state, style, animate, transition, keyframes, group } from '@angular/animations'; \n \n@Component({ \n selector: 'app-demo-animation', \n template: ` \n
\n `, \n styles :[` \n .mybox { \n background-color : #47748f; \n width : 200px; \n height : 200px; \n border-radius : 6px; \n margin : 6rem \n } \n .msgbox { \n margin: 2rem; \n padding-top:2rem; \n font-size: 1.8rem; \n text-align: center; \n } \n `], \n animations: [ \n trigger('changeState', [ \n state('original', style({ \n backgroundColor: '#47748f', \n transform: 'scale(1)' \n })), \n state('basic', style({ \n backgroundColor: '#440000', \n transform: 'scale(1.4)' \n })), \n state('delaying', style({ \n backgroundColor: '#812170', \n transform: 'scale(1.6)' \n })), \n transition('* => basic', animate('800ms')), \n transition('* => original', animate('200ms')), \n transition('* => delaying', animate('800ms 2000ms ease-out')) \n ])] \n}) \n \nexport class DemoAnimationComponent { \n @Input() currentState : string; \n}","
\n\n
    \n
  1. \n
\n\n
\n
\n
\n\n
\n

{{slide.titulo}}

\n

{{slide.descripcion}}

\n
\n
\n
\n
\n\n \n \n \n Anterior\n \n \n \n Siguiente\n \n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.css']\n})\nexport class CarouselComponent implements OnInit {\n\n @Input() carouselId:string =\"\";\n @Input() carHeight:string =\"400px\";\n \n //formato: {slideNumber:0, image: 'assets/carousel/1.jpg', isActive: 'active', titulo: 'Un titulo de slide', descripcion: 'una descripcion'}\n @Input() slides: string[] = [];\n\n carouselTarget: string;\n\n constructor() { }\n\n ngOnInit(): void {\n this.carouselTarget= \"#\" + this.carouselId; \n }\n\n}\n","\r\n import { animate, animation, style } from '@angular/animations'; \r\n \r\n export var slideAnimation = animation([ \r\n style(\r\n { opacity: 0, position: 'fixed', left: 0, right: 0, transform: 'translate3d(0,0,-100%)' }\r\n ), \r\n animate('900ms ease-in-out', \r\n style({ opacity: 1, transform: 'translate3d(0,0,0%)' })\r\n ), \r\n ]) \r\n\r\n export var slide2Animation = animation([ \r\n style(\r\n { opacity: 0, position: 'fixed', left: 0, right: 0, transform: 'translate3d(-100%,0,0)' }\r\n ), \r\n animate('900ms ease-in-out', \r\n style({ opacity: 1, transform: 'translate3d(0%,0,0)' })\r\n ), \r\n ]) \r\n","import { Component, OnInit } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-about',\n templateUrl: './about.component.html',\n styleUrls: ['./about.component.css']\n})\nexport class AboutComponent implements OnInit {\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n\n constructor(private cargarScriptsService: CargarScriptsService) { }\n\n ngOnInit(): void {\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n scrollEvent() {\n const position = document.body.getBoundingClientRect().top;\n const button = document.getElementById(\"scrollBtn\");\n //console.log(position);\n if(position < -408){\n button.hidden = false;\n }else{\n button.hidden = true;\n }\n }\n \n scrollTop(){\n window.scrollTo(0, 0);\n }\n\n}\n","\n\n\n
\n\n
\n
\n

Desarrollador Full stack, diseñador y gamer

\n
\n
\n\n
\n\n
\n \"SUR\n
\n

Mi pasión es el desarrollo de aplicaciones potentes, rápidas, con interfaces intuitivas y de fácil uso, llevando las mejores experiencias a los usuarios.

\n
\n\n \"SUR\n\n
\n\n\n
\n\n
\n

Hola, soy Sebastián. Gracias por visitarme.

\n\n

\n Desde que comencé como desarrollador hace 5 años, he trabajado para diferentes clientes, tanto en el área de desarrollo web como de diseño gráfico, en estrecho contacto con ellos para lograr el mejor ajuste de las soluciones a los requerimientos que presentan.\n Mi curiosidad me lleva a estar en constante aprendizaje y siempre en la búsqueda de aumentar mis conocimientos y habilidades.\n

\n

\"La tarta es una mentira\".

\n
\n
\n\n\n
\n\n
\n\n \n
\n \n

Diseñador

\n
\n\n

Cosas que disfruto del diseño

\n

\n UI, Web, Apps, Logos, Restauraciones fotográficas, Composición de banners publicitarios, realización de manuales, modelado 3D.\n

\n

Herramientas de diseño

\n
\n \n
\n
\n\n \n
\n \"\"\n

Desarrollador front-end

\n
\n

Lenguajes que manejo

\n

\n HTML, CSS, TypeScript, JavaScript, Boostrap.\n

\n

Herramientas de desarrollo

\n
\n \n
\n
\n\n \n
\n \"\"\n

Desarrollador back-end

\n
\n

Tecnologías que utilizo

\n

\n C# 9, Linq, .NET Framework, .NET Core, .NET 5, SQL Server\n

\n

Herramientas de desarrollo

\n
\n \n
\n
\n
\n
\n\n\n
\n
\n

El camino

\n\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n\n

\n Desde los comienzos siempre he avanzado en las tecnologías que utilizo y en la complejidad de los proyectos, para desarrollar mejores soluciones y crecer como profesional. Aquí puedes dar un vistazo parcial a mi evolución como dev.\n

\n
\n\n
\n
\n\n
    \n\n \n
  1. \n
    \n

    Próximos proyectos

    \n

    \n

    \"...\"

    \n

    \n En el futuro esta en espera el desarrollo de una aplicación para el manejo estadístico de equipos de Básquet que ayude a entrenadores y jugadores a mejorar en sus puntos débiles, tanto como equipo, como de manera individual.\n

    \n

    El próximo proyecto también pude ser el tuyo.

    \n
    \n\n\n
  2. \n \n
  3. \n
    \n

    E-Commerce Project

    \n

    \n

    \"...\"

    \n

    \n Actualmente me encuentro en el desarrollo de una aplicación de tipo E-Commerce que sea de fácil utilización para los clientes, fácil administración y totalmente personalizable para cualquier tipo de negocio. Su implementación estará Basada en Angular\n 13 para su Frontend y .NET Core API para el Backend.\n

    \n

    Próximamente habrán más novedades.

    \n
    \n\n\n
  4. \n \n
  5. \n
    \n

    Remake JCU Web

    \n

    \n

    \"...\"

    \n

    \n Desarrollo de aplicación tipo portafolio en donde se implementa un rediseño de la antigua web basada en la tecnología de Blogger pasando a utilizar un fronted en Angular 13 y un backend con .NET Core y C#9.\n

    \n

    \n Ver página Juan Carlos Ualde - Arte\n

    \n
    \n\n\n
  6. \n \n
  7. \n
    \n

    Página Personal SUR Soft

    \n

    \n

    \"...\"

    \n

    Actualización de página personal, incursionando en Angular 11 para su desarrollo y aportando a mi base de conocimiento para la posterior aplicación en nuevos proyectos.

    \n\n

    \n Ir a Inicio SUR Soft\n

    \n
    \n\n
  8. \n \n
  9. \n
    \n

    CTO Lunch Box App

    \n

    \n

    \"...\"

    \n

    Desarrollo de aplicación web de tipo eCommerce para la empresa La Madriguera Libros. En principio la aplicación fue desarrollada para la gestión interna de la empresa (v.1) con la posibilidad de en el futuro ampliar la misma a\n una tienda online (v.2). Tiempo después se desarrollo la expansión web de eCommerce. La misma fue implementada con .Net Core 5, razor pages, MVC, Boostrap, SQL Server para la DB e integración con Mercado Pago para las compras\n online.\n

    \n\n

    \n Ver página La Madriguera Libros\n

    \n

    \n Ver Demo La Madriguera Libros - DEMO\n

    \n
    \n\n
  10. \n \n
  11. \n
    \n

    CTO Odonto Integral App

    \n

    \n\n

    \"...\"

    \n\n

    Desarrollo continuo de aplicación web para la gestión de consultorios odontológicos de la empresa Odonto Integral. La misma requirió el desarrollo para la parte administrativa de las clínicas de individual para cada una y general\n para para el super admin, sumando funcionalidades para historias clínicas de pacientes y página web general. La misma fue desarrollada con .Net Core 2.1 en principio, actualizada a 3.1 y a .Net Core 5 en la actualidad, razor\n pages, MVC, Boostrap y SQL Server para la DB.

    \n\n

    \n Ver Página Odonto Integral\n

    \n

    \n Ver Demo Odonto Integral - DEMO\n

    \n
    \n\n\n
  12. \n \n
  13. \n
    \n

    CTO Lunch Box App

    \n

    \n

    \"...\"

    \n

    Desarrollo de aplicación web para la gestión de la empresa de catering Lucn Box, la cual requeria una parte web para clientes y una parte administrativa para empleados y gerente. La misma fue desarrollada con .Net Core 2.1, C#,\n razor pages, MVC, Boostrap y SQL Server para la DB.

    \n Ver Demo Lunch Box - Catering\n
    \n\n
  14. \n \n
  15. \n
    \n

    Diseño Esqueleto completo 3D

    \n

    \n\n \n\n

    Diseño de todos los huesos del cuerpo humano para la plataforma Sketchfab, realizados con la herramienta Autodesk Maya 3D y Substance Painter.

    \n Ver Colección Sketchfab Diseños 3D\n
    \n\n
  16. \n \n
  17. \n
    \n

    Single Page Application

    \n

    \n

    \"...\"

    \n

    Demo de página empresarial para Domos Argentina, utilizando la tecnología de WordPress.

    \n Ver Demo Domos Argentina Demo\n
    \n\n
  18. \n \n
  19. \n
    \n

    CTO de Página tipo blog

    \n

    \n

    \"...\"

    \n

    Primer actividad Freelance de desarrollo continuo web con la tecnología de Blogger, implementando integraciones con desarrollo de diseños 3D y utilizando herramientas de Google Maps y Google Fotos.\n

    \n Ver Página Juan Carlos Ualde - Arte Bolg\n
    \n\n
  20. \n\n
\n\n
\n
\n\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-inicio',\n templateUrl: './inicio.component.html',\n styleUrls: ['./inicio.component.css']\n})\n\nexport class InicioComponent implements OnInit, OnDestroy {\n\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n \n constructor(private cargarScriptsService: CargarScriptsService) { \n }\n\n ngOnDestroy(): void {\n //console.log('Cleared');\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n ngOnInit(): void {\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n }\n\n scrollEvent() {\n\n const position = document.body.getBoundingClientRect().top;\n const button = document.getElementById(\"scrollBtn\");\n\n if(position < -610){\n button.hidden = false;\n }else{\n button.hidden = true;\n }\n }\n}\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

Te ofrecemos asesoramiento y soluciones para tu empresa a través de:
Proyectos Web, Desarrollo de software, diseño gráfico y 3D

\r\n

5 años de experiencia potenciando empresas, PYMES y proyectos familiares, acercando la tecnología de manera fácil y sencilla, para abrirte la puerta al futuro.

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

Mi propósito

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

Es hacer tu vida más fácil, resolviendo tus problemas y necesidades, acercando la tecnología a tus manos de la mejor manera posible.

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

Analítica

\r\n

Trabajo de forma analítica para lograr los mejores resultados y proporcionarte una solución de visión general que mejore el rumbo de tu empresa.

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

Diseño

\r\n

Utilizo las mejores herramientas para poder brindarte diseños creativos que acompañen tus emprendimientos.

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

Desarrollo

\r\n

Desarrollo de aplicaciones a medida, enfocándonos en tus requerimientos específicos y haciendote la experiencia intuitiva y eficiente.

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

Algunos de mis proyectos

\r\n

Ejemplos de proyectos web y de diseño realizados

\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \"\"\r\n\r\n
","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n captchaSiteKey: \"6LeK7PgbAAAAAAUBADJ472Ib1mJX5elRvxFWRU8B\",\n appDeMailGoogle: \"https://script.google.com/macros/s/AKfycbz4CJEnk3qY3jvsxUO5n9Ig_Gzm8GI6mQz9Wnin/exec\"\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","\n
\n
\n\n \n \n\n \n
\n\n \n
\n\n \n
\n\n \n
\n
\n
\n Diseños Gráficos\n
\n
\n
\n\n
\n \n \n \n
Estos son algunos de los muchos trabajos realizados
\n
\n \n \"SURSOFT\n \n
\n
\n\n \n \n
Estas son mis galerias en sketfab
\n
\n\n \n
\n \n

\n Galeria de\n Miscelaneospor S.Ualde\n

\n
\n\n \n
\n \n

\n Galeria de\n Esculturas J.C. Ualdepor S.Ualde\n

\n
\n\n \n
\n \n

\n Galeria de\n Anatomíapor S.Ualde\n

\n
\n\n\n
\n\n
\n\n \n \n
\n
Estos son algunos de los banners realizados
\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n \n \n
\n
Estos son algunos de las tarjetas realizadas
\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n \n \n
\n
Estos son algunas de las fotos restauradas
\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n \n \n
\n
Estos son algunos de los logos realizados
\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n
\n\n \n
\n \n
\n \n
\n
\n
\n Desarrollos Web\n
\n
\n
\n
\n
\n

\n A continuación, encontraras algunas plantillas de paginas realizadas en Angular 11 y Razor Pages en las cuales he trabajado.\n

\n\n \n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 1

\n
\n \n \n
\n\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 2

\n
\n \n \n
\n\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 3

\n\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 4

\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n \n

Template 5

\n
\n\n \n \n\n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 6

\n\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 7

\n\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 8

\n\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 9

\n\n
\n \n \n
\n
\n\n \n
\n
\n\n \n \"Card\n\n \n
\n\n \n

Template 10

\n\n
\n \n \n
\n
\n
\n\n
\n\n
\n\n \n
\n\n \n
\n
\n
\n Soluciones personalizadas\n
\n
\n
\n\n \n
\n\n \n\n
\n\n \n
\n\n \n

\n En esta sección conocerás más sobre los proyectos que realice, ajustados a los requerimientos de clientes, cubriendo sus necesidades y logrando aplicaciones funcionales para mejorar la organización de sus empresas.\n

\n\n\n \n
\n\n \n \n\n \"SURSOFT\n \n\n \n \n\n \"SURSOFT\n \n\n \n \n\n \"SURSOFT\n \n\n
\n\n\n
\n\n \n
\n \n
\n
\n \"SURSOFT\n
\n
\n
\n

Proyecto Odonto Integral

\n\n \n
\n \n
\n

\n Este proyecto nació por la necesidad de contar con una aplicación que ofreciera a los administradores y doctores de la clínica, un centrado en la información, tanto en lo referente a el control financiero de esta, como del registro de historias clínicas y actividades de los doctores.\n

\n

RESUMEN

\n

\n Para llevar a cabo el proyecto utilice .Net Core 2.1 en principio la cual recibió actualizaciones a 3.1 y .Net Core 5 en la actualidad, implementando la interfaz de usuario mediante razor pages, MVC, Boostrap y con SQL Server para la persistencia de datos.\n

\n

En este proyecto desarrolle diferentes funcionalidades como:

\n
    \n
  • \n

    \n Historias clínicas: las mismas son totalmente personalizables en cuanto a anamnesis de las mismas.\n

    \n
  • \n\n
  • \n

    \n Funcionalidades para laboratorios con los que se trabaje: en esta se proporciona la posibilidad de registrar los aranceles de los laboratorios y se añade la posibilidad a cada doctor de calificar los\n trabajos entregados, dando una visión general de cuales son los mejor puntuados.\n

    \n
  • \n\n
  • \n

    \n Agenda: se proporciona a los doctores una agenda en la cual se puede sincronizar las citas, ya sea si trabajara en una o varias clínicas de la empresa, de esta manera se evita la superposición de consultas\n en las mismas\n

    \n
  • \n\n
  • \n

    \n Gestión de gastos: se proporciona a administradores la posibilidad de gestionar los servicios, impuestos, insumos y proveedores.\n

    \n
  • \n
  • \n

    \n Aranceles de la clínica: en esta sección se brinda la posibilidad de crear categorías y tratamientos para que los doctores puedan seleccionar en los planes de tratamiento de tal manera que se va generando\n el costo del mismo.\n

    \n
  • \n
  • \n

    \n Resúmenes financieros: se proporciona un dashboard desde el cual se puede acceder a toda la actividad y resúmenes financieros de la clínica como de los doctores en particular, también brindando listas\n de deudores, gastos, ingresos y ganancias.\n

    \n
  • \n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n\n \n
\n \n
\n \n

\n Si quieres profundizar más puedes hacerlo aquí…\n \n\n

\n
\n \n
\n \n

\n Si quieres probar la demo, solicítame un usuario de pruebas e ingresa a la página de demo siguiente…\n\n \n VER DEMO\n \n\n

\n
\n
\n
\n\n \n
\n \n
\n
\n \"SURSOFT\n
\n
\n
\n

Proyecto La Madriguera Libros

\n\n \n
\n\n \n
\n\n

\n La aplicación de lamadrigueralibros.com fue desarrollada originalmente como una herramienta de gestión para el manejo interno de la empresa, posteriormente el cliente solicito una expansión de la misma, en donde\n se pudiera incorporar una funcionalidad de tipo e-Commerce y el agregado de una nueva categoría (juegos de mesa) con integración a Mercado Pago para la recepción de los pagos.\n

\n\n

RESUMEN

\n

\n Para llevar a cabo el proyecto utilice .Net Core 5, razor pages, MVC, Boostrap, SQL Server para la DB e integración con Mercado Pago para las compras online.\n

\n

En este proyecto se ofrecen las siguientes funcionalidades:

\n
    \n
  • Control de usuarios y proveedores
  • \n
  • Agilización de las tareas de control de stock libros, Cds y juegos de mesa
  • \n
  • CRUD para gestión de catálogos masivos
  • \n
  • CRUD para post de la página principal
  • \n
  • Marcado de precios de los productos a través de códigos QR
  • \n
  • Administración de ventas
  • \n
  • Carrito de compras integrado a Mercado Pago
  • \n
  • Reportes de:\n
      \n
    • Artículos más vendidos
    • \n
    • Cantidad de ventas
    • \n
    • Recaudación de la empresa
    • \n
    • Ventas por proveedor
    • \n
    • Comparación de ventas Online vs Local
    • \n
    • Resumen de ganancias
    • \n
    \n
  • \n\n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n\n \n
\n \n
\n \n

\n Si quieres profundizar más sobre este proyecto puedes hacerlo aquí…\n\n \n\n

\n
\n \n
\n \n

\n Si quieres probar la demo, solicítame un usuario de pruebas e ingresa a la página de demo siguiente…\n\n \n VER DEMO\n \n\n

\n
\n
\n
\n\n \n
\n \n
\n
\n \"SURSOFT\n
\n
\n
\n

Proyecto Lunch Box Catering

\n\n \n
\n\n \n
\n\n

\n La aplicación de Lunch Box fue diseñada según los requerimientos del cliente, para el manejo interno de la empresa mejorando la organización de la misma y brindando la oportunidad de llevar una administración clara de todos los aspectos que la componian.\n

\n\n

RESUMEN

\n

\n Este proyecto fue desarrollado en .Net Core 2.1, C#, razor pages, MVC, Boostrap y SQL Server para la DB.\n

\n

Este desarrollo conto con las siguientes funcionalidades:

\n
    \n
  • Recepción de pedidos online
  • \n
  • Control de productividad de los empleados
  • \n
  • Creación de presupuestos: los administradores podian crear presupuestos para eventos los cuales proporcionaban cantidades y gastos para la confección de los mismos
  • \n
  • Control de stock: tanto para la materia prima utilizada en la confección de los productos, como de los producto ya elaborados.
  • \n
  • Marcado de precios de los productos a través de códigos QR
  • \n
  • Recetario: aqui se proporcionaban, cantidades, ingredientes y descripción de preparación para los productos y según lo indicado en las mismas el stock de ingredientes era modificado.
  • \n
  • Control de insumos y servicios
  • \n
  • Control de proveedores
  • \n
  • Manejo de pedidos: control en el que confluian tanto pedidos online como para presupuestos.
  • \n
  • Check List para ingredientes de presupuestos
  • \n
  • Reportes de:\n
      \n
    • Resumen general financiero
    • \n
    • Productos más vendidos
    • \n
    • Productos más pedidos en eventos
    • \n
    • Productividad de empleados
    • \n
    • Ventas por mes
    • \n
    • Opiniones de usuarios
    • \n
    \n
  • \n\n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n\n \n
\n \n
\n \n

\n Si quieres profundizar más sobre este proyecto puedes hacerlo aquí…\n\n \n\n

\n
\n \n
\n \n

\n Si quieres probar la demo, solicítame un usuario de pruebas e ingresa a la página de demo siguiente…\n\n \n VER DEMO\n \n\n

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CargarScriptsService, ScriptModel } from '../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-portafolio',\n templateUrl: './portafolio.component.html',\n styleUrls: ['./portafolio.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PortafolioComponent implements OnInit, OnDestroy{\n\n isDisenioActivo: string = \"\";\n isWebActivo: string =\"\";\n isPersonalizadasActivo: string=\"\";\n \n constructor(private cargarScriptsService: CargarScriptsService,private route: ActivatedRoute, private router: Router) { }\n\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n \n ngOnInit(): void {\n document.getElementById(\"div1\").addEventListener(\"scroll\",this.scrollEvent,true );\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n this.seleccionarTabActivo();\n this.cargarImagenes();\n\n }\n\n ngOnDestroy(): void {\n document.getElementById(\"div1\").removeEventListener(\"scroll\",this.scrollEvent,true ); \n }\n\n navegarAPagina(pagina:string){\n this.router.navigate(['/'+pagina]);\n }\n\n scrollEvent(){\n const position = document.getElementById(\"div1\").scrollTop;\n const button = document.getElementById(\"scrollBtn\");\n\n //console.log(position);\n\n if(position > 408){\n //console.log(\"mayor a 408\");\n button.hidden = false;\n }else{\n button.hidden = true;\n }\n }\n \n scrollTop(){\n document.getElementById(\"div1\").scrollTop = 0;\n }\n\n scrollTo(elementId: string){\n\n //si la pantalla es redimensionada se toma el scroll hasta llegar a los botones de navegacion y se los suma a la posicion de Y para compensar\n const scrollActual = document.getElementById(\"div1\").scrollTop;\n\n //obtenemos la posicion del elemento y le restamos 63 del menu horizontal y le sumamos el posible scroll que haya hecho el usuario\n var posY = document.querySelector(elementId).getBoundingClientRect().top -63 + scrollActual;\n\n //nos desplazamos a la posicion dentro del div correspondiente\n document.getElementById(\"div1\").scrollTop = posY;\n }\n\n seleccionarTabActivo(){\n var tabActivo = this.route.snapshot.paramMap.get(\"tabActivo\");\n\n switch (tabActivo){\n case \"1\":\n this.isDisenioActivo = \"show active\"; \n break;\n case \"2\":\n this.isWebActivo =\"show active\";\n break;\n case \"3\":\n this.isPersonalizadasActivo =\"show active\"\n break;\n default:\n this.isDisenioActivo = \"show active\";\n break;\n }\n \n //periodo de tiempo para que se cargue y se seleccione el tab correspondiente, sino no se hace click\n var seleccionado = this.route.snapshot.paramMap.get(\"seleccionado\")+\"Go\";\n\n if(seleccionado != \"nullGo\"){\n setTimeout(function () {\n document.getElementById(seleccionado).click();\n }, 100);\n }\n \n }\n\n //#region diseños graficos\n\n imagenesTodas: any[] = [];\n imagenesDeBanners: any[] = [];\n imagenesDeTarjetas: any[] = [];\n imagenesDeRestauraciones: any[] = [];\n imagenesDeLogos: any[] = [];\n\n cargarImagenes(){\n this.cargarLista(this.imagenesDeBanners, 53, \"banners\");\n this.cargarLista(this.imagenesDeTarjetas, 21, \"tarjetas\");\n this.cargarLista(this.imagenesDeRestauraciones, 12, \"rest-fotos\");\n this.cargarLista(this.imagenesDeLogos, 26, \"logos\");\n this.cargarImgTodas();\n }\n\n cargarLista(lista:any[], numItems:number, capeta:string){\n for (let i = 1; i < numItems; i++) {\n lista.push({src:`assets/images/disenios/${capeta}/${i}.jpg`, descripcion:''});\n }\n }\n\n cargarImgTodas(){\n this.imagenesTodas.push({src:\"assets/images/disenios/tri.jpg\", descripcion:''});\n this.imagenesTodas.push({src:\"assets/images/disenios/luciana.jpg\", descripcion:''});\n this.imagenesTodas.push.apply(this.imagenesTodas, this.imagenesDeBanners);\n this.imagenesTodas.push.apply(this.imagenesTodas,this.imagenesDeTarjetas);\n this.imagenesTodas.push.apply(this.imagenesTodas,this.imagenesDeRestauraciones);\n this.imagenesTodas.push.apply(this.imagenesTodas,this.imagenesDeLogos);\n }\n\n //#endregion\n \n}\n","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\nimport { Alert, AlertType } from './alert.model';\nimport { AlertService } from './alert.service';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css']\n})\n\n\nexport class AlertComponent implements OnInit, OnDestroy {\n\n @Input() id = 'default-alert';\n @Input() fade = true;\n\n alerts: Alert[] = [];\n alertSubscription: Subscription;\n routeSubscription: Subscription;\n\n constructor(private router: Router, private alertService: AlertService) { }\n\n ngOnInit() {\n // subscribe to new alert notifications\n this.alertSubscription = this.alertService.onAlert(this.id)\n .subscribe(alert => {\n // clear alerts when an empty alert is received\n if (!alert.message) {\n // filter out alerts without 'keepAfterRouteChange' flag\n this.alerts = this.alerts.filter(x => x.keepAfterRouteChange);\n\n // remove 'keepAfterRouteChange' flag on the rest\n this.alerts.forEach(x => delete x.keepAfterRouteChange);\n return;\n }\n\n // add alert to array\n this.alerts.push(alert);\n\n // auto close alert if required\n if (alert.autoClose) {\n setTimeout(() => this.removeAlert(alert), 10000);\n }\n });\n\n // clear alerts on location change\n this.routeSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.alertService.clear(this.id);\n }\n });\n }\n\n ngOnDestroy() {\n // unsubscribe to avoid memory leaks\n this.alertSubscription.unsubscribe();\n this.routeSubscription.unsubscribe();\n }\n\n removeAlert(alert: Alert) {\n // check if already removed to prevent error on auto close\n if (!this.alerts.includes(alert)) return;\n\n if (this.fade) {\n // fade out alert\n this.alerts.find(x => x === alert).fade = true;\n\n // remove alert after faded out\n setTimeout(() => {\n this.alerts = this.alerts.filter(x => x !== alert);\n }, 250);\n } else {\n // remove alert\n this.alerts = this.alerts.filter(x => x !== alert);\n }\n }\n\n cssClass(alert: Alert) {\n if (!alert) return;\n\n const classes = ['alert', 'alert-dismissable'];\n \n const alertTypeClass = {\n [AlertType.Success]: 'alert-success',\n [AlertType.Error]: 'alert-danger',\n [AlertType.Info]: 'alert-info',\n [AlertType.Warning]: 'alert-warning'\n }\n\n classes.push(alertTypeClass[alert.type]);\n\n if (alert.fade) {\n classes.push('fade');\n }\n\n return classes.join(' ');\n }\n\n}\n","
\n ×\n \n
","import { EventEmitter } from '@angular/core';\nimport { ViewChild } from '@angular/core';\nimport { Component, OnInit,ViewEncapsulation } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav'; \nimport { trigger, transition } from '@angular/animations'; \nimport { slideAnimation } from '../utilidades/animation';\nimport * as AOS from 'aos';\n@Component({\n selector: 'app-master-page',\n templateUrl: './master-page.component.html',\n styleUrls: ['./master-page.component.css'], \n encapsulation: ViewEncapsulation.None, \n animations: [ \n trigger('routerAnimations', [ \n transition('* => *', slideAnimation) \n ]) \n ] \n})\n\nexport class MasterPageComponent implements OnInit{\n\n constructor() { }\n\n ngOnInit(): void {\n AOS.init();\n \n }\n\n public prepareRouteTransition(outlet): Animation { \n const animation = outlet.activatedRouteData['animation'] || {}; \n return animation['value'] || null; \n } \n\n sidenavToggle = new EventEmitter();\n @ViewChild('drawer') sidenav: MatSidenav;\n seleccionado: string;\n \n cerrar() {\n this.sidenav.close();\n }\n\n}\n","\n\n \n \n \n
\n INICIO \n
\n\n
\n TECNOLOGIAS\n
\n \n
\n PORTAFOLIO\n
\n\n
\n SOBRE MI\n
\n\n
\n CONTACTO\n
\n \n
\n
\n\n \n \n\n \n \n
\n \n \"SUR-Soft\n \n
\n\n \n
\n \n \n \n \n\n
\n SOBRE MI\n
\n\n
\n CONTACTO\n
\n \n\n
\n\n \n
\n \n
\n\n
\n\n \n
\n \n\n \n
\n\n \n \n\n
\n\n
\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-tecnologias',\n templateUrl: './tecnologias.component.html',\n styleUrls: ['./tecnologias.component.css']\n})\nexport class TecnologiasComponent implements OnInit, OnDestroy {\n\n constructor(private cargarScriptsService: CargarScriptsService) { }\n\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n\n ngOnInit(): void {\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n scrollEvent() {\n\n const position = document.body.getBoundingClientRect().top;\n const button = document.getElementById(\"scrollBtn\");\n //console.log(position);\n if(position < -530){\n button.hidden = false;\n }else{\n button.hidden = true;\n }\n }\n \n scrollTop(){\n window.scrollTo(0, 0);\n }\n\n scrollTo(elementId: string){\n\n //obtenemos la posicion del scroll actual\n const scrollActual = window.scrollY;\n\n //obtenemos la posicion del elemento buscado y le restamos 63 del alto del menu y le sumamos el scroll actual que tuviera al momento de presionar el boton\n const scrollY = document.querySelector(elementId).getBoundingClientRect().top -63 +scrollActual;\n\n //nos desplazamos a la posicion dentro del div correspondiente\n window.scrollTo(0, scrollY);\n\n }\n\n}\n","\n\n
\n \n
\n \n
\n\n \n\n
\n\n\n
\n
\n

\n Conoce un poco más sobre algunas de las tecnologías y herramientas que utilizo en mis proyectos, para ofrecerte el mejor resultado al materializar tus ideas.\n

\n
\n\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n\n \n
\n\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n \n
\n \n \"SURSOFT\n \n
\n
\n\n \n
\n \n \n
\n\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n
\n

.NET Framework

\n\n

\n .NET Framework es una tecnología que admite la creación y ejecución de servicios web y aplicaciones Windows. El diseño de .NET Framework está enfocado a cumplir los objetivos siguientes:\n

\n\n
    \n
  • \n

    \n Proporcionar un entorno de programación orientada a objetos coherente en el que el código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma local pero distribuida en Internet o ejecutar de\n forma remota.\n

    \n
  • \n\n
  • \n

    \n Proporcionar un entorno de ejecución de código que:\n

    \n
      \n
    • \n Minimice los conflictos de implementación de software y control de versiones.\n
    • \n
    • \n Fomente la ejecución segura de código, incluso del creado por terceros desconocidos o que no son de plena confianza.\n
    • \n
    • \n

      \n Elimine los problemas de rendimiento de los entornos con scripts o interpretados.\n

      \n
    • \n
    \n
  • \n\n
  • \n

    \n Ofrecer al desarrollador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en web.\n

    \n
  • \n\n
  • \n Basar toda la comunicación en estándares del sector para garantizar que el código basado en .NET Framework se integre con otro código.\n
  • \n
\n\n
\n \n \"\"\n \n
\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n
\n\n

.NET Core

\n

\n .NET Core es la plataforma de desarrollo de Microsoft más moderna, de código fuente abierto, multiplataforma y de alto rendimiento para la creación de todo tipo de aplicaciones.\n

\n

Arquitectura de .NET Core

\n

\n Esta arquitectura modular permite que podamos incluir únicamente lo necesario que requieren nuestras aplicaciones, haciendo que tengan un peso menor a la hora de ser desplegadas y que sea más sencilla su actualización a través de updates de NuGet.\n

\n

\n Al ser multiplataforma, no depende de cosas específicas del sistema operativo, como sucede con el .NET Framework.\n

\n\n

¿Para qué usamos .NET Core?

\n\n

\n .NET Core nos permite realizar todo tipo de aplicaciones, como aplicaciones web que podrás desplegar en Windows, Linux, Mac Os.\n

\n

\n Podrás desplegar tus aplicaciones en distintas plataformas Cloud como Azure, Amazon, GCP, en particular utilizo smarterasp que ofrece una exelente realción calida\n precio para nuestros clientes.\n

\n

\n Se puede utilizar para crear aplicaciones de escritorio UWP que permitirá correr tu aplicación en Windows 10, XBOX y HoloLens compartiendo el código.\n

\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n
\n\n

.NET 5

\n

\n .NET 5 es la unificación de .NET Framework, .NET Core y Mono en una sola plataforma de desarrollo multiplataforma.\n

\n

\n Esta evolución de .NET Core contará con una sola biblioteca de clases basada en .NET Standard, herramientas unificadas. Además, .NET 5 contará con la posibilidad de interoperar con código escrito en otros lenguajes,\n como Java o Swift.\n

\n

\n .NET 5 será la plataforma de desarrollo para la construcción de todo tipo de aplicaciones.\n

\n

\n Podremos crear aplicaciones multiplataforma como aplicaciones y servicios web, escritorio, juegos, aplicaciones cloud y móviles.\n

\n\n
\n \n \"\"\n \n
\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n

C# 9

\n

\n Con cada nueva versión de C# se está intentando una mayor claridad y simplicidad en los escenarios comunes de codificación, y C# 9.0 no es una excepción.\n C# (léase C Sharp), es una evolución que Microsoft realizó de este lenguaje, tomando lo mejor de los lenguajes C y C++, y ha continuado añadiéndole funcionalidades hasta llevar a la version actual que es la 9.\n Es un\n lenguaje orientado a objetos y con el tiempo adaptó las facilidades de la creación de código que tenía otros lenguajes, haciéndolo muy polivalente y fácil de aprender, sin perder ni un ápice de la potencia original de\n C. En la versión de .NET Core, se ha reconstruido por completo su compilador, haciendo las aplicaciones un 600% más rápidas.\n

\n\n

Caracteristicas

\n\n
    \n
  • \n Sencillez\n
  • \n
  • \n Modernidad\n
  • \n
  • \n Seguridad\n
  • \n
  • \n Sistemas de tipos unificados\n
  • \n
  • \n Extensibilidad\n
  • \n
  • \n Versionable\n
  • \n
  • \n Compatible\n
  • \n
  • \n Eficiente\n
  • \n
\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Razor pages

\n

\n Razor Pages es un marco de desarrollo web de primera clase, que se encuentra en la parte superior del tiempo de ejecución, ligero multiplataforma y superrápido de ASP.NET Core.\n

\n\n

\n Ofrece un modelo de desarrollo basado en páginas simplificado que atrae a una amplia audiencia.\n

\n\n

\n El marco de Razor Pages aprovecha la potente y madura sintaxis de vista de Razor que ha sido popular desde su introducción a ASP.NET MVC en 2013.\n

\n\n

\n Razor Pages está construido sobre ASP.NET Core MVC, por lo tanto, se pueden combinar controladores basados ​​en MVC con sus Razor Pages, o incluso comenzar a agregar algunas Razor Pages en aplicaciones ASP.NET Core MVC existentes.\n

\n
\n
\n \n \"\"\n \n
\n
\n\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Angular 11

\n

\n Angular es un framework opensource desarrollado por Google para facilitar la creación y programación de aplicaciones web de una sola página, las webs SPA (Single Page Application).\n

\n\n

\n En una web SPA aunque la velocidad de carga puede resultar un poco lenta la primera vez que se abre, navegar después es totalmente instantáneo, ya que se ha cargado toda la página de golpe.\n

\n\n

\n Entre otras ventajas, este framework es modular y escalable adaptándose a nuestras necesidades y al estar basado en el estándar de componentes web, y con un conjunto de interfaz de programación de aplicaciones (API) permite\n crear nuevas etiquetas HTML personalizadas que pueden reutilizarse.\n

\n\n
\n
\n \n \"\"\n \n
\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Postman

\n

\n Postman es una herramienta que se utiliza, sobre todo, para el testing de API REST, aunque también admite otras funcionalidades que se salen de lo que engloba el testing de este tipo de sistemas.\n

\n\n

\n Gracias a esta herramienta, además de testear, consumir y depurar API REST, podremos monitorizarlas, escribir pruebas automatizadas para ellas, documentarlas, mockearlas, simularlas, etc.\n

\n\n
\n
\n \n \"\"\n \n
\n
\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Corel DRAW

\n

\n Es la aplicación principal de la suite de programas CorelDRAW Graphics Suite y que está diseñada para suplir múltiples necesidades, como el dibujo, la maquetación de páginas para impresión y la publicación web,\n todas incluidas en un mismo programa. Este es un excelente software diseñado para los amantes al diseño gráfico. Este programa permite realizar diseños de manera profesional, teniendo herramientas muy fáciles de usar.\n

\n\n

\n Corel Draw como programa de diseño otorga a los usuarios varias herramientas para producir imágenes originales o editarlas con precisión.\n

\n\n

\n Se pueden crear logotipos, motivos, letreros, etc. Además de esto, CorelDraw tiene la capacidad de trabajar con otros programas en el paquete de gráficos Corel Draw, como Corel photo-paint, que ayuda a producir imágenes compuestas.\n

\n
\n \n \"\"\n \n
\n \n \"\"\n \n
\n
\n
\n\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Autodesk Maya 3D

\n

\n Autodesk Maya es una solución de animación en 3D que proporciona un conjunto completo de funciones creativas para realizar en 3D animación por ordenador, modelado, simulación, renderización y composición dentro de una plataforma\n de producción sumamente ampliable.\n

\n\n

\n Ahora Maya incluye tecnología de visualización de última generación, flujos de trabajo de modelado más rápidos y nuevas herramientas para gestionar datos complejos.\n

\n\n\n
\n \n \"\"\n \n
\n
\n\n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n\n
\n\n

Substance Painter

\n

\n Este programa permite pintar los modelos directamente en 3D e incluye muchísimas funciones espectaculares, creando texturas para assets (o activos) 3D de la forma más fácil e innovadora.\n

\n\n

\n Este programa permite crear detalles y personalizar pinceles, pero también crear materiales para después pintarlos o tapizarlos. Del mismo modo, podremos generar múltiples variaciones del mismo material y hacerlos inteligentes.\n

\n\n

\n Substance Painter permite lanzar renders para presentar tus modelos dentro del mismo programa, pero también dispone de conexión con los paquetes 3D y motores de render más utilizados en la industria (como 3Ds Max, Maya, V-Ray…).\n

\n\n\n
\n \n \"\"\n \n
\n
\n\n
\n
\n
","import { FlatTreeControl } from '@angular/cdk/tree';\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { Router } from '@angular/router';\nimport { TemaNode, IndiceFlatNode } from '../utilidades/tree-model';\n\n@Component({\n selector: 'app-detalles-lunchbox',\n templateUrl: './detalles-lunchbox.component.html',\n styleUrls: ['./detalles-lunchbox.component.css']\n})\nexport class DetallesLunchboxComponent implements OnInit, OnDestroy {\n\n constructor(private router: Router) { }\n \n ngOnInit(): void {\n //seteamos en el datosourse del arbol los datosD\n this.dataSource.data = this.INDICE_DATA;\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n volver(){\n this.router.navigate(['portafolio/3/lunch']);\n }\n\n scrollEvent() {\n const position = document.body.getBoundingClientRect().top;\n const btnScroll = document.getElementById(\"scrollBtn\");\n const btnIndice = document.getElementById(\"indiceBtn\");\n //console.log(position);\n if(position < -530){\n btnScroll.hidden = false;\n }else{\n btnScroll.hidden = true;\n }\n\n if(position < -65){\n btnIndice.hidden = false;\n }else{\n btnIndice.hidden = true;\n }\n }\n\n scrollTop(){\n window.scrollTo(0, 0);\n }\n\n @ViewChild('drawer4') sidenav: MatSidenav;\n \n scrollTo(elementId: string){\n //console.log(elementId);\n //obtenemos la posicion del scroll actual\n const scrollActual = window.scrollY;\n\n //obtenemos la posicion del elemento buscado y le restamos 63 del alto del menu y le sumamos el scroll actual que tuviera al momento de presionar el boton\n const scrollY = document.querySelector(elementId).getBoundingClientRect().top -63 +scrollActual;\n\n //nos desplazamos a la posicion dentro del div correspondiente\n window.scrollTo(0, scrollY);\n\n this.sidenav.close();\n }\n\n //cosas para el indice\n INDICE_DATA: TemaNode[] = [\n { id: \"#sec1\", name: 'Introducción al sistema'},\n { id: \"#sec2\", name: 'Usuarios del sistema',\n children: [\n {id: \"#sec2\", name: 'Introducción'},\n {id: \"#sec3\", name: 'Clientes'},\n {id: \"#sec4\", name: 'Empleados'},\n {id: \"#sec7\", name: 'Administradores'}\n ]\n }, \n { id: \"#sec8\", name: 'Administración',\n children: [\n {id: \"#sec8\", name: 'Introducción'},\n {id: \"#sec9\", name: 'Usuarios'},\n {id: \"#sec10\", name: 'Categorías'},\n {id: \"#sec11\", name: 'Productos'},\n {id: \"#sec12\", name: 'Ingredientes'},\n {id: \"#sec13\", name: 'Insumos'},\n {id: \"#sec14\", name: 'Servicios'},\n {id: \"#sec15\", name: 'Proveedores'}\n ]\n }, \n { id: \"#sec16\", name: 'Presupuestos',\n children: [\n {id: \"#sec16\", name: 'Introducción'},\n {id: \"#sec17\", name: 'Lista de Stocks'},\n {id: \"#sec18\", name: 'Check List'},\n {id: \"#sec19\", name: 'Factura'},\n {id: \"#sec20\", name: 'Edición del presup.'},\n ]\n }, \n { id: \"#sec21\", name: 'Dias de elaboración',\n children: [\n {id: \"#sec21\", name: 'Introducción'},\n {id: \"#sec22\", name: 'Ordenes comunes'},\n {id: \"#sec23\", name: 'Ordenes presupuestos'},\n ]\n }, \n { id: \"#sec24\", name: 'Estadisticas',\n children: [\n {id: \"#sec24\", name: 'Introducción'},\n {id: \"#sec25\", name: 'Resumen Financiero'},\n {id: \"#sec26\", name: 'Más vendidos'},\n {id: \"#sec27\", name: 'Más pedidos en Eventos'},\n {id: \"#sec28\", name: 'Productividad de empleados'},\n {id: \"#sec29\", name: 'Ventas por mes'},\n {id: \"#sec30\", name: 'Opiniones de usuarios'},\n ]\n }, \n\n ];\n\n //recibe un nodo y un numero de nivel y determina si es expandible porque si tiene hijos en su array, setea elñ nombre y el nivel\n private _transformer = (node: TemaNode, level: number) => {\n return {\n id: node.id,\n expandable: !!node.children && node.children.length > 0,\n name: node.name,\n level: level,\n };\n }\n\n //encapsula el nivel y si es expansible el nodo\n treeControl = new FlatTreeControl(node => node.level, node => node.expandable);\n\n //normaliza los datos del nodo, nivel, expansion e hijos\n treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);\n\n //encapsula el control de expansion del arbol y los nodos normalizados\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\n\n hasChild = (_: number, node: IndiceFlatNode) => node.expandable;\n\n}\n","
\n\n \n\n
\n\n
\n\n \n
\n\n\n\n\n \n \n
\n\n \n
\n

Índice

\n \n \n \n
\n\n \n \n\n \n \n\n \n {{node.name}}\n \n \n\n \n \n \n\n \n \n
\n
\n\n \n \n \n\n \n\n \n
\n\n \n
\n
\n \"SURSOFT\n
\n
\n
\n\n
\n\n

Introducción

\n\n \n
\n\n \n
\n\n

\n La aplicación de Lunch Box fue diseñada según los requerimientos del cliente, para el manejo interno de la empresa mejorando la organización de la misma y brindando la oportunidad de llevar una administración clara de todos los aspectos que la componian.\n

\n

\n Este proyecto fue desarrollado en .Net Core 2.1, C#, razor pages, MVC, Boostrap y SQL Server para la DB.\n

\n

Este desarrollo conto con las siguientes funcionalidades:

\n
    \n
  • Recepción de pedidos online
  • \n
  • Control de productividad de los empleados
  • \n
  • Creación de presupuestos: los administradores podian crear presupuestos para eventos los cuales proporcionaban cantidades y gastos para la confección de los mismos
  • \n
  • Control de stock: tanto para la materia prima utilizada en la confección de los productos, como de los producto ya elaborados.
  • \n
  • Marcado de precios de los productos a través de códigos QR
  • \n
  • Recetario: aqui se proporcionaban, cantidades, ingredientes y descripción de preparación para los productos y según lo indicado en las mismas el stock de ingredientes era modificado.
  • \n
  • Control de insumos y servicios
  • \n
  • Control de proveedores
  • \n
  • Manejo de pedidos: control en el que confluian tanto pedidos online como para presupuestos.
  • \n
  • Check List para ingredientes de presupuestos
  • \n
  • Reportes de:\n
      \n
    • Resumen general financiero
    • \n
    • Productos más vendidos
    • \n
    • Productos más pedidos en eventos
    • \n
    • Productividad de empleados
    • \n
    • Ventas por mes
    • \n
    • Opiniones de usuarios
    • \n
    \n
  • \n\n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n
\n
\n\n \n
\n
\n

Usuarios del sistema

\n\n
\n

\n Los usuarios del sistema se dividen en 3:\n

\n
    \n
  • \n
  • \n
  • \n
\n

\n Esta diferenciación marca las responsabilidades de cada actor dentro del sistema, proporcionando para cada uno su rol y sus credenciales que le permitiran ver las secciones especificas del mismo.\n

\n\n
\n
\n \n \"SURSOFT\n \n

Vista Cliente

\n
\n
\n \n \"SURSOFT\n \n

Vista Admin

\n
\n
\n \n \"SURSOFT\n \n

Vista Empleado

\n
\n
\n\n
\n
\n
\n\n \n
\n
\n

Clientes

\n\n
\n

Registro

\n

\n Los clientes son aquellos usuarios del sistema con menores credenciales, los cuales tendrán acceso a la lista de productos y a la posibilidad de realizar pedidos a la empresa, solo si se registran en el sistema.\n

\n\n

Para ellos deberán ir a la página de logueo (imagen 4 .1).

\n\n
\n \n \"SURSOFT\n \n

Imagen 4

\n
\n\n

En caso de no estar registrados se le pedirán los siguientes datos (imagen 5):

\n\n
\n \n \"SURSOFT\n \n

Imagen 5

\n
\n\n

Nota: En un principio también se requería la cedula de identidad del cliente como medida de seguridad extra para el registro, pero el cliente decidió no hacer uso de la misma, quedando de la forma anteriormente indicada.

\n\n
\n \n \"SURSOFT\n \n

Imagen 6

\n
\n\n

\n Una vez registrados los datos en el sistema, se envía un correo electrónico al cliente para la verificación de su casilla de email, en el cual, se le proporciona un link (imagen 7 .1) para la confirmación de su cuenta con lo cual se activa su usuario.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 7

\n
\n\n

Una vez confirmado el cliente ya podrá acceder a hacer sus pedidos.

\n\n
\n \n \"SURSOFT\n \n
\n\n

Realización de pedidos

\n\n

\n La realización de pedidos de los clientes es sencilla, como en cualquier página. Para ello el mismo dispondrá de un catálogo de productos disponibles, separados por categorías y subcategorías pudiendo elegir cualquiera y agregarlos a su carrito de compras.\n

\n\n

\n Cada producto tiene las opciones de marcar la cantidad solicitada (imagen 8. A), la posibilidad de seleccionar opciones del mismo (en caso de que las tuviera – imagen 8. B) y la posibilidad de agregar una aclaración o comentario referente al producto\n que quiera (ejemplo: lo quiero sin sal – imagen 8 .C).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 8

\n
\n\n

\n Una vez seleccionado el producto y marcadas las opciones y aclaraciones al darle al botón de agregar el mismo será incluido en el carrito de compras, con la posibilidad de realizar cualquier cambio al mismo.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 9

\n
\n\n

\n Como vemos en el carrito de compras (imagen 9) el cliente vera un resumen de su pedido en donde tendrá una lista con los productos solicitados y donde se detallan las opciones Extras seleccionadas junto con su valor, el total del pedido (imagen 9 .D),\n la posibilidad de editar la línea en particular (imagen 9 .A) o eliminar la línea del carrito (imagen 9 .B).\n

\n\n

\n También cabe destacar que un administrador puede otorgar a un cliente un cupón de descuento por un porcentaje especifico el cual podrá ser agregado en el carrito cuando el cliente lo desee (imagen 9 .E).\n

\n\n

\n Este código de descuento será visible para el cliente en el propio carrito de estar disponible como se muestra a continuación.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Cabe destacar que estos cupones son de un único uso, una vez confirmado el pedido ya no se podrá usar ese cupón y también debemos aclarar que el cupón es intransferible entre usuarios.

\n\n

Confirmación de pedido

\n\n

\n Al confirmar el pedido se solicitará el día de entrega y la hora del mismo.\n

\n\n

\n Según lo indicado por el cliente la fecha de entrega debe ser con una antelación de por lo menos 7 días desde la confirmación.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Una vez confirmado el pedido, el cliente podra ver el estado del mismo en la seccion de pedidos.

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 10

\n
\n\n

\n Como vemos en la imagen 10 .A el cliente puede ver fecha y hora de entrega, precio, el estado de su pedido (en preparación, preparado, pagado) y los detalles del mismo.\n

\n\n

\n También como podemos observar el cliente una vez de que reciba su pedido tendrá la posibilidad de contar con un botón de feedback o comentario (imagen 10 .B) en donde podrá acceder a una pagina para calificar el servicio.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Esta información será solo visible para el administrador, según los requerimientos del cliente, teniendo un informe de las calificaciones generales de los servicios los cuales describiremos más adelante en la sección de Estadísticas.\n

\n\n
\n
\n
\n\n \n
\n
\n\n

Empleados

\n
\n\n

\n En el apartado de empleado podemos ver que dentro de los cambios que presenta el mas relevante se da en la sección de pedidos.\n

\n\n

\n Ahí encontrara, aparte de la lista de sus propios pedidos que pudiera realizar a la empresa (imagen 11 .C), ya que un empleado también puede ser un cliente, dos botones de trabajo.\n

\n\n

Estos botones son:

\n
    \n
  • \n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 11

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Órdenes para entregar

\n\n

\n En órdenes para entregar, encontrara todos los pedidos que estén preparados y listos para su entrega.\n

\n\n

\n En esta lista se presentan los siguientes botones para cada línea:\n

\n\n
    \n
  • \n Botón de dirección: (imagen 12 .A) este botón proporciona un link que redirecciona a Google maps el cual nos devolverá un mapa con la dirección del cliente para facilitar el viaje de entrega del empleado que tenga que\n repartir los pedidos, agilizando el reparto.\n
  • \n
  • \n botón de pagado: (imagen 12 .B) esté botón es el que confirma el pago del cliente el cual según lo establecido en las reuniones el pedido puede ser entregado sin ser pagado según sea el cliente.\n
  • \n
  • \n botón de entregado: (imagen 12 .C) una vez marcado el pedido como entregado el mismo desaparecerá de la lista en. En caso de error el estado de entregado solo podrá ser cambiado por un administrador.\n
  • \n
  • \n botón de detalles: (imagen 12 .D) el mismo proporciona la información del pedido en caso de dudas del cliente o del empleado que entrega el pedido, otorgando la información del mismo.\n
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 12

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Trabajos para hoy

\n\n

\n En trabajos para hoy, (imagen 11 .B) el empleado encontrara todos los trabajos que el administrador indique para hacer en el día. Los mismos irán apareciendo de manera automática si fueron asignados, como dijimos, por un administrador anteriormente.\n

\n\n

\n En esta página tendremos dos listas las cuales dividirán los trabajos de ordenes comunes y los productos de eventos que hayan sido confirmados y asignados a el día actual.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Una vez desplegada alguna de las listas podremos ver los detalles de la misma, en donde el empleado podrá ver las posibles aclaraciones del pedido y haciendo click sobre la imagen podrá acceder a la receta del producto en donde vera las cantidades de\n la receta en particular y las cantidades totales requeridas según lo solicitado por el cliente.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Antes de empezar un trabajo, el empleado deberá darle click al botón de Comenzar a preparar, esto hará que el mismo quede registrado como trabajo del empleado brindando los datos para la evaluación de rendimiento del mismo.\n

\n

\n Cabe destacar que una vez marcado como en preparación por un empleado, solo ese empleado podrá marcarlo como preparado. Esto es para evitar que otro empleado aproveche y marque trabajos que no preparo como propios quitando\n el crédito a quien si lo preparo.\n

\n

\n En caso de errores en el marcado de preparación solo los administradores podrán cambiar el estado del mismo.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Una vez que el producto esté preparado desaparecerá de la lista y si el pedido total esta completo el mismo aparecerá en la lista de Ordenes para entregar (imagen 11 .A).\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n

Administradores

\n
\n\n

\n Los administradores son los usuarios del sistema con más privilegios en cuanto a visualización de la información y edición de la misma.\n

\n\n

\n En este apartado mostraremos la variada información en relación a los anteriores usuarios (clientes y empleados) que pueden ver los administradores en la sección de pedidos.\n

\n\n

\n En ella como podemos ver el administrador tiene una lista de todos los pedidos del sistema (imagen 13 .H), junto con una serie de botones que cumplen diferentes funciones que pasaremos a describir a continuación.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 13

\n
\n\n

\n Como vemos en la lista de los pedidos, los administradores cuentan con un botón que brinda la posibilidad de Rechazar el pedido (imagen 13 .G) en caso de un incumplimiento o de sobrepaso de trabajo.\n

\n\n

\n Si se hace uso del mismo se debería tener la delicadeza de consultar el mail del cliente y enviar un correo informando del rechazo del pedido y los motivos del mismo.\n

\n\n

\n Como vimos anteriormente en el caso de los empleados el administrador posee también los dos botones Ordenes para entregar (imagen 13 .A) y Trabajos Para Hoy (imagen 13 .B) los cuales ya describimos anteriormente, por tanto nos enfocaremos a los botones\n restantes.\n

\n\n

Botón Ordenes entregadas y pagadas

\n\n

\n Este botón (imagen 13 .C), nos llevara a una lista de las ordenes que ya fueron pagadas y entregadas de donde podremos navegar a través de los detalles de cada una para saber quién preparo la misma y todos los datos del pedido.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Botón Ordenes entregadas SIN pagar

\n\n

\n Este botón (imagen 13 .D) nos entregara una lista de aquellos pedidos que tienen pendiente su pago y que ya fueron entregados a su respectivo cliente.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Botón ordenes comunes sin preparar

\n\n

\n Este botón (imagen 13 .E), no entrega una lista con aquellos pedidos comunes que todavía no fueron preparados, con el objetivo de filtrar y aclarar al administrador los trabajos pendientes comunes que existen en el sistema.\n

\n\n

\n En esta lista también se encuentran botones rápidos para, en caso de que se marcaran por error, corregir los estados de las ordenes en cuanto a si fueron pagados y entregados.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Botón de Ordenes de presupuestos para preparar

\n\n

\n Este botón nos devuelve una lista de los productos agregados en presupuestos pendientes de preparación. Tomar en cuenta que aquí aparecerán los productos SOLO si el presupuesto fue marcado como confirmado.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n

Administración

\n\n
\n\n

\n En el siguiente apartado se mostrará paso a paso el manejo de las diferentes categorías del sistema en relación a la administración interna de la empresa, como son:\n

\n\n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
\n\n

\n Todos los puntos anteriores son competencia de los administradores. Los mismos son las personas con más privilegios sobre el sistema y quienes tienen acceso a toda la información y funcionalidades del mismo.\n

\n\n

\n Dentro del sistema por razones de seguridad existen dos super administradores los cuales no pueden ser borrados por otros admins.\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

1. Administración de Usuarios

\n\n

\n Para acceder a la sección de administración de usuarios tendremos que ir al menú lateral y seleccionar Administración (imagen 14 .A) y luego Usuarios (imagen 14 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 14

\n
\n\n

\n En esta página tendremos 3 botones para el manejo de los 3 tipos de usuarios del sistema, los cuales son empleados, administradores y clientes.\n

\n\n

Administración de empleados

\n\n

\n En esta página podremos ver una lista de los empleados que tenemos actualmente en el sistema (imagen 15 .C) con la posibilidad de ver sus datos en el botón de detalles (imagen 15 .D) o de editarlo con el botón de edición (imagen 15 .E).\n

\n\n

\n También dispondremos de dos botones, Contratar (imagen 15.A) y agregar (imagen 15 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 15

\n
\n\n

Botón Contratar

\n\n

\n Con este botón accederemos a una página con los usuarios actuales del sistema de los cuales podremos contratarlos mediante el botón de contratar (imagen 16 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 16

\n
\n\n

Botón agregar

\n\n

\n Teniendo en cuenta a empleados que no tengan conocimientos suficientes en informática podremos agregar un usuario sin tener que hacer todo el procedimiento de registro.\n

\n\n

\n Para ello daremos click en el botón de agregar (imagen 15 .B) e ingresaremos los datos del empleado. Se debe tener en cuenta que una vez agregado el administrador deberá proporcionarle los datos de ingreso al empleado los cuales serán el email utilizado\n para agregarlo al sistema y el password o contraseña indicadas.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Edición de empleado

\n\n

\n Para cada empleado dispondremos de la opción de modificar ciertos valores del mismo (imagen 17 .A), así como acceder a la información referente a su productividad en la empresa (imagen 17 .C), como a el manejo de sus líneas de sueldo (imagen 17 .D).\n

\n\n

\n También desde esta página de edición podremos despedir al empleado o volver al mismo administrador del sistema (imagen 17 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 17

\n
\n\n

\n Para agregar líneas de pago para el empleado simplemente tendremos que hacer click en el botón de Agregar nuevo pago (imagen 17 .D), el cual no llevara a la página para crear el mismo.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Estos datos serán usados para la parte de finanzas en donde tendremos resúmenes de gastos en sueldos entre otros.\n

\n\n

Administración de administradores

\n\n

\n En esta página encontraremos la lista de los administradores, de los cuales los super admins serán imposibles de eliminar (imagen 18 .A) .\n

\n\n

\n También tomando en cuenta lo anterior y para facilitar el proceso se podrá marcar a un empleado como admin mediante el botón de agregar (imagen 18 .B) el cual nos presentará una lista de los empleados actuales.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 18

\n
\n\n

\n En esta sección también podremos ver los detalles de los admins con los botones de detalle (imagen 18 .C) y podremos eliminarlos del rol admin mediante el botón de eliminar Admin (imagen 18 .D).\n

\n\n

Administración de clientes

\n\n

\n En esta página nos encontraremos con la lista de todos los clientes del sistema (imagen 19 .A), en donde tendremos la información de cada uno (imagen 19 .C), junto con la cantidad de compras realizadas (imagen 19 .B), la posibilidad de bloquear a algún\n cliente que no haya cumplido con sus responsabilidades (imagen 19 .E) y también podremos asignar cupones de descuento para aquellos clientes que deseemos (imagen 19 .D).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 19

\n
\n\n

Bloquear cliente

\n\n

\n Al bloquear un cliente el sistema no pedirá una razón para el bloqueo, lo cual nos proporciona, en caso del reclamo del mismo, poder averiguar la razón que tuvo algún admin para el bloqueo y poder consultar con el mismo si el bloqueo tenía lugar o no.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Asignar cupón de descuento

\n\n

\n En esta sección también podremos crear cupones de descuento según el criterio que se tenga en la empresa, ya sea para mejores compradores o clientes preferenciales.\n

\n\n

\n Para ello buscaremos el cliente en particular y daremos click en el botón de cupones de descuento (imagen 19 .B).\n

\n\n

\n En la página de los cupones tendremos una lista con los cupones asignados a ese cliente (imagen 20 .A) y el botón de crear un nuevo cupón (imagen 20 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 20

\n
\n\n

\n Como vemos en la imagen 20, la lista nos detalla el porcentaje de descuento (C), el código del cupón (D), la orden del cupón (E) en caso de que este asignado, la posibilidad de editar el cupón en cuanto a su porcentaje siempre y cuando el cupón no esté\n utilizado ya (F) y la posibilidad de eliminar el cupón (G) también siempre y cuando no haya sido asignado a una orden aun.\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

2. Administración de categorías

\n\n

\n En la siguiente sección podremos crear categorías y subcategorías para asignar productos a las mismas y ofrecer un ordenamiento para los clientes, facilitando así la búsqueda de los productos para los mismos.\n

\n\n

\n Para ello podremos acceder a esta página desde el menú lateral haciendo click en Administración (imagen 21 .A) y luego en Categorías (imagen 21 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 21

\n
\n\n

\n Una vez en la página de Administración de categorías veremos una lista con las categorías madres, ya que cada categoría madre puede tener varias hijas (imagen 21 .C).\n

\n\n

\n También veremos un botón de Crear nueva (imagen 21 .D) el cual nos dará la posibilidad de crear una categoría madre.\n

\n\n

\n Las categorías madre son las que se verán tanto en la página principal como en el menú lateral (imagen 22), las categorías hijas serán aquellas que se verán en las paginas madres respectivas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 22

\n
\n\n

Crear nueva categoría

\n\n

\n Para crear una nueva categoría haremos click en el botón Crear nueva (imagen 21 .D) lo que nos llevara a la página de creación de la misma.\n

\n\n

\n En esta página podremos poner una imagen, un nombre y una descripción de la misma.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Una vez agregada la categoría ya estará disponible en el menú lateral y en la sección de administración de productos para poder ser asignada a los mismos.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 23

\n
\n\n

\n Como vemos en la imagen 23, tenemos la nueva categoría madre agregada (A). Además, en cada una tendremos un botón de edición (B) y un botón de eliminación (C).\n

\n\n

\n En el botón de Edición podremos cambiar el nombre, descripción e imagen de la categoría, como también podremos agregar las subcategorías que deseemos mediante el botón de agrega nueva subcategoría.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Una vez agregada una subcategoría la podremos ver en la lista de la categoría madre y podremos editar la misma o eliminarla.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n También la misma se agregará como filtro en las páginas de categorías madre para los clientes.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

3. Administración de productos

\n\n

\n En esta sección es donde agregaremos todos los productos que pondremos a la venta.\n

\n\n

\n Para ellos iremos en el menú lateral a Administración (imagen 24 .A) y luego a Productos (imagen 24 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 24

\n
\n\n

\n En la página de productos tendremos una lista con todos los productos disponibles en el sistema (imagen 24 .D) en donde por cada uno de ellos tendremos 3 botones, para ver los detalles del producto (imagen 24 .E), para editar el producto (imagen 24 .F)\n y para eliminar el mismo (imagen 24 .G).\n

\n\n

\n En la parte superior encontraremos un botón para crear un nuevo producto (imagen 24 .C).\n

\n\n

Crear nuevo producto

\n\n

\n Como vimos antes para crear un nuevo producto iremos al botón crear nuevo, lo cual nos llevara a la página correspondiente en donde deberemos ingresar los datos del mismo.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Una vez creado el producto, el mismo aparecerá en la página de Administración de productos (imagen 25 .A)\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 25

\n
\n\n

Editar producto

\n\n

\n Como dijimos anteriormente cada producto puede ser editado mediante el botón de edición (imagen 24 .F) en donde podremos cambiar los datos básicos del producto (imagen 26 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 26

\n
\n\n

\n También aquí podemos crear promociones agregando un porcentaje de descuento a los productos (imagen 26 .B). Estos descuentos serán aplicados automáticamente a los productos y mostrados en las tarjetas del producto a los clientes marcando el descuento.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Agregar opción a producto

\n\n

\n En esta página tendremos la posibilidad de agregar opciones adicionales a los productos.\n

\n\n

\n Para ello en la parte inferior de la página encontraremos una sección llamada opciones de producto agregadas (imagen 27), en la que encontraremos una lista y un botón para agregar opción.\n

\n\n

\n El precio de las opciones se agregará al precio del producto en los carritos de compra de los clientes.\n

\n\n

\n En la lista de opciones (imagen 27 .B), tendremos la posibilidad de modificar (imagen 27 .C) o eliminar dicha opción (imagen 27 .D).\n

\n\n

\n Para agregar una opción, simplemente daremos click al botón Agregar nueva opción y colocaremos los datos requeridos. En caso de que la opción no tenga un costo extra tendremos que colocar cero como precio.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 27

\n
\n\n

Editar receta del producto

\n\n

\n También en esta sección podremos editar la receta para el mismo (imagen 26 .C), la cual es sumamente importante para el control de stock de ingredientes de la empresa. Cabe destacar que no es requerido agregar una receta, pero si se quiere llevar un control\n de stock preciso en el sistema, es absolutamente necesario completar como mínimo los ingredientes de la receta.\n

\n\n

\n Para ello haremos click en Detalles de receta (imagen 26 .C) y en la ventana que nos abre daremos click en Editar.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Esto nos llevara a la página de creación de la receta.\n

\n\n

\n En ella podremos cambiar el nombre (imagen 28 .A), agregar la preparación de la misma (imagen 28 .B). Recomendamos que la preparación sea detallada para brindarle toda la información necesaria a los empleados que no tengan claro la preparación del producto.\n

\n\n

\n Por último, tenemos el agregado de los ingredientes de la receta (imagen 28 .C).\n

\n\n

\n En la parte inferior de la pantalla encontraremos dos listas:\n

\n\n
    \n
  • \n Agregar ingredientes (imagen 28 .D), en donde encontraremos todos los ingredientes del sistema (en caso que no encontremos el ingrediente requerido deberemos ir a Administración/Ingredientes y agregarlo ahí para poder incluirlo en la receta).\n
  • \n
  • \n Ingredientes Agregados (imagen 28 .E), en esta lista encontraremos los ingredientes que agregamos a la receta y donde podremos modificar los mismo.\n
  • \n
\n\n

\n\n NOTA: tener en cuenta y prestar mucha atención a las unidades con las que se maneja cada ingrediente ya que de no tener cuidado se podría ingresar valores incorrectos, como por ejemplo si tenemos el ingrediente Harina que tiene como unidad gr y nosotros\n en la receta agregamos 1kg de Harina lo que se restara en el stock de harina será 1gr, para que todo sea correcto si la receta lleva 1kg deberíamos colocar 1000gr. Recomendamos que las unidades a manejar en ingredientes sean pequeñas\n ya que esto favorece el proceso de creación de recetas, debido a que a menor unidad más precisión en las medidas.\n\n

\n\n

Editar insumos del producto

\n\n

\n También en esta sección, al igual que con la receta podemos agregar insumos al producto haciendo click en Insumos del producto (imagen 26 .D) y en la ventana que nos aparece hacer click en editar.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Los mismos no son una información relevante para los clientes los cuales no verán dicha información, pero si es importante para el administrador del sistema para llevar un control de stock de los mismo. Como ejemplo de esto colocaremos como insumo en\n las pizzas las cajas de pizza.\n

\n\n

\n El formato de esta página es igual al de la receta, en donde encontraremos un resumen de los insumos agregado (imagen 29 .A) y dos listas en la parte inferior:\n

\n\n
    \n
  • \n Agregar insumo (imagen 29 .B): en esta lista tendremos todos los insumos agregados en el sistema, de no encontrar el requerido deberemos ir a Administración/Insumos y ahí agregar el insumo para luego volver a este producto y poder agregarlo.\n
  • \n
  • \n Insumos Agregados (imagen 29 .C): esta es la lista en la que podremos modificar o eliminar el o los insumos del producto.\n
  • \n
\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 29

\n
\n\n
\n \n \"SURSOFT\n \n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

4. Administración de Ingredientes

\n\n

\n En esta sección podremos administrar todos los ingredientes que son necesario para la confección de los productos a vender.\n

\n\n

\n Para ello tendremos que ir al menú lateral y seleccionar Administración (imagen 30 .A) y luego Ingredientes (imagen 30 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 30

\n
\n\n

\n En esta página tendremos un botón para agregar nuevos ingredientes (imagen 30 .C) como también encontraremos una lista con todos los ingredientes agregados en el sistema (imagen 30 .D).\n

\n\n

\n Cada uno de los ingredientes tendrá la opción de detalles del mismo (imagen 30 .E), edición del ingrediente (imagen 30 .F) y eliminación del mismo (imagen 30 .G).\n

\n\n

Crear ingrediente

\n\n

\n Para crear un ingrediente haremos click en el botón Crear nuevo (imagen 30 .C).\n

\n\n

\n Se nos abrirá una nueva página en donde ingresaremos los datos básicos del ingrediente.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Como dijimos anteriormente, se debe tener en cuenta la unidad en la que mediremos el stock del ingrediente ya que podría llevar a errores al crear las recetas.\n

\n\n

\n Como dijimos si agregamos un ingrediente harina y aquí le colocamos como unidad kg, luego vamos a la receta y la misma requiere 200 gr no podremos usar este ingrediente ya que su unidad esta fuera de escala ya que si colocamos 200 en la receta serian\n 200kg.\n

\n\n

\n Como dijimos antes, es recomendable que las unidades sean pequeñas para abarcar todas las posibilidades.\n

\n\n

Editar ingrediente

\n\n

\n En esta sección podremos editar los datos básicos del ingrediente (imagen 31 .A) así como agregar compras al mismo para aumentar el stock total.\n

\n\n

\n En la parte inferior encontraremos un botón para agregar nuevas compras (imagen 31 .B) y una lista de líneas de compras de ese ingrediente con toda la información del mismo (imagen 31 .C).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 31

\n
\n\n

Agregar nueva compra

\n\n

\n En esta sección se nos pedirá los datos de la compra realizada y el proveedor al que se le compra la misma.\n

\n\n

\n En caso de no encontrar el proveedor en la lista deberá agregarlo en el sistema yendo a Administración/Proveedores en el menú lateral.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Editar línea de compra

\n\n

\n En esta página podremos editar los datos de la compra en caso de errores al agregarla y pudiendo además agregar de forma extra los datos de desperdicios del ingrediente comprado.\n

\n\n

\n Este parámetro fue requerido por el cliente.\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

5. Administración de Insumos

\n\n

\n Esta sección es similar a la de Ingredientes en cuanto a su funcionamiento.\n

\n\n

\n Para acceder a ella debemos ir al menú lateral y seleccionar Administración (imagen 32 .A) y luego Insumos (imagen 32 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 32

\n
\n\n

\n En esta sección como en la de ingredientes encontraremos un botón de agregar nuevo insumo (imagen 32 .C) y una lista con todos los insumos agregados en el sistema (imagen 32 .D) siendo que para cada uno de ellos podremos ver sus detalles (imagen 32 .E),\n editarlos (imagen 32 .F) o eliminarlos (imagen 32 .G).\n

\n\n

Agregar insumo

\n\n

\n Al darle click al botón de Agregar nuevo (imagen 32 .C), se nos mostrara una página en donde nos pedirán los datos básicos del insumo.\n

\n\n\n
\n \n \"SURSOFT\n \n
\n\n

Editar insumo

\n\n

\n En esta página podremos modificar los datos básicos (imagen 33 .A) y también agregar nuevas líneas de compra del mismo (imagen 33 .B) o modificar las que ya tuviéramos si fuese necesario (imagen 33 .C).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 33

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

6. Administración de Servicios

\n\n

\n En esta sección manejaremos todo lo referente a servicios que tengamos en la empresa, como puedan ser contratación de mozos, servicios de energía eléctrica, gas, agua, alquileres, etc.\n

\n\n

\n Para acceder a esta sección tendremos que ir al menú lateral, administración (imagen 34 .A) y luego a Servicios (imagen 34 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 34

\n
\n\n

\n El manejo de esta sección es similar a las anteriores encontrando un botón de crear nuevo servicio (imagen 34 .C) y una lista con todos los servicios del sistema (imagen 34 .D) contando para cada línea con las opciones de detalles, edición y eliminación.\n

\n\n

Agregar nuevo servicio

\n\n

\n Para agregar nuevo servicio haremos click en el botón Crear nuevo (imagen 34 .C) lo cual nos llevará a la página en donde se nos pedirá los datos básicos del mismo.\n

\n\n\n
\n \n \"SURSOFT\n \n
\n\n

\n Así como en las anteriores, si no encontramos el proveedor tendremos que ir a agregarlo primero a Administración/Proveedores\n

\n\n

Editar servicio

\n\n

\n En esta página podremos editar los datos básicos del servicio (imagen 35 .A), como también agregar nuevas líneas del mismo (imagen 35 .B), por ejemplo, si nuestro servicio fuera Energía eléctrica podríamos agregar una línea por cada factura que recibiéramos.\n

\n\n

\n Y encontraremos una lista con todas las líneas de servicio agregadas (imagen 35 .B) con la posibilidad de editarlas o eliminarlas.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 35

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

7. Administración de Proveedores

\n\n

\n En esta sección encontraremos todos los proveedores agregados en el sistema, los cuales son necesarios para la creación de ingredientes, insumos y servicios.\n

\n\n

\n Para ingresar en esta sección tendremos que ir al menú lateral, luego Administración (imagen 36 .A) y por último a Proveedores (imagen 36 .B).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 36

\n
\n\n

\n Ya en la página de Administración de proveedores nos encontraremos con lo normal. Un botón de crear nuevo (imagen 36 .C) y una lista con todos los proveedores agregados en el sistema (imagen 36 .D) junto con sus botones de detalles, edición y eliminación\n para cada uno.\n

\n\n

Crear proveedor

\n\n

\n Al darle click al botón de Crear nuevo (imagen 36 .C), iremos a la página donde nos pedirán los datos básicos del proveedor.\n

\n\n\n
\n \n \"SURSOFT\n \n
\n\n

Detalles del proveedor

\n\n

\n En esta sección encontraremos todos los datos de compras para el proveedor seleccionado, tanto sus datos básicos, como tablas de ingredientes, insumos o servicios del mismo con sus respectivas gráficas, pudiendo ser filtradas por mes y año.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

\n En cada una de las tablas tendremos un botón de detalles (imagen 37 .A) de las compras la cual nos dará una evolución de precios del ingrediente, insumo o servicio seleccionado.\n

\n\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 37

\n
\n\n
\n \n \"SURSOFT\n \n
\n
\n\n

\n Nota: en este caso la gráfica no nos da mucha información ya que solo contamos con 1 dato de prueba. A medida que se tengan más datos la gráfica será más precisa y permitirá tener una prospección de el rumbo de precios de ese proveedor sobre ese ingrediente,\n insumo o servicio.\n

\n\n\n
\n
\n\n
\n\n \n
\n
\n\n

Presupuestos

\n\n
\n\n

Introducción

\n\n

\n En esta sección del sistema tendremos la posibilidad de crear un presupuesto, pudiendo incluir en el mismo cualquier producto, ingrediente, insumo o servicio que tengamos en el sistema, generando así automáticamente un presupuesto con el detalle de todos\n los aspectos del mismo, para finalmente ser enviado al cliente para su aprobación.\n

\n\n

\n Para acceder a esta sección debemos ir al menú lateral y hacer click en Presupuestos (imagen 37 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 37

\n
\n\n

\n Ya en la página de administración de presupuestos encontraremos un botón de Crear Nuevo (imagen 37 .B), También encontraremos una lista de los presupuestos que existen en el sistema (imagen 37 .C).\n

\n\n

\n En cada una de las líneas de la lista (es decir, por cada presupuesto) encontraremos una serie de botones que describiremos a continuación\n

\n\n
    \n
  • \n Botón de Confirmación (imagen 37 .D):con este botón podremos marcar el presupuesto como confirmado, lo cual habilitara (en la sección de Días de elaboración) a todos los productos del mismo para que se puedan incluir\n en días de elaboración.\n
  • \n
  • \n Botón de lista de ítems (imagen 37 .E):con este botón accederemos a una página (que detallaremos más adelante) en la que tendremos toda la información sobre los ingredientes e insumos necesarios para la confección de\n todos los productos del presupuesto en total. Debemos tener en cuenta que para que esto funcione las recetas de los productos deben estar realizadas para el correcto conteo del stock de cada ingrediente requerido.\n
  • \n
  • \n Botón de CheckList (imagen 37 .F):este botón nos proporciona una lista con los ítems del presupuesto para ir marcando a medida que cada uno este realmente pronto y poder estar seguro el día antes al evento que todo está\n en orden. Cabe destacar que esta lista no tiene impacto en ningún aspecto del presupuesto, es solo una lista de control para el usuario.\n
  • \n
  • \n Botón de Factura (imagen 37 .G):este botón nos llevara a la página de factura en donde tendremos la información de cantidades y precios finales de cada ítem incluido en el presupuesto. Es desde aquí donde podremos crear\n el pdf para poder enviar al cliente para su estudio y posterior confirmación (esta página se detallará más adelante).\n
  • \n
  • \n Botón de Edición (imagen 37 .H):este es uno de los botones más importantes, que nos dirige a la página de edición del presupuesto, en donde podremos agregar todos los ítems del mismo, ingredientes, productos, insumos\n y servicios, así como modificar los datos básicos del presupuesto. Detallaremos esta página más adelante.\n
  • \n
  • \n Botón de Eliminar (imagen 37 .I): Como indica su nombre este botón nos permite eliminar el presupuesto del sistema siempre y cuando el mismo NO este confirmado.\n
  • \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n\n
\n\n

Lista de Stocks

\n\n

\n Como mencionamos anteriormente, esta página es accedida a través del botón Lista de ítems (imagen 37 .E) .\n

\n\n

\n En ella encontraremos un par de listas, las cuales nos indicaran los ingredientes e insumos necesarios para la realización de los productos del evento, marcando al confirmar el mismo si hay faltante de stock de alguno de ellos en la misma.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 38

\n
\n\n

\n En la parte superior vemos 3 botones, uno para volver a la lista de presupuesto, otro para ir a la edición de este presupuesto (imagen 38 .A) , y un botón de cancelar o confirmar el presupuesto (imagen 38 .B).\n

\n\n

\n Mas abajo encontramos el nombre del cliente que solicita el presupuesto y un botón con los detalles del mismo (imagen 38 .C).\n

\n\n

\n Y por último nos encontramos con la lista de ingredientes (imagen 38 .D) e insumos (imagen 38 .E) necesarios para llevar a cabo el evento. Estos ítems provienen tanto de las recetas de los productos como de los insumos e ingredientes individuales que\n se agreguen en el presupuesto.\n

\n\n

\n Nótese que si hay faltante de stock el mismo será marcado en rojo junto con la cantidad faltante (imagen 38 .F). Hay que tener en cuenta que esto SOLO es posible de ver si el presupuesto está confirmado ya que es en ese momento donde se realizan las actualizaciones\n de stock en esas categorías.\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Check List

\n\n

\n En esta página encontraremos como describimos anteriormente una lista con todas las cosas que ingresamos en el presupuesto del evento.\n

\n\n

\n Esto servirá para la organización a la hora de hacer el inventario del evento y comprobar que todo lo necesario esté presente.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Factura del presupuesto

\n\n

\n En esta página veremos un resumen de todos los costos del presupuesto junto con los datos del cliente.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 39

\n
\n\n

\n En la parte superior encontramos una serie de botones:\n

\n\n
    \n
  • \n Botón de Editar (imagen 39 .A): con este botón iremos a la página de edición del presupuesto, la cual detallaremos más adelante.\n
  • \n
  • \n Botón Crear Pdf (imagen 39 .B):con este botón podremos generar un pdf de la factura para poder enviar al cliente y el mismo cuente con toda la información necesaria para decidir sobre la confirmación del mismo.\n
  • \n
  • \n Botón Productos (imagen 39 .A):con este botón podremos acceder a la lista de productos del presupuesto. El objetivo de la misma es darle la posibilidad al administrador que en caso de errores en el marcado de preparación\n o preparado, se pueda reestablecer el estado de los productos en dichos campos.\n
  • \n
\n\n

\n Por último, encontramos los datos del cliente (imagen 39 .D), junto con el detalle de la factura para el presupuesto (imagen 39 .E).\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Edición del presupuesto

\n\n

\n Esta página es el corazón del presupuesto, ya que en ella es donde se agregarán tanto productos como ingredientes, insumos y servicios al mismo.\n

\n\n

\n Cabe destacar que cada una de las cosas que se deseen agregar a un presupuesto, tendrán que haber sido ingresadas en el sistema en sus respectivas páginas de administración, por lo que si, por ejemplo, no se encuentra un ingrediente deberá ir a Administración/Ingredientes\n y agregar ahí el mismo para luego volver a agregarlo en el presupuesto.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 40

\n
\n\n

\n En la parte superior de la página encontraremos un resumen del presupuesto en general (imagen 40 .A) en donde se marcaran el precio del presupuesto, el descuento (si lo hubiera) y el precio final del mismo.\n

\n\n

\n Luego encontramos una serie de botones:\n

\n\n
    \n
  • \n Botón de Volver (imagen 40 .B): con este botón se regresa a la lista de todos los presupuestos.\n
  • \n
  • \n Botón Factura (imagen 40 .C): este botón es un acceso rápido a la página de factura que vimos anteriormente.\n
  • \n
  • \n Botón Ítems (imagen 40 .D): este botón nos dirige a la página de Stocks requeridos para el presupuesto que también vimos en apartados anteriores.\n
  • \n
  • \n Botón Reiniciar (imagen 40 .E): con este botón se borraran todos los productos, ingredientes, insumos y servicios agregados al presupuesto. Tener en cuenta que solo se podrá reiniciar el presupuesto si el mismo NO está\n confirmado.\n
  • \n
\n\n

Editar datos básicos

\n\n

\n Debajo de los botones anteriores tendremos una pestaña (imagen 41 .A) que al ser desplegada nos brindara toda la información básica del presupuesto, la cual podremos editar.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 41

\n
\n\n

\n En esta sección es donde podremos agregar un descuento al presupuesto si así lo desea el administrador (imagen 41 .B).\n

\n\n

\n Una vez editado los cambios de los datos básicos tendrá que darle click al botón guardar para que los cambios tengan efecto (imagen 41 .C).\n

\n\n

\n Inmediatamente después de los datos básicos encontramos la sección de agregado de productos (imagen 40 .G), ingredientes (imagen 40 .H), insumos (imagen 40 .I) y servicios (imagen 40 .J).\n

\n\n

Editar productos

\n\n

\n En esta pestaña (imagen 40 .G) encontramos primero un resumen con la cantidad de productos agregados junto con el precio total de los mismo (imagen 40 .K).\n

\n\n

\n Debajo de esta información general encontraremos dos listas:\n

\n\n
    \n
  • \n Productos Agregados (imagen 42 .A):n esta lista encontraremos todos los productos agregados.\n
    \n \n \"SURSOFT\n \n

    Imagen 42

    \n
    \n\n

    \n Esta lista nos proporcionara por cada producto el precio unitario del mismo y el precio total (imagen 42 .B) , y también podremos modificar el mismo agregando alguna aclaración (imagen 42 .C) o el cambio de cantidad del mismo (imagen 42 .D).\n

    \n

    \n Para efectuar estos cambios deberemos hacer click en el botón de editar (imagen 42 .E). Si queremos eliminarlo del presupuesto simplemente haremos click en el botón de eliminar (imagen 42 .F).\n

    \n
  • \n\n
  • \n Agregar Productos (imagen 40 .M):en esta lista encontraremos todos los productos del sistema, los cuales podremos agregar a los presupuestos.\n
    \n \n \"SURSOFT\n \n
    \n
  • \n
\n\n

Editar ingredientes

\n\n

\n En esta pestaña podremos agregar ingredientes particulares al presupuesto.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 43

\n
\n\n

\n El funcionamiento es similar al anterior descripto, en donde encontramos un resumen general con la cantidad de ingredientes agregados y el precio total de los mismos (imagen 43 .A).\n

\n\n

\n Debajo del resumen encontramos las listas de:\n

\n\n
    \n
  • \n Ingredientes Agregados (imagen 43 .B): en esta lista encontraremos los ingredientes agregados al presupuesto, donde se nos dará la información sobre la línea de compra seleccionada para el mismo y el precio final calculado\n según la cantidad indicada (imagen 44 .A).\n\n

    También podremos editar la cantidad modificando su valor (imagen 44 .B) y haciendo click en el botón de editar (imagen 44 .C) o eliminar el ingrediente de la lista (imagen 44 .D).

    \n\n
    \n \n \"SURSOFT\n \n

    Imagen 44

    \n
    \n
  • \n
  • \n Agregar Ingredientes (imagen 43 .C): en esta lista encontraremos todos los ingredientes disponibles del sistema.\n

    \n Aquí deberemos ingresar la cantidad del mismo (imagen 45 .A) y seleccionar la línea de compra (imagen 45 .B) para facilitar un precio de referencia para el mismo y poder agregarlos mediante el botón agregar (imagen 45 .C).\n

    \n\n
    \n \n \"SURSOFT\n \n

    Imagen 45

    \n
    \n
  • \n
\n\n

Editar insumos

\n\n

\n Esta pestaña es similar a la de ingredientes y cuenta con las mismas funcionalidades.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 46

\n
\n\n

\n Un resumen general de cantidad y precio de los insumos agregados (imagen 46 .A) y dos listas:\n

\n\n
    \n
  • \n Insumos Agregados (imagen 46 .B): esta lista presenta todos los insumos que agregamos al presupuesto con el mismo formato de los ingredientes.\n
  • \n
  • \n Agregar Insumos (imagen 46 .C): en esta lista encontramos todos los insumos disponibles en el sistema, los cuales podemos agregar al presupuesto ingresando la cantidad y la línea de compra para establecer el precio de\n referencia para los mismos.\n
  • \n
\n\n

Editar Servicios

\n\n

\n En esta pestaña podremos manejar los servicios agregados y para agregar del presupuesto.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 47

\n
\n\n

\n Como vemos el formato es similar a los anteriores descriptos en donde vemos un resumen general con la cantidad de servicios agregados y el precio de los mismos (imagen 47 .A).\n

\n\n

\n Luego encontramos dos pestañas en donde tendremos las listas:\n

\n\n
    \n
  • \n Servicios Agregados (imagen 47 .B): aquí encontraremos el detalle de los servicios agregados al presupuesto y la posibilidad de modificar los mismos o eliminarlos.\n
  • \n
  • \n Agregar Servicios (imagen 47 .C): en esta lista encontraremos todos los servicios disponibles para ser agregados en el presupuesto.\n
  • \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n

Dias de elaboración

\n\n
\n\n

Introducción

\n\n

\n En esta sección podremos indicar que día se deberán preparar los productos, tanto de ordenes comunes como de productos del presupuesto.\n

\n\n

\n Es importante destacar que para que los empleados vean en la lista de pedidos para preparar los productos, es necesario que se indiquen los días de elaboración de los mismos en esta sección por parte de los administradores, de lo contrario los empleaos\n NO tendrán acceso a los productos que preparar en el día.\n

\n\n

\n También debemos decir que los días de elaboración se pueden indicar con antelación y en diferentes días, los cuales irán apareciendo en la lista de los empleados según el día indicado, pudiendo planificar el trabajo de la semana en un día por parte del\n administrador y olvidarse de ello, siendo que irán apareciendo los trabajos automáticamente según el día.\n

\n\n

\n Para acceder a esta sección iremos al menú lateral y haremos click en Días de elaboración (imagen 48 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 48

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Ordenes comunes

\n\n

\n En esta pestaña encontraremos una lista con todos los productos de pedidos comunes que no han sido preparados.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 49

\n
\n\n

\n En la lista tendremos el nombre del cliente, la fecha de entrega de la orden y los productos de la misma.\n

\n\n

\n Por cada producto podremos indicar su día de elaboración (imagen 49 .A) asignando la fecha correspondiente y haciendo click en el botón de guardar (imagen 49 .B). También podremos eliminar dicha fecha (imagen 49 .C) siempre y cuando el producto no se\n encuentre ya en proceso de elaboración.\n

\n\n

\n Si el pedido tuviera varios productos se mostrará una línea extra para asignar de manera general la fecha a todos los productos del pedido. Esta variante la mostraremos en la siguiente pestaña.\n

\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Ordenes de Presupuestos

\n\n

\n En esta pestaña encontraremos la lista con todos los productos de eventos que fueron confirmados y que no han sido preparados.\n

\n\n

\n Remarcamos que para que los productos aparezcan en esta lista el presupuesto del evento debe estar marcado como Confirmado.\n

\n\n

\n Al igual que en la anterior lista podremos asignar de manera individual los días de elaboración de cada producto (imagen 50 .B) o de manera general asignarles una fecha a todos los productos (imagen 50 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 50

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n

Estadisticas

\n\n
\n\n

Introducción

\n\n

\n En esta página podremos ver tablas y graficas generales referentes a los números de la empresa en diferentes categorías.\n

\n\n

\n Para acceder a esta sección iremos al menú lateral y haremos click en Estadísticas.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Resumen Financiero

\n\n

\n En esta sección podremos ver una tabla con el resumen de Gasto, ingresos, Ganancias y porcentaje para el desarrollador por mes (imagen 51 .B), junto con una gráfica correspondiente a la misma (imagen 51 .C).\n

\n\n

\n Debajo de esta encontraremos otra tabla en donde se detalla los gastos referentes a Sueldos, ingredientes, insumos y servicios (imagen 51 .D), junto con una gráfica con los valores totales (imagen 51 .E).\n

\n\n

\n Estos datos pueden ser filtrados por mes y años (imagen 51 .A).\n

\n\n
\n \n \"SURSOFT\n \n

Imagén 51

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Más vendidos

\n\n

\n En esta página encontraremos una tabla y una gráfica con el top 10 de los productos más vendidos en ordenes comunes pudiendo ser filtrados por mes y año.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Más pedidos en Eventos

\n\n

\n Al igual que la anterior, aquí encontraremos una lista del top 10 de productos más pedidos en presupuestos de eventos, junto con una gráfica de los mismos.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Productividad de empleados

\n\n

\n En esta página veremos una tabla con los trabajos realizados por los empleados según lo registrado por el sistema dándole la posibilidad al administrador de ver los desempeños de los mismos, así como el detalle de cada uno en cuanto a que productos son\n los que preparan.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Ventas por mes

\n\n

\n En esta sección podemos ver una tabla con la cantidad de ventas por mes de la empresa junto con una gráfica para la prospección de las mismas.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n

Opiniones de usuarios

\n\n

\n En esta página podremos ver el feedback que nos dan los usuarios, calificaciones de los mismos y detalles de sus comentarios para ayudar a mejor el servicio.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-ckeditor',\n templateUrl: './ckeditor.component.html',\n styleUrls: ['./ckeditor.component.css']\n})\nexport class CKEditorComponent implements OnInit, OnDestroy {\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n constructor(private cargarScriptsService: CargarScriptsService) { }\n\n ngOnDestroy(): void {\n }\n\n ngOnInit(): void {\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n }\n\n}\n","\n import { Component } from '@angular/core'; \n import { trigger, state, style, animate, transition } from '@angular/animations'; \n \n @Component({ \n selector: 'mouse-animation', \n template: ` \n
\n `, \n styles: [` \n .mymouse { \n background-color: #5c8f52; \n width: 100px; \n height: 100px; \n border-radius: 200px; \n margin: 6rem; \n } \n `], \n animations: [ \n trigger('changeState', [ \n state('rest', style({ \n transform: 'scale(1)' \n })), \n state('hover', style({ \n transform: 'scale(1.8)' \n })), \n state('press', style({ \n transform: 'scale(3.0)', \n backgroundColor: '#8f5a7a' \n })), \n transition('rest => hover', animate('400ms ease-in')), \n transition('hover => rest', animate('200ms ease-out')), \n transition('hover => press', animate('400ms ease-in')), \n transition('press => rest', animate('200ms ease-out')) \n ]) \n \n ] \n }) \n \n export class MouseAnimationComponent { \n currentState:string = \"rest\"; \n \n changeMouseState(state:string) :void { \n this.currentState = state; \n } \n \n } \n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n\n}\n\n\n","\n\n","import { Injectable } from '@angular/core';\n\n//esto es para usa jquery\nvar $;\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class CargarScriptsService {\n\n constructor() { }\n\n cargarScripts(scriptsUrls: ScriptModel[]){\n\n scriptsUrls.forEach(element => {\n\n //limpiamos si ya estuviera cargado el script\n var existe = document.getElementById(element.name);\n\n if(existe != undefined){\n existe.remove();\n }\n\n // cargamos el script nuevo \n let scriptElement = document.createElement(\"script\");\n scriptElement.type = \"text/javascript\";\n scriptElement.src = element.src; \n scriptElement.id = element.name;\n \n scriptElement.onload; \n scriptElement.onerror = (error: any) => {\n console.log(\"no se encontro el script\");\n };\n \n //document.getElementsByTagName('body')[0].appendChild(scriptElement); \n document.getElementById('myScripts').appendChild(scriptElement);\n }); \n }\n\n}\n\nexport interface ScriptModel {\n name: string,\n src: string,\n loaded: boolean\n}\n","//modulos\nimport { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { MatCarouselModule } from '@ngmodule/material-carousel'\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MaterialModule } from './material/material.module';\nimport { ToastrModule } from 'ngx-toastr';\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\nimport {ReactiveFormsModule} from '@angular/forms'\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgxCaptchaModule } from 'ngx-captcha';\n\n//paginas\nimport { MasterPageComponent } from './master-page/master-page.component';\nimport { InicioComponent } from './inicio/inicio.component';\nimport { TecnologiasComponent } from './tecnologias/tecnologias.component';\n//import { LaboratorioComponent } from './laboratorio/laboratorio.component';\nimport { PortafolioComponent } from './portafolio/portafolio.component';\nimport { AboutComponent } from './about/about.component';\nimport { ContactComponent } from './contact/contact.component';\n//import { PruebasComponent } from './pruebas/pruebas.component';\n\n//componentes personalizados\nimport { AlertComponent } from './utilidades/alert/alert.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { ParallaxComponent } from './utilidades/parallax/parallax.component';\nimport { DemoAnimationComponent } from './utilidades/demo-animation/demo-animation.component'\nimport { MouseAnimationComponent} from './utilidades/mouse-animation/mouse-animation.component';\nimport { CarouselComponent} from './utilidades/carousel/carousel.component';\nimport { CardCustomComponent } from './utilidades/card-custom/card-custom.component';\nimport { Carousel2Component } from './utilidades/carousel2/carousel2.component';\nimport { CKEditorComponent } from './utilidades/ckeditor/ckeditor.component';\nimport { DetallesMadrigueraComponent } from './detalles-madriguera/detalles-madriguera.component';\nimport { DetallesOdontoComponent } from './detalles-odonto/detalles-odonto.component';\nimport { DetallesLunchboxComponent } from './detalles-lunchbox/detalles-lunchbox.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n MasterPageComponent,\n InicioComponent,\n PortafolioComponent,\n AboutComponent,\n ContactComponent,\n //PruebasComponent,\n AlertComponent,\n FooterComponent,\n ParallaxComponent,\n DemoAnimationComponent,\n MouseAnimationComponent,\n CarouselComponent,\n CardCustomComponent,\n Carousel2Component,\n TecnologiasComponent,\n //LaboratorioComponent,\n CKEditorComponent,\n DetallesMadrigueraComponent,\n DetallesOdontoComponent,\n DetallesLunchboxComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n MaterialModule,\n MatCarouselModule.forRoot(),\n ToastrModule.forRoot(),\n CKEditorModule,\n ReactiveFormsModule,\n HttpClientModule,\n NgxCaptchaModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","export class Alert {\r\n id: string;\r\n type: AlertType;\r\n message: string;\r\n autoClose: boolean;\r\n keepAfterRouteChange: boolean;\r\n fade: boolean;\r\n\r\n constructor(init?:Partial) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n\r\nexport enum AlertType {\r\n Success,\r\n Error,\r\n Info,\r\n Warning\r\n}","import { HttpClient } from '@angular/common/http';\nimport { ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { environment } from '../../environments/environment';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class ContactComponent implements OnInit {\n\n @ViewChild('recaptcha', {static: true }) recaptchaElement: ElementRef;\n \n constructor(private FormBuilder: FormBuilder, private httpClient: HttpClient) { }\n\n form: FormGroup;\n responseMessageError: string =\"\";\n responseMessageSuccess: string =\"\";\n isSending:boolean = false;\n \n //key del captcha de desarrollo\n siteKey:string = environment.captchaSiteKey;\n theme:string=\"Dark\";\n \n //direccion de la app que se genera en google para los mails\n private MY_GOOGLE_WEB_APP: string = environment.appDeMailGoogle;\n\n ngOnInit(): void {\n this.form = this.FormBuilder.group({\n nombre:['', \n {\n validators: [Validators.required, Validators.minLength(3)]\n }],\n email:['', \n {\n validators: [Validators.required, Validators.email]\n }],\n mensaje:['', \n {\n validators: [Validators.required, Validators.minLength(3), Validators.maxLength(500)]\n }],\n recaptcha: ['', Validators.required]\n });\n }\n\n enviarMensaje(): void{\n\n if(this.form.valid){\n // desactiva el formulario para evitar el envio de multiples submits\n this.isSending=true;\n \n //obtenemos los datos del formulario\n var formData: any = new FormData();\n formData.append(\"name\", this.form.get(\"nombre\").value);\n formData.append(\"email\", this.form.get(\"email\").value);\n formData.append(\"message\", this.form.get(\"mensaje\").value);\n \n //hacemos la llamada a nuestro app de google\n this.httpClient.post(this.MY_GOOGLE_WEB_APP, formData)\n .subscribe((response) => {\n //selector de la respuesta del mensaje\n if(response[\"result\"] == \"success\"){\n this.responseMessageSuccess = \"Gracias por tu mensaje! Te respondere lo antes posible!\"; \n } else {\n this.responseMessageError= \"Oops!! Algo salió mal... recarga la página e intentalo de nuevo.\";\n }\n\n this.limpiarFormulario();\n },\n (error) => {\n this.responseMessageError = \"Oops! Ocurrió un error inesperado... Recarga la página e intentalo nuevamente\";\n this.limpiarFormulario();\n }); \n }\n }\n\n limpiarFormulario(){\n this.isSending=false;\n this.form.reset(); \n }\n \n //contador de caracteres para el text area\n textarea:string= \"\";\n onCommentChange(){\n var text = this.form.get('mensaje');\n this.textarea= text.value;\n }\n\n obtenerErrorNombre(){ \n var campo = this.form.get('nombre');\n\n if(campo.hasError('required')){\n return 'El campo nombre es requerido.';\n }\n\n if(campo.hasError('minlength')){\n return 'El nombre debe tener 3 caracteres como minimo.';\n }\n\n return '';\n }\n\n obtenerErrorEmail(){ \n var campo = this.form.get('email');\n\n if(campo.hasError('required')){\n return 'El campo email es requerido.';\n }\n\n return 'El email no es válido';\n\n }\n\n obtenerErrorMensaje(){\n var campo = this.form.get('mensaje');\n\n if(campo.hasError('required')){\n return 'El campo Mensaje es requerido';\n }\n\n if(campo.hasError('minlength')){\n return 'El mensaje debe tener 3 caracteres como minimo.';\n }\n\n if(campo.hasError('maxlength')){\n return 'El mensaje debe tener 500 caracteres como máximo.';\n }\n\n return '';\n }\n\n}\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n

Contácto

\r\n

Si tienes cualquier pregunta, puedes hacérmela llegar por los siguientes medios o a través del formulario de esta página y te responderé lo antes posible.

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

Correo

\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Telegram

\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n {{responseMessageSuccess}}\r\n \r\n
\r\n \r\n
\r\n {{responseMessageError}}\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Enviando mensaje...

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n Nombre*\r\n \r\n {{obtenerErrorNombre()}}\r\n \r\n\r\n \r\n \r\n Email*\r\n \r\n {{obtenerErrorEmail()}}\r\n \r\n\r\n \r\n \r\n Mensaje*\r\n \r\n {{textarea.length || 0}}/500\r\n {{obtenerErrorMensaje()}}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n
","
\n \n \"...\"\n \n\n
\n

{{title}}

\n

\n {{description}}\n

\n\n
\n \n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-card-custom',\n templateUrl: './card-custom.component.html',\n styleUrls: ['./card-custom.component.css']\n})\nexport class CardCustomComponent implements OnInit {\n \n constructor() {\n }\n\n @Input() imageSrc: string;\n @Input() title: string;\n @Input() description: string;\n\n @Input() srcSaberMas: string = \"\";\n\n //boton de demo\n @Input() btnText: string = \"ver Demo\";\n @Input() demoSrc: string;\n @Input() targetDemo: string = \"\";\n\n ngOnInit(): void {\n }\n\n}\n","import { _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport { Component, OnInit } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../utilidades/cargar-scripts.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n constructor(private cargarScriptsService: CargarScriptsService) { }\n\n fechaHoy = new Date().getFullYear();\n\n scriptsNecesarios: ScriptModel[] = [\n {name: \"tooltips\", src: \"assets/bootstrap/js/InitTooltips.js\", loaded: false}\n ];\n\n ngOnInit(): void {\n this.cargarScriptsService.cargarScripts(this.scriptsNecesarios);\n\n }\n\n \n}\n","
\n\n \n
\n
\n\n \n
\n

© SUR SOFT

\n \n

Gracias por visitar este sitio, estoy a tu disposición por cualquier consulta que tengas, sobre presupuestos y proyectos que hagan avanzar y desarrollar a tu empresa.

\n
\n\n \n
\n

Dev. Sebastián Ualde Ramírez

\n \n
\n \n \n \n
\n
\n\n \n \n
\n
\n\n \n
\n
\n ©Copyright 2016 - {{fechaHoy}} SUR-SOFT SOLUCIONES by SURSOFT.org \n
\n
\n\n
","
\n\n
    \n
  1. \n
\n\n
\n
\n
\n\n
\n \n
\n \"\"\n
\n\n \n
\n\n
\n {{slide.titulo}}\n
\n

{{slide.descripcion}}

\n
\n\n
\n
\n
\n
\n
\n\n \n \n \n Anterior\n \n \n \n Siguiente\n \n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-carousel2',\n templateUrl: './carousel2.component.html',\n styleUrls: ['./carousel2.component.css']\n})\nexport class Carousel2Component implements OnInit {\n\n @Input() carouselId:string =\"\";\n @Input() carHeight:string =\"400px\";\n \n //formato: {slideNumber:0, image: 'assets/carousel/1.jpg', isActive: 'active', titulo: 'Un titulo de slide', descripcion: 'una descripcion'}\n @Input() slides: string[] = [];\n\n carouselTarget: string;\n\n constructor() { }\n\n ngOnInit(): void {\n this.carouselTarget= \"#\" + this.carouselId;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatToolbarModule} from '@angular/material/toolbar'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatButtonModule } from '@angular/material/button'\nimport {MatMenuModule} from '@angular/material/menu'\nimport {MatSidenavModule} from '@angular/material/sidenav'\nimport {MatTabsModule} from '@angular/material/tabs'\nimport {MatListModule} from '@angular/material/list'\nimport {MatFormFieldModule} from '@angular/material/form-field'\nimport {MatSelectModule} from '@angular/material/select'\nimport {MatGridListModule} from '@angular/material/grid-list'\nimport { MatInputModule } from '@angular/material/input';\nimport {MatTreeModule } from '@angular/material/tree';\nimport {MatExpansionModule } from '@angular/material/expansion';\n\n@NgModule({\n declarations: [],\n exports:[\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatMenuModule,\n MatSidenavModule,\n MatTabsModule,\n MatListModule,\n MatFormFieldModule,\n MatSelectModule,\n MatGridListModule,\n MatInputModule,\n MatTreeModule,\n MatExpansionModule\n ],\n imports: [\n CommonModule\n ]\n})\nexport class MaterialModule { }\n","import { FlatTreeControl } from '@angular/cdk/tree';\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { TemaNode, IndiceFlatNode } from '../utilidades/tree-model';\nimport { Router } from '@angular/router';\nimport { MatSidenav } from '@angular/material/sidenav';\n\n@Component({\n selector: 'app-detalles-madriguera',\n templateUrl: './detalles-madriguera.component.html',\n styleUrls: ['./detalles-madriguera.component.css']\n})\n\nexport class DetallesMadrigueraComponent implements OnInit, OnDestroy {\n\n panelOpenState = false;\n\n \n constructor(private router: Router) { }\n \n ngOnInit(): void {\n //seteamos en el datosourse del arbol los datosD\n this.dataSource.data = this.INDICE_DATA;\n window.addEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"scroll\", this.scrollEvent, true);\n }\n\n volver(){\n this.router.navigate(['portafolio/3/madriguera']);\n }\n\n scrollEvent() {\n const position = document.body.getBoundingClientRect().top;\n const btnScroll = document.getElementById(\"scrollBtn\");\n const btnIndice = document.getElementById(\"indiceBtn\");\n //console.log(position);\n if(position < -530){\n btnScroll.hidden = false;\n }else{\n btnScroll.hidden = true;\n }\n\n if(position < -65){\n btnIndice.hidden = false;\n }else{\n btnIndice.hidden = true;\n }\n }\n\n scrollTop(){\n window.scrollTo(0, 0);\n }\n\n @ViewChild('drawer3') sidenav: MatSidenav;\n\n scrollTo(elementId: string){\n //console.log(elementId);\n //obtenemos la posicion del scroll actual\n const scrollActual = window.scrollY;\n\n //obtenemos la posicion del elemento buscado y le restamos 63 del alto del menu y le sumamos el scroll actual que tuviera al momento de presionar el boton\n const scrollY = document.querySelector(elementId).getBoundingClientRect().top -63 +scrollActual;\n\n //nos desplazamos a la posicion dentro del div correspondiente\n window.scrollTo(0, scrollY);\n\n this.sidenav.close();\n }\n\n\n //cosas para el indice\n INDICE_DATA: TemaNode[] = [\n {\n id: \"#sec1\",\n name: 'Introducción al sistema',\n },\n {\n id: \"#sec2\",\n name: 'Usuarios del sistema',\n }, \n {\n id: \"#sec3\",\n name: 'Registro de clientes'\n }, \n {\n id: \"#sec4\",\n name: 'Logueo',\n }, \n {\n id: \"#sec5\",\n name: 'Secciones de la aplicación',\n children: [\n {id: \"#sec5\",name: 'Introducción'},\n {id: \"#sec6\",name: 'Menu Horizontal'},\n {id: \"#sec7\",name: 'Menu Lateral'}\n ]\n }, \n {\n id: \"#sec8\",\n name: 'Páginas Publicas',\n children: [\n {id: \"#sec8\", name: 'Introducción'},\n {id: \"#sec9\", name: 'Página de inicio'},\n {id: \"#sec10\", name: 'Página de libros'},\n {id: \"#sec11\", name: 'Página de musica'},\n {id: \"#sec12\", name: 'Página de juegos'},\n {id: \"#sec13\", name: 'Página de recomendados'},\n {id: \"#sec14\", name: 'Página de destacados'},\n {id: \"#sec15\", name: 'Página de Nosotros'},\n {id: \"#sec16\", name: 'Página de contácto'}\n ]\n }, \n {\n id: \"#sec17\",\n name: 'Páginas Privadas',\n children: [\n {id: \"#sec17\",name: 'Introducción'},\n {id: \"#sec18\",name: 'Página de escritorio'},\n {id: \"#sec19\",name: 'Página de usuarios'},\n {id: \"#sec20\",name: 'Página de administradores'},\n {id: \"#sec21\",name: 'Cambiar password'},\n {id: \"#sec22\",name: 'Recuperar password'},\n {id: \"#sec23\", name: 'Página de proveedores'},\n {id: \"#sec24\", name: 'Catálogo de proveedor',\n children: [\n {id: \"#sec24\",name: 'Introducción'},\n {id: \"#sec25\", name: 'Agregar productos con Excel'},\n {id: \"#sec26\", name: 'Editar productos con Excel'},\n {id: \"#sec27\", name: 'Eliminación de catalogo'},\n {id: \"#sec28\", name: 'Agregar un producto'},\n {id: \"#sec29\", name: 'Editar un producto'},\n {id: \"#sec30\", name: 'Eliminar un producto'},\n {id: \"#sec31\", name: 'Creación de códigos QR'},\n \n ]\n },\n {id: \"#sec32\", name: 'Página de ventas'},\n {id: \"#sec38\", name: 'Página Recomendados Admin'},\n {id: \"#sec39\", name: 'Página destacados Admin'},\n {id: \"#sec40\", name: 'Página posts Admin'},\n {id: \"#sec41\", name: 'Deshabilitar compras web'},\n ]\n }\n ];\n\n //recibe un nodo y un numero de nivel y determina si es expandible porque si tiene hijos en su array, setea elñ nombre y el nivel\n private _transformer = (node: TemaNode, level: number) => {\n return {\n id: node.id,\n expandable: !!node.children && node.children.length > 0,\n name: node.name,\n level: level,\n };\n }\n\n //encapsula el nivel y si es expansible el nodo\n treeControl = new FlatTreeControl(node => node.level, node => node.expandable);\n\n //normaliza los datos del nodo, nivel, expansion e hijos\n treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);\n\n //encapsula el control de expansion del arbol y los nodos normalizados\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\n\n hasChild = (_: number, node: IndiceFlatNode) => node.expandable;\n\n}\n","\n
\n\n \n\n
\n
\n\n \n
\n\n\n\n \n \n
\n\n \n
\n

Índice

\n \n \n \n
\n\n \n \n\n \n \n\n \n {{node.name}}\n \n \n\n \n \n \n\n \n \n
\n
\n\n \n \n \n\n \n\n \n
\n \n
\n
\n \"SURSOFT\n
\n
\n
\n\n
\n\n

Introducción

\n\n \n
\n\n \n
\n\n

\n La aplicación de lamadrigueralibros.com fue desarrollada originalmente como una herramienta de gestión para el manejo interno de la empresa, posteriormente el cliente solicito una expansión de la misma, en donde se pudiera\n incorporar una funcionalidad de tipo e-Commerce y el agregado de una nueva categoría (juegos de mesa) con integración a Mercado Pago para la recepción de los pagos.\n

\n\n

RESUMEN

\n

\n Para llevar a cabo el proyecto utilice .Net Core 5, razor pages, MVC, Boostrap, SQL Server para la DB e integración con Mercado Pago para las compras online.\n

\n

En este proyecto se ofrecen las siguientes funcionalidades:

\n
    \n
  • Control de usuarios y proveedores
  • \n
  • Agilización de las tareas de control de stock libros, Cds y juegos de mesa
  • \n
  • CRUD para gestión de catálogos masivos
  • \n
  • CRUD para post de la página principal
  • \n
  • Marcado de precios de los productos a través de códigos QR
  • \n
  • Administración de ventas
  • \n
  • Carrito de compras integrado a Mercado Pago
  • \n
  • Reportes de:\n
      \n
    • Artículos más vendidos
    • \n
    • Cantidad de ventas
    • \n
    • Recaudación de la empresa
    • \n
    • Ventas por proveedor
    • \n
    • Comparación de ventas Online vs Local
    • \n
    • Resumen de ganancias
    • \n
    \n
  • \n\n
\n
\n\n \n
\n \n \"SURSOFT\n \n \n \"SURSOFT\n \n
\n
\n
\n
\n\n \n
\n
\n

Usuarios del sistema

\n\n
\n

\n Originalmente la aplicación contaba con un tipo de usuario llamado Admin el cual era el encargado de todo lo referente a la administración propia del sistema, como pueden ser gestión de proveedores, gestión de los productos, generación de reportes, etc.\n

\n

\n En la versión 2 se incorpora un usuario de tipo cliente, que interactúa en el sistema realizando los pedidos.\n

\n

\n Actores del sistema:\n

\n
    \n
  • Super Administrador
  • \n
  • Administradores
  • \n
  • Clientes
  • \n
\n
\n
\n
\n\n \n
\n
\n \n

Registro de clientes

\n\n
\n

\n Los clientes deberán registrarse proporcionando una serie de datos personales que servirán para realizar los envíos de sus pedidos.\n

\n

\n Para ello en el menú superior encontraran los botones de, Registrarse y Entrar en caso de que ya esten registrados.\n

\n\n \n \"SURSOFT\n \n\n

Registro

\n

Al darle al botón de registrarse se pasará al formulario de registro que se muestra a continuación:

\n\n

\n Una vez completados los datos requeridos, se le enviara al cliente un mail con un token de seguridad para que confirme su correo y así pueda activar su cuenta con el siguiente formato:\n

\n\n
\n \n \"SURSOFT\n \n\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n \n
\n
\n \n

Logueo

\n\n
\n

Una vez completado el registro, cualquier usuario del sistema podrá ingresar a través del botón de entrar y completando el formulario con sus credenciales.

\n

Según el nivel que tenga el mismo, el sistema mostrara mas o menos elementos de interacción.

\n
\n
\n \n \"SURSOFT\n \n
\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n \n
\n
\n \n

Secciones de la aplicación

\n\n
\n

La aplicación cuenta con dos menús en su interfaz, una horizontal (img 3.1) y una lateral (img 3.2).

\n\n
\n \n \"SURSOFT\n \n

imagen 3

\n
\n
\n
\n
\n\n \n
\n
\n\n
\n \n

Menú horizontal

\n

En este menú encontraremos accesos rápidos para:

\n
    \n
  • Escritorio: aquí encontraremos todas las secciones de administración de la empresa (img. 4.1).
  • \n
  • Carrito de compras: aquí es donde los administradores finalizaran las compras de los clientes en el local y los clientes comunes encontraran sus productos seleccionados (img. 4.2).
  • \n
  • Notificaciones: aquí encontraremos notificaciones referentes a las compras de clientes y cancelaciones o cambios de estado de las mismas, tanto para administradores como para clientes (img. 4.3).
  • \n
  • Perfil de usuario: este desplegará la información de cada usuario, en donde podrán modificar sus datos incluido el password de su cuenta. En el caso de los clientes también se proporcionará un link a sus compras (anteriores)\n para que puedan visualizar el estado de las mismas (img. 4.3).
  • \n
\n

Estas secciones se describirán más adelante.

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 4 (visión Admin)

\n
\n
\n \n \"SURSOFT\n \n

(visión Cliente)

\n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Menú lateral

\n

El menú lateral dispone de accesos a todas las páginas de la aplicación, tanto de acceso público para todos los usuarios (img. 5.1), como de acceso privado solo para administradores (img. 5.2).

\n
\n \n \"SURSOFT\n \n

Imagen 5

\n
\n
\n
\n\n
\n\n \n
\n
\n \n

Páginas públicas

\n\n
\n

Estas páginas contendrán información accesible para cualquier usuario.

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de inicio

\n

Esta sección es la inicial del sistema, presenta el logo de la empresa y 4 secciones en donde se muestran (img. 6).:

\n
    \n
  • Productos más vendidos (10 productos)
  • \n
  • Productos recomendados (10 productos en orden por fecha)
  • \n
  • Productos destacados (10 productos en orden por fecha)
  • \n
  • Posteos recientes hechos por los administradores (10 posts más recientes). Dichos posteos y destacados serán descriptos más adelante en su sección correspondiente.
  • \n
\n
\n \n \"SURSOFT\n \n

Imagen 6

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de libros

\n

\n En esta página se presentará un resumen de los libros más vendidos del sistema seguido de una lista con todos los libros del sistema.\n

\n

\n Dicha lista podrá visualizarse en formato de tarjetas (por defecto) y en formato de lista pudiendo ser filtrada por cantidad, o búsqueda por palabras clave y en caso de administradores por Facturados o consignados.\n

\n
\n \n \"SURSOFT\n \n
\n
\n
\n \n \"SURSOFT\n \n

Vista de Tarjetas

\n
\n
\n \n \"SURSOFT\n \n

Vista de lista

\n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de música

\n

\n En esta página al igual que en la de libros se presentará un resumen de los CDs más vendidos del sistema seguido de una lista con todos los Cds del sistema.\n

\n

\n Dicha lista podrá visualizarse en formato de tarjetas (por defecto) y en formato de lista pudiendo ser filtrada por cantidad, o búsqueda por palabras clave y en caso de administradores por Facturados o consignados.\n

\n
\n \n \"SURSOFT\n \n
\n
\n
\n \n \"SURSOFT\n \n

Vista de Tarjetas

\n
\n
\n \n \"SURSOFT\n \n

Vista de lista

\n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de Juegos

\n

\n En esta página al igual que en la de libros y música se presentará un resumen de los Juegos más vendidos del sistema seguido de una lista con todos los Juegos de mesa del sistema.\n

\n

\n Dicha lista podrá visualizarse en formato de tarjetas (por defecto) y en formato de lista pudiendo ser filtrada por cantidad, o búsqueda por palabras clave y en caso de administradores por Facturados o consignados como en los anteriores casos descriptos.\n

\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de Recomendados

\n

\n En esta página se expondrán todos aquellos productos que los administradores hayan marcado como recomendados, sin límite, ordenados por fecha como en la página de inicio.\n

\n

\n El formato de la página es la misma que en los anteriores contando con vistas de tipo Tarjetas o de tipo lista.\n

\n
\n
\n \n \"SURSOFT\n \n
\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de Destacados

\n

\n En esta página se expondrán todos aquellos productos que los administradores hayan marcado como destacados, sin límite, ordenados por fecha como en la página de inicio.\n

\n

\n El formato de la página es la misma que en la de recomendados contando con vistas de tipo Tarjetas o de tipo lista.\n

\n
\n
\n \n \"SURSOFT\n \n
\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Página de Nosotros

\n

\n En esta sección se presenta una descripción de la empresa, objetivos, integrantes o cualquier información que se quiera dar de la misma.\n

\n
\n
\n \n \"SURSOFT\n \n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de contacto

\n\n

\n En esta página se ofrece a los usuarios toda la información de contacto de la empresa, dirección, teléfonos, correo electrónico y también un formulario de contacto directo en donde los usuarios podrán realizar sus consultas las cuales llegarán al correo\n que el cliente elija (img. 8).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 8

\n
\n
\n
\n\n
\n\n \n
\n
\n \n

Paginas privadas

\n\n
\n

\n Esta paginas les brindan a los administradores la posibilidad de manejar todo lo referente al sistema.\n

\n

Las mismas son:

\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n \n
      \n
    • \n
    • \n
    • \n
    • \n
    • \n
    • \n
    • \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de escritorio

\n

Esta sección es accesible tanto del menú horizontal como del lateral como ya se indicó anteriormente.

\n

A través de la misma se podrá acceder al resto de regiones del sistema de manera rápida.

\n
\n \n \"SURSOFT\n \n

Imagen 9

\n
\n
\n
\n\n
\n\n \n
\n
\n
\n

Página de Usuarios

\n

En esta página se desplegará una tabla con todos los clientes del sistema.

\n

En la misma los administradores tendrán acceso a los datos del cliente (img. 10.1, img. 11), excepto su password, y tendrán la posibilidad de Banear (deshabilitar) a un usuario si su comportamiento incumple con las reglas de la empresa\n (img. 10.2).

\n
\n
\n \n \"SURSOFT\n \n

Imagen 10

\n
\n
\n \n \"SURSOFT\n \n

Imagen 11

\n
\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n \n

Página de administradores

\n

Aquí se desplegará una lista con todos los administradores del sistema, incluido el super administrador.\n

\n

En ella se podrá agregar (img. 12.1), modificar (img. 12.2) o eliminar (img. 12.3) un administrador del sistema.

\n
\n \n \"SURSOFT\n \n

Imagen 12

\n
\n\n \n

Agregar administrador

\n

Para agregar un administrador deberemos hacer clic en el botón de agregar admin (img. 12.1), el cual nos desplegara una página con los datos requeridos para el mismo.

\n

Una vez ingresados todos los datos del nuevo admin, se deberá dar clic en agregar admin (img. 13.1) para confirmar la acción. Si todo es correcto se nos devolverá a la página anterior y podremos ver en la lista al admin agregado (img.\n 14).\n

\n
\n
\n \n \"SURSOFT\n \n

Imagen 13

\n
\n
\n \n \"SURSOFT\n \n

Imagen 14

\n
\n
\n\n \n

Editar administrador

\n

Para editar un administrador deberemos darle clic al botón de edición en la lista, el cual nos llevara a la página de edición del mismo (img. 15.1).

\n
\n \n \"SURSOFT\n \n

Imagen 15

\n
\n

\n Cabe destacar que no todos los campos pueden ser modificados, como se puede ver el email no puede ser modificado ya que es el identificador del usuario en el sistema. Si el mismo fue ingresado incorrectamente se deberá eliminar\n al usuario directamente.\n

\n

\n Tampoco es posible modificar el password por razones de seguridad. El único que puede realizar esa acción es el propietario de la cuenta para lo cual deberá estar logueado en el sistema o ingresar en la sección de recuperación de password, en donde se\n le solicitara el mail que lo identifica en el sistema a donde se le enviaran instrucciones para la actualización del mismo.\n

\n

Una vez modificados los datos se deberá confirmar la acción haciendo clic en el botón de actualizar (img. 16.1). Se nos confirmara si la acción fue exitosa o no (img. 16.2).

\n
\n
\n \n \"SURSOFT\n \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 16

\n
\n
\n\n \n

Eliminar administrador

\n

Para eliminar un administrador simplemente se deberá dar clic en el botón de eliminación (img. 17) de la lista respectivo el cual nos pedirá una confirmación de la acción por seguridad (img. 18).\n

\n
\n \n \"SURSOFT\n \n

Imagen 17

\n
\n

Al presionar eliminar se nos informara si la acción tuvo éxito o no.

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 18

\n
\n\n
\n \n \"SURSOFT\n \n

Imagen 19

\n
\n
\n
\n
\n\n
\n\n \n
\n
\n
\n

Cambiar de password

\n

Para actualizar el password del usuario se deberá hacer clic en el nombre del mismo (img. 20.1), en el menú horizontal e ingresar en la opción “Mi perfil” (img. 20.2)

\n

Una vez en la página de actualización de datos del usuario se deberá hacer clic en el botón de cambiar password (img. 21.1), el cual nos desplegara la página donde se solicitarán: el password actual, el nuevo y la confirmación del\n nuevo (img. 22).

\n
\n
\n \n \"SURSOFT\n \n

Imagen 20

\n
\n
\n \n \"SURSOFT\n \n

Imagen 21

\n
\n
\n\n

Para confirmar el nuevo password solo deberemos dar clic en actualizar y listo.

\n
\n \n \"SURSOFT\n \n

Imagen 22

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Recuperar password

\n

En caso de haber olvidado el password de nuestra cuenta, en la página de logueo deberemos hacer clic en el link de “¿Olvidaste tú password?” (img. 23.1) el cual nos llevará a la página de recuperación que nos pedirá nuestro\n mail de cuenta (img. 24).

\n

Una vez ingresado nuestro mail y presionado el botón de recuperar password se nos enviará un mail con un link el cual nos llevará a la página de recuperación, en la cual ingresaremos el nuevo password.

\n

Si todo fue correcto ya se habrá restaurado tu password y se podrá ingresar normalmente en la página de Login.

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 23

\n
\n
\n \n \"SURSOFT\n \n

Imagen 24

\n
\n
\n \n \"SURSOFT\n \n

Imagen 25

\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n\n \n

Página de proveedores

\n

A través de esta página podremos agregar, editar o eliminar proveedores y manejar todo lo referente al catálogo de los mismos, tanto de manera individual como de forma masiva.

\n

Para acceder a esta sección lo podremos hacer desde el menú lateral desde administración/Proveedores o desde la página de escritorio ingresando en el botón de proveedores.\n

\n
\n
\n \n \"SURSOFT\n \n

Imagen 26

\n
\n
\n \n \"SURSOFT\n \n

Imagen 26

\n
\n
\n

La página de proveedores nos desplegara una lista con todos los proveedores del sistema, mostrándonos sus datos básicos y opciones para agregar nuevo (img. 27.1), detalles (img. 27.2), edición (img. 27.3) o eliminación de los mismos (img. 27.4).

\n

También presentara un botón de Catalogo en donde tendremos acceso a el mismo (img. 27.5).

\n\n
\n \n \"SURSOFT\n \n

Imagen 27

\n
\n\n \n

Agregar proveedor

\n

\n Como anteriormente se vio en administradores, para agregar un nuevo proveedor deberemos dar clic en el botón de agregar nuevo (img. 27.1). Esto nos llevara al formulario para ingresar los datos del mismo.\n

\n

\n En el formulario (img. 28), vemos que solo podremos ingresar un teléfono, pero luego de confirmada la creación, mediante la edición se podrán agregar más teléfonos al proveedor, como veremos más adelante.\n

\n

Al crearse el proveedor, se redirigirá a la lista de proveedores indicándonos el éxito de la operación o no (img. 29.1).

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 28

\n
\n
\n \n \"SURSOFT\n \n

Imagen 29

\n
\n
\n\n \n

Editar proveedor

\n

\n En esta sección podremos editar los datos del proveedor y agregar más teléfonos de contacto para el mismo.\n

\n

\n Para ingresar un nuevo teléfono tendremos que colocar el numero en el campo de teléfono y hacer clic en el botón de guardar.\n

\n
\n
\n \n \"SURSOFT\n \n

Imagen 30

\n
\n
\n \n \"SURSOFT\n \n
\n
\n\n \n

Eliminar proveedor

\n

\n Para eliminar un proveedor bastara con darle clic al botón de eliminar en la lista y confirmar la eliminación.\n

\n
\n
\n
\n\n \n
\n
\n
\n

Catálogo de proveedor

\n\n

En esta sección podremos hacer el mantenimiento de los catálogos de los diferentes proveedores.\n

\n

Para acceder a los mismo, bastara con hacer clic en el botón de catálogo en la lista de proveedores. Esto nos desplegara una lista con los productos del proveedor seleccionado.

\n
\n \n \"SURSOFT\n \n

Imagen 31

\n
\n\n

\n En la página de catálogo tendremos la opción de agregar productos de a uno (img. 32.1) o agregarlos masivamente a través de un archivo Excel, el cual deberá tener una estructura que indicaremos más adelante\n para que la inserción sea correcta en la base de datos.\n

\n

\n \n La opción para utilizar Excel en la carga masiva solo está disponible para libros y cds.\n \n

\n

Para los juegos de mesa solo estará disponible la carga manual.

\n

La página nos mostrara un resumen de la cantidad de libros, Cds y juegos de mesa que tiene el proveedor y un total de todo el catálogo del mismo (img. 32.2).

\n

Las listas estarán divididas en libros (img. 32.3), Cds y vinilos (img. 32.4) y Juegos de mesa (img. 32.5) para su consulta y o edición en particular de cada elemento.

\n

Desde aquí también se podrán agregar productos al carrito por medio del botón de agregar (img. 32.7).\n

\n

También podremos acceder a la generación de códigos QR para cada libro por medio del botón de stock (img. 32.6) que veremos en un momento.

\n
\n \n \"SURSOFT\n \n

Imagen 32

\n
\n\n

\n Si el proveedor no cuenta con ningún libro en su catálogo estará disponible el botón de agregado masivo por medio de un Excel (img. 33.1).\n \n Recordamos que esta carga masiva es solo valida para\n libros y Cds los juegos de mesa deberán ser cargados de manera individual en su pestaña.\n \n

\n
\n \n \"SURSOFT\n \n

Imagen 33

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Agregar productos con Excel

\n\n

Para agregar directamente cientos o miles de productos por medio de una tabla Excel se deberán tener las siguientes consideraciones:

\n\n
    \n
  1. \n La tabla deberá tener una fila inicial con los títulos de las columnas como se muestra en la imagen 34\n
    \n \n \"SURSOFT\n \n

    Imagen 34

    \n
    \n
  2. \n\n
  3. \n

    El campo de código debe ser de tipo TEXTO.

    \n\n \n \n\n \n \n \n Ver Procedimiento\n \n \n\n
      \n
    1. \n Podemos determinar que la columna es de este tipo notando el pequeño triangulo en la esquina superior izquierda de la casilla.\n
      \n \n \"SURSOFT\n \n
      \n
    2. \n\n
    3. \n Si no tuviéramos ese triangulo deberemos convertir los valores, para ello nos colocaremos en la casilla de código y daremos clic derecho, insertar/ toda una\n columna\n
      \n
      \n \n \"SURSOFT\n \n
      \n
      \n \n \"SURSOFT\n \n
      \n
      \n

      Esto nos creara una columna a la izquierda del código. Ahora tendremos que copiar el cabezal de la columna de código y pegarlo en la primera celda

      \n
      \n \n \"SURSOFT\n \n
      \n
    4. \n\n
    5. \n Luego nos colocaremos en la primera casilla debajo del título de código y pondremos ‘ (apostrofe) y el primer número de código y daremos enter\n
      \n \n \"SURSOFT\n \n
      \n
    6. \n\n
    7. \n Por ultimo en la segunda casilla colocaremos nuevamente ‘ (apostrofe) y automáticamente se convertirán todos los valores de código al formato de texto requerido.\n
      \n \n \"SURSOFT\n \n
      \n
    8. \n\n
    9. \n Ahora solo eliminaremos la columna de código que tuviera el formato numérico y listo, para ello haremos clic derecho sobre la misma y daremos en eliminar y luego toda la columna.\n
      \n
      \n \n \"SURSOFT\n \n
      \n
      \n \n \"SURSOFT\n \n
      \n
      \n
    10. \n
    \n
    \n\n
    \n
    \n\n
  4. \n\n
  5. \n Los campos título, descripción, autores, géneros y editorial también deberán ser texto, pero estos no requieren conversión ya que de por si ya son de ese tipo\n
  6. \n\n
  7. \n Los campos precio, stock, IsAudio e IsFacturado deberán ser numéricos. Tampoco requieren de conversión.\n
  8. \n\n
  9. \n \n Se debe tener en cuenta que para que un artículo sea marcado como audio deberá tener un valor su celda sin importar cual, de lo contrario el mismo quedara marcado como libro (SIN VALOR = Libro)\n\n
  10. \n\n
  11. \n \n Lo mismo ocurre para el campo IsFacturado, el cual para ser marcado como tal se deberá poner un valor numérico en si campo (img. 34.10), si el mismo queda vacío ese producto será tomado como consignado\n \n
  12. \n\n
\n\n
\n

\n IMPORTANTE: asegurarse que al final de la tabla no hay filas vacías, para ellos ir al final de los datos y eliminar las últimas filas vacías de la tabla por seguridad.\n

\n
\n\n
\n \n \"SURSOFT\n \n
\n\n

Una vez procesado correctamente el archivo Excel ya se podrá hacer la inserción masiva.

\n

Para ello haremos clic en el botón de añadir catalogo (img. 35.1), cargaremos el archivo en la ventana (img. 35.2) y le daremos al botón de subir (img. 35.3).

\n

Si todo es correcto se nos mostrará un mensaje de éxito y la lista estará cargada con los valores indicados en el Excel (img. 36.1).

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 35

\n
\n
\n \n \"SURSOFT\n \n

Imagen 36

\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n
\n

Editar productos con Excel

\n\n

La modificación masiva es similar al agregado por lo cual se deberán tener los mismos recaudos en cuanto al archivo Excel.

\n\n

Cabe destacar que la actualización actúa modificando los valores de los productos ya ingresados con el mismo código de ese proveedor y agregando los nuevos que no se encuentren en la base de datos, pero si en el Excel.

\n\n

En cuanto a la actualización de los stocks los mismos dependerán de si el producto en particular fue marcado como facturado o consignado. Si el producto es facturado el stock en actualizaciones de catálogo se sumará al\n que exista en el sistema para ese producto. Si el producto es consignado el stock se reemplazará por el nuevo que tenga el Excel que se está subiendo.

\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Eliminación de catálogo

\n\n

La eliminación es muy sencilla, se deberá simplemente hacer click en el botón de eliminar catalogo y confirmar la acción. Esto eliminara TODOS los productos del catálogo de ese proveedor.

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 37

\n
\n
\n \n \"SURSOFT\n \n

Imagen 37

\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Agregar un producto

\n

Para agregar un nuevo producto de manera individual tendrá que hacer clic en el botón de agregar un libro, cd o juego en la pestaña correspondiente para cada uno (img. 38), y será desplegada la página con los campos requeridos\n para ingresar el mismo.

\n\n
\n \n \"SURSOFT\n \n

Imagen 38

\n
\n\n

En caso de que el producto sea un cd de música deberá marcarse el campo correspondiente (img. 39.1). Si el mismo queda desmarcado se asumirá que es un libro.

\n\n

Lo mismo ocurrirá para el marcado de si es facturado, de no ser marcado el mismo será considerado como consignado (img. 39.2).

\n\n
\n \n \"SURSOFT\n \n

Imagen 39

\n
\n\n
\n
\n\n
\n\n \n
\n
\n
\n

Editar un producto

\n\n

Para editar un producto en particular se deberá simplemente, en la lista (sea en la página que sea), dar click al botón de editar el cual nos cargará los datos de producto seleccionado permitiendo modificar sus valores.

\n\n
\n \n \"SURSOFT\n \n

Imagen 40

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Eliminar un producto

\n\n

Para eliminar un producto del catálogo simplemente se deberá hacer clic en el botón de eliminar y confirmar la acción.

\n\n
\n \n \"SURSOFT\n \n

Imagen 41

\n
\n
\n
\n\n
\n\n \n
\n
\n
\n

Creación de códigos QR

\n

\n En la página de catálogo de proveedor, la lista presentara un botón en la columna de stock el cual nos indicara el stock del producto y también nos redireccionara a la página para crear los códigos QR necesarios para\n dicho producto (img. 42.1).\n

\n
\n \n \"SURSOFT\n \n

Imagen 42

\n
\n\n

\n La página de creación de los QR nos presentara el detalle del producto, una imagen QR del mismo (img. 43.1) que redireccionara a sus detalles al ser consultado en cualquier celular o tablet.\n

\n

\n También dispondrá de un botón para exportar la cantidad necesaria de códigos a pdf (img. 43.3) para facilitar su impresión. Por defecto el valor marcado para el pdf será del stock que se tenga (img. 43.2), pero puede\n ser modificado para colocar la cantidad que se desee.\n

\n
\n \n \"SURSOFT\n \n

Imagen 43

\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Página de ventas

\n\n

\n En esta página tendremos un panorama general de la actividad de la empresa.\n

\n\n

\n Para acceder a la misma como en los anteriores casos podremos hacerlo a través del menú la lateral directamente o por el botón de escritorio y luego seleccionando ventas.\n

\n\n

\n La sección nos presenta en su parte superior 5 botones que nos darán una información básica sobre:\n

\n\n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n\n

\n En el cuerpo de la sección tendremos una lista con los datos seleccionados, por defecto la lista mostrara los valores del mes y años actuales, pero se puede filtrar por año por mes (img. 44.6) o por todos los tiempos (img. 44.7).\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 44

\n
\n\n

Tabla General de ventas

\n

\n En la tabla general encontraremos por defecto todas las ventas y pedidos web que se realizaron en el mes actual pudiendo ser filtradas por año y mes de ser requerido.\n

\n\n

\n En el caso de las ventas web se indicará el número de Id del pago (img. 45.1) entregado por Mercado pago, el estado de la misma (img. 45.2) y si fue enviado (img. 45.3) o no dicho pedido.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 45

\n
\n\n

\n Si seleccionamos Detalle del pedido (img. 45.4) obtendremos más datos del mismo si la orden esta aprobada, como:\n

\n
    \n
  • Importe total del cliente (img. 46.1)
  • \n
  • La comisión de mercado pago (img. 46.2)
  • \n
  • El total a recibir por La Madriguera Libros (img. 46.3)
  • \n
  • La fecha de liberación del pago por Mercado Pago (img. 46.4)
  • \n
  • El estado del pago (img. 46.5)
  • \n
  • Tipo de pago (img. 46.6)
  • \n
\n\n
\n \n \"SURSOFT\n \n

Imagen 46

\n
\n\n

Cancelación de pedido

\n\n

\n Si la orden está en estado de pendiente de confirmación de pago, lo cual puede darse cuando el cliente selecciona pagar por abitab o red pagos, la orden podrá ser cancelada ya sea por el cliente o por el administrador.\n

\n

\n \n Nunca se deberá enviar un pedido antes de que la compra tenga el estado de APROBADA.\n \n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Al cancelar una orden se le enviará un email al cliente informándole de la cancelación, el mismo tendrá el siguiente formato:

\n\n
\n \n \"SURSOFT\n \n
\n\n

Marcar Pedido Enviado

\n\n

\n Cuando hayas enviado el pedido deberas marcar en la orden dicha acción para que se le notifique al cliente.\n

\n

\n Esto lo podras realizar en los detalles del pedido, seleccionando Marcar como enviada (img. 47). Una vez marcada se le enviara al cliente un mail con el siguiente formato (img. 48):\n

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 47

\n
\n
\n \n \"SURSOFT\n \n

Imagen 48

\n
\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Ganancias

\n

\n Si hacemos clic en el botón de ganancias se nos presentara una página con una tabla de datos por año y mes, así como un gráfico de las mismas.\n

\n\n

\n Esta nos mostrara las ganancias por mes de la empresa en un año determinado (img. 49.1) o de todos los tiempos (img. 49.2). En los resultados no se mostrarán los pedidos web que no estén aprobados, es decir que tengan\n un estado de pago pendiente.\n

\n\n
\n \n \"SURSOFT\n \n

Imagen 49

\n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Cantidad de ventas

\n

\n Este de manera similar al anterior nos presentar de manera cuantitativa la cantidad de ventas por mes de la empresa junto a su respectivo gráfico.\n

\n\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Más vendidos

\n

En esta sección podremos ver un top 10 de los productos más vendidos en un mes, en un año o de todos los tiempos.

\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Ventas por proveedor

\n\n

\n En esta página podremos ver las ventas que hayamos realizado filtradas por un proveedor especifico en un periodo de fechas especifico.\n

\n\n
\n \n \"SURSOFT\n \n
\n\n

Una vez colocados las fechas y el proveedor se nos presentaran dos tablas, una para las ventas facturadas y otra para las ventas consignadas en las que podremos ver:

\n\n
    \n
  • Código del producto
  • \n
  • Nombre del producto
  • \n
  • Cantidad de ventas
  • \n
  • Importe de las mismas
  • \n
  • Totales
  • \n
  • Gráfico
  • \n
\n\n
\n \n \"SURSOFT\n \n
\n\n

En el cabezal de cada tabla tendremos un botón para generar un pdf con los resultados obtenidos de la misma (img. 50.1).

\n\n
\n
\n \n \"SURSOFT\n \n

Imagen 50

\n
\n
\n \n \"SURSOFT\n \n

Reporte PDF

\n
\n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Ventas Web vs Local

\n

En esta página se nos mostrara una comparativa entre las ventas web y en el local junto con una tabla general referente a los totales obtenidos por la empresa, esto debido a que las compras online generan un gasto en cuanto a comisiones\n que cobra Mercado pago por cada venta.

\n
\n \n \"SURSOFT\n \n
\n\n

Al seleccionar un proveedor y un rango de fechas, se desplegarán dos tablas con los productos vendidos para el mismo también pudiendo ser exportadas a pdf cualquiera de las dos en caso que así se desee.

\n\n
\n \n \"SURSOFT\n \n
\n\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Página Recomendados Admin

\n\n

Esta página presentara una lista con todos los productos recomendados a fin de agilizar el manejo de los mismos pudiendo acceder rápidamente a sus opciones tanto para eliminar la recomendación o modificar sus atributos.

\n\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Página Destacados Admin

\n

Esta página es similar a la de recomendados solo que en ella tendremos todos los productos marcados como destacados.

\n
\n \n \"SURSOFT\n \n
\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Página Posts Admin

\n

En esta página podremos manejar y administrar lo referente a los posts, publicaciones de promociones que aparecerán en la página de inicio del sistema.

\n

\n La misma presenta un botón superior para agregar un nuevo post (img. 51.1) y una lista de los que ya existen en el sistema (img. 51.2) con sus respectivas opciones de edición (img. 51.3) o eliminación (img.\n 51.4).\n

\n
\n \n \"SURSOFT\n \n

Imagen 51

\n
\n\n

Los posts que estén marcados como activos aparecerán, los últimos 10 creados, en la sección de posts recientes, en la página de inicio.

\n\n
\n \n \"SURSOFT\n \n
\n\n

Crear un post

\n

Para crear un post como ya hemos visto anteriormente deberemos dar clic en el botón de agregar nuevo.

\n

El mismo nos desplegara un formulario para ingresar los datos que serán:

\n
    \n
  • \n Una imagen: se recomienda que la misma tenga las siguientes dimensiones 1200px por 700, para una óptima visualización.\n
    \n \n \"SURSOFT\n \n
    \n
  • \n
  • Título: título que tendrá la respectiva publicación.
  • \n
  • Descripción: cuerpo o texto que tendrá el post.
  • \n
  • Pie del post: pie final donde se coloca pequeños datos.
  • \n
  • ¿Es Activo?: este campo se refiere a si el mismo deberá ser mostrado o no en la página inicial. Cabe destacar que si tenemos más de 10 activos el sistema mostrara solo los últimos 10 creados, si se requiere deberá desactivar\n los que no desee mostrar editando el post.
  • \n
\n\n

Editar un post

\n

Para editar un post simplemente deberemos hacer clic en el botón de la lista respectivo de edición y se nos desplegaran los datos del mismo.

\n
\n \n \"SURSOFT\n \n
\n
\n \n \"SURSOFT\n \n
\n\n

Eliminar un post

\n

Para eliminar un post simplemente deberemos hacer clic en el botón de eliminación en la lista de posts y confirmar la acción.

\n
\n
\n\n
\n\n \n
\n
\n\n
\n

Deshabilitar compras web

\n

En esta página podremos seleccionar un periodo de tiempo en el cual no se puedan generar nuevos pedidos web por parte de los clientes, ya sea porque los administradores del sistema se van de vacaciones o cualquier otra razón.

\n

Para esto iremos al menú de administración y seleccionaremos Deshabilitar compras o desde el escritorio seleccionando Periodos desactivados.

\n
\n \n \"SURSOFT\n \n
\n\n

En esta sección encontraremos una lista de los periodos agregados

\n\n
\n \n \"SURSOFT\n \n
\n\n

Crear un periodo de des habilitación de compras web

\n

Para crear un nuevo periodo haremos click en el botón de nuevo periodo

\n
\n \n \"SURSOFT\n \n
\n\n

Se nos presentara un formulario en el cual deberemos colocar:

\n
    \n
  • Titulo
  • \n
  • Descripción: porque no tomaran mas pedidos en dicho periodo
  • \n
  • Fecha de inicio
  • \n
  • Fecha de fin
  • \n
\n\n

Estos datos serán los que se usaran en los carritos de los clientes para indicarles porque no se tomaran pedidos nuevos en dichos periodos

\n\n
\n \n \"SURSOFT\n \n
\n\n

Una vez finalizado los periodos se volverá a activar la recepción de compras.

\n

Puedes eliminar en cualquier momento un periodo para volver a recibir compras.

\n
\n
\n\n
\n\n
\n
","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { Alert, AlertType } from './alert.model';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AlertService {\n\n private subject = new Subject();\n private defaultId = 'default-alert';\n\n // enable subscribing to alerts observable\n onAlert(id = this.defaultId): Observable {\n return this.subject.asObservable().pipe(filter(x => x && x.id === id));\n }\n\n // convenience methods\n success(message: string, options?: any) {\n this.alert(new Alert({ ...options, type: AlertType.Success, message }));\n }\n\n error(message: string, options?: any) {\n this.alert(new Alert({ ...options, type: AlertType.Error, message }));\n }\n\n info(message: string, options?: any) {\n this.alert(new Alert({ ...options, type: AlertType.Info, message }));\n }\n\n warn(message: string, options?: any) {\n this.alert(new Alert({ ...options, type: AlertType.Warning, message }));\n }\n\n // main alert method \n alert(alert: Alert) {\n alert.id = alert.id || this.defaultId;\n this.subject.next(alert);\n }\n\n // clear alerts\n clear(id = this.defaultId) {\n this.subject.next(new Alert({ id }));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TecnologiasComponent } from './tecnologias/tecnologias.component'\n//import { LaboratorioComponent } from './laboratorio/laboratorio.component';\nimport { InicioComponent} from './inicio/inicio.component';\nimport { PortafolioComponent } from './portafolio/portafolio.component';\n//import { PruebasComponent } from './pruebas/pruebas.component';\nimport { AboutComponent } from './about/about.component';\nimport { ContactComponent } from './contact/contact.component';\nimport { DetallesLunchboxComponent } from './detalles-lunchbox/detalles-lunchbox.component';\nimport { DetallesMadrigueraComponent } from './detalles-madriguera/detalles-madriguera.component';\nimport { DetallesOdontoComponent } from './detalles-odonto/detalles-odonto.component';\n\nconst routes: Routes = [\n {path: '', component: InicioComponent},\n {path: 'inicio', component: InicioComponent, data: {animation: { value: 'inicio',}}},\n {path: 'tecnologias', component: TecnologiasComponent, data: {animation: { value: 'tecnologias',}}},\n //{path: 'laboratorio', component: LaboratorioComponent, data: {animation: { value: 'laboratorio',}}},\n {path: 'portafolio', component: PortafolioComponent, data: {animation: { value: 'portafolio',}}},\n {path: 'portafolio/:tabActivo', component: PortafolioComponent, data: {animation: { value: 'portafolio',}}},\n {path: 'portafolio/:tabActivo/:seleccionado', component: PortafolioComponent, data: {animation: { value: 'portafolio',}}},\n //{path: 'pruebas', component: PruebasComponent, data: {animation: { value: 'pruebas',}}},\n {path: 'about', component: AboutComponent, data: {animation: { value: 'about',}}},\n {path: 'contact', component: ContactComponent, data: {animation: { value: 'contact',}}},\n {path: 'detalles-lunchbox', component: DetallesLunchboxComponent, data: {animation: { value: 'detalles-lunchbox',}}},\n {path: 'detalles-madriguera', component: DetallesMadrigueraComponent, data: {animation: { value: 'detalles-madriguera',}}},\n {path: 'detalles-odonto', component: DetallesOdontoComponent, data: {animation: { value: 'detalles-odonto',}}},\n \n {path: '**', redirectTo: ''}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","
\n\n \n
\n\n
\n\n
\n\n
\n \n
\n\n
\n

\n \n

\n

\n \n

\n
\n
\n\n
\n\n\n
\n
\n
\n

{{titulo}}

\n

{{descripcion}}

\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { CargarScriptsService, ScriptModel } from '../cargar-scripts.service';\n\n\n@Component({\n selector: 'app-parallax',\n templateUrl: './parallax.component.html',\n styleUrls: ['./parallax.component.css'],\n})\n\nexport class ParallaxComponent implements OnInit {\n\n constructor(private cargarSrciptsService: CargarScriptsService) { \n \n }\n\n @Input() imgUrl:string;\n @Input() minHeight:string;\n @Input() nameId:string=\"\";\n @Input() ponerLogo:boolean;\n @Input() titulo:string;\n @Input() descripcion:string;\n\n scriptsNecesarios: ScriptModel[] = [\n {name: \"mdb\", src: \"assets/bootstrap/js/mdb.js\", loaded: false}\n ];\n \n ngOnInit(): void {\n this.cargarSrciptsService.cargarScripts(this.scriptsNecesarios);\n }\n\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\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:///"}