{"version":3,"sources":["webpack:///./src/sync/download.js"],"names":["pendingCalls","downloadParte","Vue","idparteTrabajo","$loading","setMessage","apiFilter","APIFilter","addExact","$api","call","filter","response","parte","data","result","dataset","fdescarga","currentDateTime","annadirCliente","idcliente","push","name","method","params","annadirSistema","idsistema","annadirFicheroSistema","idtecnico","$online","fichero","buildApiFilterVisualizacion","TABLA","sistema","idtabla","downloadOrdenTrabajo","idordenTrabajo","length","console","error","annadirBancoPrecio","idbancoPrecio","annadirLbancoPrecio","annadirBancoPrecioCapitulo","annadirBancoPrecioGrupoDto","annadirLbancoPrecioDetalle","annadirClienteDireccion","annadirClienteTelefono","annadirClienteAviso","annadirSubsis","annadirMaterialSistema","annadirDatoMaterialSistema","annadirSistemaMant","annadirSistemaCuota","annadirSistemaTelefono","annadirDatoSistema","annadirTsistemaTdatosist","annadirSistemaTviacomunicacion","annadirOrdenTrabajoMatsist","downloadChecklistOt","addGT","annadirChecklistOtSubsis","idchecklistOt","annadirGrupoChecklistOt","annadirAgrupacionPreguntaOt","annadirPreguntaChecklistOt","annadirValorColumnaOt","annadirTanomaliaChecklistOt","annadirAccionCorrectoraOt","annadirFicheroAnomalia","tanomalia_checklist_ot","annadirFicheroAccionCorrectora","accion_correctora_ot","annadirAccionEjec","annadirOrdenTrabajoMant","annadirLordenTrabajo","annadirLordenTrabajoDetalle","annadirParteTrabajoMatsist","annadirParteTrabajoTecnico","annadirLparteTrabajo","annadirTiempoTrabajado","annadirSolicitudMaterial","annadirLsolicitudMaterial","annadirLlsolicitudMaterial","annadirOrdenTrabajoSubsis","annadirFicheroOrdenTrabajo","orden_trabajo","annadirFicheroParteTrabajo","parte_trabajo","annadirProyectoContable","idproyectoContable","downloadAlmacenesParte","idparte_trabajo","annadirStock","almacenes","addIn","annadirLstock","annadirAnticipocli","annadirNotaOrdenTrabajo","nota","annadirNotaParteTrabajo","insertCliente","batchResponse","row","cliente","$offline","insert","replace","Error","insertSistema","insertFicheroSistema","rows","ficheroSistema","idfichero","toString","id","ajaxDownload","url","status","insertBancoPrecio","bancoPrecio","insertLbancoPrecio","lbancoPrecio","insertBancoPrecioCapitulo","bancoPrecioCapitulo","insertBancoPrecioGrupoDto","bancoPrecioGrupoDto","insertLbancoPrecioDetalle","lbancoPrecioDetalle","insertClienteDireccion","clienteDireccion","insertClienteTelefono","clienteTelefono","idcliente_telefono","insertClienteAviso","clienteAviso","insertSubsis","subsis","idsubsis","insertMaterialSistema","materialSistema","idmaterial_sistema","insertDatoMaterialSistema","datoMaterialSistema","iddato_material_sistema","insertSistemaMant","sistemaMant","insertSistemaCuota","sistemaCuota","insertDatoSistema","datoSistema","iddato_sistema","insertSolicitudMaterial","solicitudMaterial","insertLsolicitudMaterial","lsolicitudMaterial","insertLlsolicitudMaterial","llsolicitudMaterial","insertTsistemaTdatosist","tsistemaTdatosist","insertSistemaTviacomunicacnion","sistemaTviacomunicacion","insertSistemaTelefono","sistemaTelefono","idsistema_telefono","orden_cra","codigo_cra","codigo_coaccion_cra","insertOrdenTrabajoMatsist","ordenTrabajoMatsist","idorden_trabajo_matsist","insertChecklistOt","checklistOt","insertChecklistOtSubsis","checklistOtSubsis","idchecklist_ot_subsis","insertGrupoChecklistOt","grupoChecklistOt","idgrupo_checklist_ot","insertAgrupacionPreguntaOt","agrupacionPreguntaOt","idagrupacion_pregunta_ot","insertPreguntaChecklistOt","preguntaChecklistOt","idpregunta_checklist_ot","insertValorColumnaOt","valorColumnaOt","idvalor_columna_ot","insertTanomaliaChecklistOt","tanomaliaChecklistOt","idtanomalia_checklist_ot","insertAccionCorrectoraOt","accionCorrectoraOt","idaccion_correctora_ot","insertFicheroAnomalia","ficheroAnomalia","insertFicheroAccionCorrectora","ficheroAccionCorrectora","insertAccionEjec","accionEjec","idaccion_ejec","insertOrdenTrabajoMant","ordenTrabajoMant","insertLordenTrabajo","lordenTrabajo","idlorden_trabajo","insertLordenTrabajoDetalle","lordenTrabajoDetalle","idlorden_trabajo_detalle","insertParteTrabajoMatsist","parteTrabajoMatsist","idparte_trabajo_matsist","insertParteTrabajoTecnico","parteTrabajoTecnico","idparte_trabajo_tecnico","insertLparteTrabajo","lparteTrabajo","idlparte_trabajo","insertTiempoTrabajado","tiempoTrabajado","idtiempo_trabajado","insertOrdenTrabajoSubsis","ordenTrabajoSubsis","idorden_trabajo_subsis","insertFicheroOrdenTrabajo","ficheroOrdenTrabajo","insertFicheroParteTrabajo","ficheroParteTrabajo","insertAlmacenesParte","almacenesParte","idv_almacenes_parte","uuidv4","vAlmacenesParte","insertStock","stock","insertLstock","lstock","insertAnticipocli","anticipocli","insertNotaOrdenTrabajo","notaOrdenTrabajo","insertNotaParteTrabajo","notaParteTrabajo","insertProyectoContable","proyectoContable","setParteTrabajoTecnicoDescargado","idparteTrabajoTecnico","downloadParteTrabajo","idalmacen","tables","db","showManual","idorden_trabajo","ordenTrabajo","idbanco_precio","idproyecto_contable","idchecklist_ot","_","map","item","talmacen_clasificacion","TALMACEN","clasificaciones","obra","vehiculo","batchCall","parteTrabajo","select","where","op","and","parte_trabajo_tecnico","eq","hide","downloadTablasGlobales","message","offlineResource","pkName","inPk","delete","not","pk","in"],"mappings":"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","file":"js/chunk-2d224c45.e84c6381.js","sourcesContent":["import _ from '@/utils/lodash'\r\nimport { APIFilter } from '@/utils/api'\r\nimport { TABLA, TALMACEN, } from '@/utils/consts'\r\nimport { currentDateTime } from '@/utils/date'\r\nimport { v4 as uuidv4 } from 'uuid'\r\n\r\nlet pendingCalls = []\r\n\r\nconst downloadParte = async (Vue, idparteTrabajo) => {\r\n Vue.$loading.setMessage('Descargando parte de trabajo')\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n const response = (\r\n await Vue.$api.call('parteTrabajo.selectSync', { filter: apiFilter })\r\n )\r\n let parte = response.data.result.dataset[0]\r\n parte.fdescarga = currentDateTime()\r\n return response.data.result.dataset[0]\r\n}\r\n\r\nconst annadirCliente = async (Vue, idcliente) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idcliente', idcliente)\r\n pendingCalls.push({ name: 'cliente', method: 'cliente.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSistema = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'sistema', method: 'sistema.selectSync', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirFicheroSistema = async (Vue, idsistema, idtecnico) => {\r\n const apiFilter = Vue.$online.fichero.buildApiFilterVisualizacion(idsistema, TABLA.sistema.idtabla, !!idtecnico, false, false)\r\n pendingCalls.push({ name: 'ficheroSistema', method: 'fichero.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst downloadOrdenTrabajo = async (Vue, idordenTrabajo) => {\r\n Vue.$loading.setMessage('Descargando orden de trabajo')\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n const response = (\r\n await Vue.$api.call('ordenTrabajo.selectSync', { filter: apiFilter })\r\n )\r\n if (response.data.result.dataset.length === 0){\r\n console.error(`No se puede descargar la OT ${idordenTrabajo}, mira si el usuario no tiene filtros generales`)\r\n }\r\n return response.data.result.dataset[0]\r\n}\r\n\r\nconst annadirBancoPrecio = async (Vue, idbancoPrecio) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idbanco_precio', idbancoPrecio)\r\n pendingCalls.push({ name: 'bancoPrecio', method: 'bancoPrecio.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLbancoPrecio = async (Vue, idbancoPrecio) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idbanco_precio', idbancoPrecio)\r\n pendingCalls.push({ name: 'lbancoPrecio', method: 'lbancoPrecio.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirBancoPrecioCapitulo = async (Vue, idbancoPrecio) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idbanco_precio', idbancoPrecio)\r\n pendingCalls.push({ name: 'bancoPrecioCapitulo', method: 'bancoPrecioCapitulo.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirBancoPrecioGrupoDto = async (Vue, idbancoPrecio) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idbanco_precio', idbancoPrecio)\r\n pendingCalls.push({ name: 'bancoPrecioGrupoDto', method: 'bancoPrecioGrupoDto.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLbancoPrecioDetalle = async (Vue, idbancoPrecio) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idbanco_precio', idbancoPrecio)\r\n pendingCalls.push({ name: 'lbancoPrecioDetalle', method: 'lbancoPrecioDetalle.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirClienteDireccion = async (Vue, idcliente) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idcliente', idcliente)\r\n pendingCalls.push({ name: 'clienteDireccion', method: 'clienteDireccion.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirClienteTelefono = async (Vue, idcliente) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idcliente', idcliente)\r\n pendingCalls.push({ name: 'clienteTelefono', method: 'clienteTelefono.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirClienteAviso = async (Vue, idcliente) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idcliente', idcliente)\r\n pendingCalls.push({ name: 'clienteAviso', method: 'clienteAviso.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSubsis = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'subsis', method: 'subsis.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirMaterialSistema = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'materialSistema', method: 'materialSistema.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirDatoMaterialSistema = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'datoMaterialSistema', method: 'datoMaterialSistema.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSistemaMant = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'sistemaMant', method: 'sistemaMant.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSistemaCuota = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'sistemaCuota', method: 'sistemaCuota.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSistemaTelefono = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'sistemaTelefono', method: 'sistemaTelefono.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirDatoSistema = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'datoSistema', method: 'datoSistema.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirTsistemaTdatosist = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'tsistemaTdatosist', method: 'tsistemaTdatosist.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSistemaTviacomunicacion = async (Vue, idsistema) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idsistema', idsistema)\r\n pendingCalls.push({ name: 'sistemaTviacomunicacion', method: 'sistemaTviacomunicacion.select', params: { filter: apiFilter } })\r\n}\r\n\r\n\r\nconst annadirOrdenTrabajoMatsist = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'ordenTrabajoMatsist', method: 'ordenTrabajoMatsist.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst downloadChecklistOt = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n apiFilter.addGT('estado', 0)\r\n const response = await Vue.$api.call('checklistOt.select', { filter: apiFilter })\r\n return response.data.result.dataset[0]\r\n}\r\n\r\nconst annadirChecklistOtSubsis = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'checklistOtSubsis', method: 'checklistOtSubsis.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirGrupoChecklistOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'grupoChecklistOt', method: 'grupoChecklistOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirAgrupacionPreguntaOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'agrupacionPreguntaOt', method: 'agrupacionPreguntaOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirPreguntaChecklistOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'preguntaChecklistOt', method: 'preguntaChecklistOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirValorColumnaOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'valorColumnaOt', method: 'valorColumnaOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirTanomaliaChecklistOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'tanomaliaChecklistOt', method: 'tanomaliaChecklistOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirAccionCorrectoraOt = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idchecklist_ot', idchecklistOt)\r\n pendingCalls.push({ name: 'accionCorrectoraOt', method: 'accionCorrectoraOt.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirFicheroAnomalia = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter\r\n .addExact('idchecklist_ot_anomalias', idchecklistOt)\r\n .addExact('idtabla', TABLA.tanomalia_checklist_ot.idtabla)\r\n .addGT('estado', 0)\r\n pendingCalls.push({ name: 'ficheroAnomalia', method: 'fichero.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirFicheroAccionCorrectora = async (Vue, idchecklistOt) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter\r\n .addExact('idchecklist_ot_acciones_correctoras', idchecklistOt)\r\n .addExact('idtabla', TABLA.accion_correctora_ot.idtabla)\r\n .addGT('estado', 0)\r\n pendingCalls.push({ name: 'ficheroAccionCorrectora', method: 'fichero.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirAccionEjec = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'accionEjec', method: 'accionEjec.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirOrdenTrabajoMant = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'ordenTrabajoMant', method: 'ordenTrabajoMant.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLordenTrabajo = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'lordenTrabajo', method: 'lordenTrabajo.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLordenTrabajoDetalle = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'lordenTrabajoDetalle', method: 'lordenTrabajoDetalle.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirParteTrabajoMatsist = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'parteTrabajoMatsist', method: 'parteTrabajoMatsist.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirParteTrabajoTecnico = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'parteTrabajoTecnico', method: 'parteTrabajoTecnico.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLparteTrabajo = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'lparteTrabajo', method: 'lparteTrabajo.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirTiempoTrabajado = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'tiempoTrabajado', method: 'tiempoTrabajado.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirSolicitudMaterial = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'solicitudMaterial', method: 'solicitudMaterial.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLsolicitudMaterial = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'lsolicitudMaterial', method: 'lsolicitudMaterial.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLlsolicitudMaterial = async (Vue, idparteTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idparte_trabajo', idparteTrabajo)\r\n pendingCalls.push({ name: 'llsolicitudMaterial', method: 'llsolicitudMaterial.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirOrdenTrabajoSubsis = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'ordenTrabajoSubsis', method: 'ordenTrabajoSubsis.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirFicheroOrdenTrabajo = async (Vue, idordenTrabajo, idtecnico) => {\r\n const apiFilter = Vue.$online.fichero.buildApiFilterVisualizacion(idordenTrabajo, TABLA.orden_trabajo.idtabla, !!idtecnico, false, false)\r\n pendingCalls.push({ name: 'ficheroOrdenTrabajo', method: 'fichero.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirFicheroParteTrabajo = async (Vue, idparteTrabajo, idtecnico) => {\r\n const apiFilter = Vue.$online.fichero.buildApiFilterVisualizacion(idparteTrabajo, TABLA.parte_trabajo.idtabla, !!idtecnico, false, false)\r\n pendingCalls.push({ name: 'ficheroParteTrabajo', method: 'fichero.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirProyectoContable = async (Vue, idproyectoContable) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idproyecto_contable', idproyectoContable)\r\n pendingCalls.push({ name: 'proyectoContable', method: 'proyectoContable.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst downloadAlmacenesParte = async (Vue, idparteTrabajo) => {\r\n const response = await Vue.$api.call('parteTrabajo.Almacenes', { idparte_trabajo: idparteTrabajo })\r\n return response.data.result.dataset\r\n}\r\n\r\nconst annadirStock = async (Vue, almacenes) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addIn('idalmacen', almacenes)\r\n pendingCalls.push({ name: 'stock', method: 'stock.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirLstock = async (Vue, almacenes) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addIn('idalmacen', almacenes)\r\n pendingCalls.push({ name: 'lstock', method: 'lstock.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirAnticipocli = async (Vue, idordenTrabajo) => {\r\n const apiFilter = new APIFilter()\r\n apiFilter.addExact('idorden_trabajo', idordenTrabajo)\r\n pendingCalls.push({ name: 'anticipocli', method: 'anticipocli.select', params: { filter: apiFilter } })\r\n}\r\n\r\n\r\nconst annadirNotaOrdenTrabajo = async (Vue, idordenTrabajo, idtecnico) => {\r\n const apiFilter = Vue.$online.nota.buildApiFilterVisualizacion(idordenTrabajo, TABLA.orden_trabajo.idtabla, !!idtecnico, false, false)\r\n pendingCalls.push({ name: 'notaOrdenTrabajo', method: 'nota.select', params: { filter: apiFilter } })\r\n}\r\n\r\nconst annadirNotaParteTrabajo = async (Vue, idordenTrabajo, idtecnico) => {\r\n const apiFilter = Vue.$online.nota.buildApiFilterVisualizacion(idordenTrabajo, TABLA.parte_trabajo.idtabla, !!idtecnico, false, false)\r\n pendingCalls.push({ name: 'notaParteTrabajo', method: 'nota.select', params: { filter: apiFilter } })\r\n}\r\n\r\n\r\nconst insertCliente = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando cliente')\r\n let row = batchResponse.data.cliente.result.dataset[0]\r\n await Vue.$offline.cliente.insert(row, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertCliente)`)\r\n }\r\n}\r\n\r\nconst insertSistema = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando sistema')\r\n let row = batchResponse.data.sistema.result.dataset[0]\r\n await Vue.$offline.sistema.insert(row, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertSistema)`)\r\n }\r\n}\r\n\r\nconst insertFicheroSistema = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando adjuntos de sistemas')\r\n let rows = batchResponse.data.ficheroSistema.result.dataset\r\n for (let row of rows) {\r\n row.idfichero = row.idfichero.toString()\r\n row.id = row.id.toString()\r\n try {\r\n row.data = await Vue.$api.ajaxDownload(row.url)\r\n } catch (e) {\r\n if (e && e.response && e.response.status >= 400) {\r\n // no hacer nada si no se puede descargar\r\n // no interpretar como un error de descarga del parte de trabajo\r\n } else {\r\n throw new Error(e)\r\n }\r\n }\r\n }\r\n await Vue.$offline.fichero.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertFicheroSistema)`)\r\n }\r\n}\r\n\r\nconst insertBancoPrecio = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando banco de precios')\r\n let row = batchResponse.data.bancoPrecio.result.dataset[0]\r\n await Vue.$offline.bancoPrecio.insert(row, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertBancoPrecio)`)\r\n }\r\n}\r\n\r\nconst insertLbancoPrecio = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando líneas de banco de precios')\r\n let rows = batchResponse.data.lbancoPrecio.result.dataset\r\n await Vue.$offline.lbancoPrecio.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertLbancoPrecio)`)\r\n }\r\n}\r\n\r\nconst insertBancoPrecioCapitulo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando capítulos de banco de precios')\r\n let rows = batchResponse.data.bancoPrecioCapitulo.result.dataset\r\n await Vue.$offline.bancoPrecioCapitulo.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertBancoPrecioCapitulo)`)\r\n }\r\n}\r\n\r\nconst insertBancoPrecioGrupoDto = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando grupos de descuento de banco de precios')\r\n let rows = batchResponse.data.bancoPrecioGrupoDto.result.dataset\r\n await Vue.$offline.bancoPrecioGrupoDto.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertBancoPrecioGrupoDto)`)\r\n }\r\n}\r\n\r\nconst insertLbancoPrecioDetalle = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando detalle de líneas de banco de precios')\r\n let rows = batchResponse.data.lbancoPrecioDetalle.result.dataset\r\n await Vue.$offline.lbancoPrecioDetalle.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertLbancoPrecioDetalle)`)\r\n }\r\n}\r\n\r\nconst insertClienteDireccion = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando direcciones')\r\n let rows = batchResponse.data.clienteDireccion.result.dataset\r\n await Vue.$offline.clienteDireccion.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertClienteDireccion)`)\r\n }\r\n}\r\n\r\nconst insertClienteTelefono = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando números de teléfonos')\r\n let rows = batchResponse.data.clienteTelefono.result.dataset\r\n for (let row of rows) {\r\n row.idcliente_telefono = row.idcliente_telefono.toString()\r\n }\r\n await Vue.$offline.clienteTelefono.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertClienteTelefono)`)\r\n }\r\n}\r\n\r\nconst insertClienteAviso = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando avisos de cliente y sistema')\r\n let rows = batchResponse.data.clienteAviso.result.dataset\r\n await Vue.$offline.clienteAviso.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertClienteAviso)`)\r\n }\r\n}\r\n\r\nconst insertSubsis = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando subsistemas')\r\n let rows = batchResponse.data.subsis.result.dataset\r\n for (let row of rows) {\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.subsis.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertSubsis)`)\r\n }\r\n}\r\n\r\nconst insertMaterialSistema = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando material de sistema')\r\n let rows = batchResponse.data.materialSistema.result.dataset\r\n for (let row of rows) {\r\n row.idmaterial_sistema = row.idmaterial_sistema.toString()\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.materialSistema.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertMaterialSistema)`)\r\n }\r\n}\r\n\r\nconst insertDatoMaterialSistema = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando datos de material de sistema')\r\n let rows = batchResponse.data.datoMaterialSistema.result.dataset\r\n for (let row of rows) {\r\n row.iddato_material_sistema = row.iddato_material_sistema.toString()\r\n row.idmaterial_sistema = row.idmaterial_sistema.toString()\r\n }\r\n await Vue.$offline.datoMaterialSistema.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertDatoMaterialSistema)`)\r\n }\r\n}\r\n\r\nconst insertSistemaMant = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando revisiones')\r\n let rows = batchResponse.data.sistemaMant.result.dataset\r\n await Vue.$offline.sistemaMant.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertSistemaMant)`)\r\n }\r\n}\r\n\r\nconst insertSistemaCuota = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando cuotas')\r\n let rows = batchResponse.data.sistemaCuota.result.dataset\r\n await Vue.$offline.sistemaCuota.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertSistemaCuota)`)\r\n }\r\n}\r\n\r\nconst insertDatoSistema = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando datos de sistema')\r\n let rows = batchResponse.data.datoSistema.result.dataset\r\n for (let row of rows) {\r\n row.iddato_sistema = row.iddato_sistema.toString()\r\n }\r\n await Vue.$offline.datoSistema.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertDatoSistema)`)\r\n }\r\n}\r\n\r\nconst insertSolicitudMaterial = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando solicitudes de material')\r\n let rows = batchResponse.data.solicitudMaterial.result.dataset\r\n await Vue.$offline.solicitudMaterial.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertsolicitudMaterial)`)\r\n }\r\n}\r\n\r\nconst insertLsolicitudMaterial = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando solicitudes de material')\r\n let rows = batchResponse.data.lsolicitudMaterial.result.dataset\r\n await Vue.$offline.lsolicitudMaterial.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertlsolicitudMaterial)`)\r\n }\r\n}\r\n\r\nconst insertLlsolicitudMaterial = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando solicitudes de material')\r\n let rows = batchResponse.data.llsolicitudMaterial.result.dataset\r\n await Vue.$offline.llsolicitudMaterial.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertllsolicitudMaterial)`)\r\n }\r\n}\r\n\r\nconst insertTsistemaTdatosist = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando datos de sistema')\r\n let rows = batchResponse.data.tsistemaTdatosist.result.dataset\r\n await Vue.$offline.tsistemaTdatosist.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertTsistemaTdatosist)`)\r\n }\r\n}\r\n\r\nconst insertSistemaTviacomunicacnion = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando vías de comuniscación')\r\n let rows = batchResponse.data.sistemaTviacomunicacion.result.dataset\r\n await Vue.$offline.sistemaTviacomunicacion.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertsiStemaTviacomunicacion)`)\r\n }\r\n}\r\n\r\nconst insertSistemaTelefono = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando teléfonos de sistema')\r\n let rows = batchResponse.data.sistemaTelefono.result.dataset\r\n for (let row of rows) {\r\n row.idcliente_telefono = row.idcliente_telefono.toString()\r\n row.idsistema_telefono = row.idsistema_telefono.toString()\r\n // no almacenar localmente datos de CRA\r\n row.orden_cra = null\r\n row.codigo_cra = null\r\n row.codigo_coaccion_cra = null\r\n }\r\n await Vue.$offline.sistemaTelefono.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertSistemaTelefono)`)\r\n }\r\n}\r\n\r\nconst insertOrdenTrabajoMatsist = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando material afectado')\r\n let rows = batchResponse.data.ordenTrabajoMatsist.result.dataset\r\n for (let row of rows) {\r\n row.idorden_trabajo_matsist = row.idorden_trabajo_matsist.toString()\r\n row.idmaterial_sistema = row.idmaterial_sistema.toString()\r\n }\r\n await Vue.$offline.ordenTrabajoMatsist.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertOrdenTrabajoMatsist)`)\r\n }\r\n}\r\n\r\nconst insertChecklistOt = async (Vue, checklistOt) => {\r\n try {\r\n if (checklistOt) {\r\n Vue.$loading.setMessage('Actualizando checklist')\r\n await Vue.$offline.checklistOt.insert(checklistOt, { replace: true })\r\n }\r\n } catch (e) {\r\n throw new Error(`${e} (insertChecklistOt)`)\r\n }\r\n}\r\n\r\nconst insertChecklistOtSubsis = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando subistemas de checklist')\r\n let rows = batchResponse.data.checklistOtSubsis.result.dataset\r\n for (let row of rows) {\r\n row.idchecklist_ot_subsis = row.idchecklist_ot_subsis.toString()\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.checklistOtSubsis.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertChecklistOtSubsis)`)\r\n }\r\n}\r\n\r\nconst insertGrupoChecklistOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando grupos de checklist')\r\n let rows = batchResponse.data.grupoChecklistOt.result.dataset\r\n for (let row of rows) {\r\n row.idgrupo_checklist_ot = row.idgrupo_checklist_ot.toString()\r\n // preguntas generales sin checklist_ot_subsis\r\n if (row.idchecklist_ot_subsis) {\r\n row.idchecklist_ot_subsis = row.idchecklist_ot_subsis.toString()\r\n }\r\n }\r\n await Vue.$offline.grupoChecklistOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertGrupoChecklistOt)`)\r\n }\r\n}\r\n\r\nconst insertAgrupacionPreguntaOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando agrupaciones de preguntas')\r\n let rows = batchResponse.data.agrupacionPreguntaOt.result.dataset\r\n for (let row of rows) {\r\n row.idagrupacion_pregunta_ot = row.idagrupacion_pregunta_ot.toString()\r\n row.idgrupo_checklist_ot = row.idgrupo_checklist_ot.toString()\r\n }\r\n await Vue.$offline.agrupacionPreguntaOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertAgrupacionPreguntaOt)`)\r\n }\r\n}\r\n\r\nconst insertPreguntaChecklistOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando preguntas de checklist')\r\n let rows = batchResponse.data.preguntaChecklistOt.result.dataset\r\n for (let row of rows) {\r\n if (row.idagrupacion_pregunta_ot) {\r\n row.idagrupacion_pregunta_ot = row.idagrupacion_pregunta_ot.toString()\r\n }\r\n row.idgrupo_checklist_ot = row.idgrupo_checklist_ot.toString()\r\n row.idpregunta_checklist_ot = row.idpregunta_checklist_ot.toString()\r\n if (row.idorden_trabajo_matsist) {\r\n row.idorden_trabajo_matsist = row.idorden_trabajo_matsist.toString()\r\n }\r\n }\r\n await Vue.$offline.preguntaChecklistOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertPreguntaChecklistOt)`)\r\n }\r\n}\r\n\r\nconst insertValorColumnaOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando valores de checklist')\r\n let rows = batchResponse.data.valorColumnaOt.result.dataset\r\n for (let row of rows) {\r\n row.idpregunta_checklist_ot = row.idpregunta_checklist_ot.toString()\r\n row.idagrupacion_pregunta_ot = row.idagrupacion_pregunta_ot.toString()\r\n row.idvalor_columna_ot = row.idvalor_columna_ot.toString()\r\n }\r\n await Vue.$offline.valorColumnaOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertValorColumnaOt)`)\r\n }\r\n}\r\n\r\nconst insertTanomaliaChecklistOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando anomalías')\r\n let rows = batchResponse.data.tanomaliaChecklistOt.result.dataset\r\n for (let row of rows) {\r\n row.idtanomalia_checklist_ot = row.idtanomalia_checklist_ot.toString()\r\n row.idpregunta_checklist_ot = row.idpregunta_checklist_ot.toString()\r\n }\r\n await Vue.$offline.tanomaliaChecklistOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertTanomaliaChecklistOt)`)\r\n }\r\n}\r\n\r\nconst insertAccionCorrectoraOt = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando acciones correctoras')\r\n let rows = batchResponse.data.accionCorrectoraOt.result.dataset\r\n for (let row of rows) {\r\n row.idaccion_correctora_ot = row.idaccion_correctora_ot.toString()\r\n row.idtanomalia_checklist_ot = row.idtanomalia_checklist_ot.toString()\r\n }\r\n await Vue.$offline.accionCorrectoraOt.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertAccionCorrectoraOt)`)\r\n }\r\n}\r\n\r\nconst insertFicheroAnomalia = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando adjuntos de anomalías')\r\n let rows = batchResponse.data.ficheroAnomalia.result.dataset\r\n for (let row of rows) {\r\n row.idfichero = row.idfichero.toString()\r\n row.id = row.id.toString()\r\n try {\r\n row.data = await Vue.$api.ajaxDownload(row.url)\r\n } catch (e) {\r\n if (e && e.response && e.response.status >= 400) {\r\n // no hacer nada si no se puede descargar\r\n // no interpretar como un error de descarga del parte de trabajo\r\n } else {\r\n throw new Error(e)\r\n }\r\n }\r\n }\r\n await Vue.$offline.fichero.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertFicheroAnomalia)`)\r\n }\r\n}\r\n\r\nconst insertFicheroAccionCorrectora = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando adjuntos de acciones correctoras')\r\n let rows = batchResponse.data.ficheroAccionCorrectora.result.dataset\r\n for (let row of rows) {\r\n row.idfichero = row.idfichero.toString()\r\n row.id = row.id.toString()\r\n try {\r\n row.data = await Vue.$api.ajaxDownload(row.url)\r\n } catch (e) {\r\n if (e && e.response && e.response.status >= 400) {\r\n // no hacer nada si no se puede descargar\r\n // no interpretar como un error de descarga del parte de trabajo\r\n } else {\r\n throw new Error(e)\r\n }\r\n }\r\n }\r\n await Vue.$offline.fichero.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertFicheroAccionCorrectora)`)\r\n }\r\n}\r\n\r\nconst insertAccionEjec = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando acciones de orden de trabajo')\r\n let rows = batchResponse.data.accionEjec.result.dataset\r\n for (let row of rows) {\r\n row.idaccion_ejec = row.idaccion_ejec.toString()\r\n row.idorden_trabajo_matsist = row.idorden_trabajo_matsist.toString()\r\n }\r\n await Vue.$offline.accionEjec.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertAccionEjec)`)\r\n }\r\n}\r\n\r\nconst insertOrdenTrabajoMant = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando revisiones de orden de trabajo')\r\n let rows = batchResponse.data.ordenTrabajoMant.result.dataset\r\n await Vue.$offline.ordenTrabajoMant.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertOrdenTrabajoMant)`)\r\n }\r\n}\r\n\r\nconst insertLordenTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando líneas de orden de trabajo')\r\n let rows = batchResponse.data.lordenTrabajo.result.dataset\r\n for (let row of rows) {\r\n row.idlorden_trabajo = row.idlorden_trabajo.toString()\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.lordenTrabajo.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertLordenTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertLordenTrabajoDetalle = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando escandallo de orden de trabajo')\r\n let rows = batchResponse.data.lordenTrabajoDetalle.result.dataset\r\n for (let row of rows) {\r\n row.idlorden_trabajo_detalle = row.idlorden_trabajo_detalle.toString()\r\n row.idlorden_trabajo = row.idlorden_trabajo.toString()\r\n }\r\n await Vue.$offline.lordenTrabajoDetalle.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertLordenTrabajoDetalle)`)\r\n }\r\n}\r\n\r\nconst insertParteTrabajoMatsist = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando material afectado de parte de trabajo')\r\n let rows = batchResponse.data.parteTrabajoMatsist.result.dataset\r\n for (let row of rows) {\r\n row.idparte_trabajo_matsist = row.idparte_trabajo_matsist.toString()\r\n row.idorden_trabajo_matsist = row.idorden_trabajo_matsist.toString()\r\n }\r\n await Vue.$offline.parteTrabajoMatsist.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertParteTrabajoMatsist)`)\r\n }\r\n}\r\n\r\nconst insertParteTrabajoTecnico = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando técnicos de partes de trabajo')\r\n let rows = batchResponse.data.parteTrabajoTecnico.result.dataset\r\n for (let row of rows) {\r\n row.idparte_trabajo_tecnico = row.idparte_trabajo_tecnico.toString()\r\n }\r\n await Vue.$offline.parteTrabajoTecnico.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertParteTrabajoTecnico)`)\r\n }\r\n}\r\n\r\nconst insertLparteTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando líneas de parte de trabajo')\r\n let rows = batchResponse.data.lparteTrabajo.result.dataset\r\n for (let row of rows) {\r\n row.idlparte_trabajo = row.idlparte_trabajo.toString()\r\n row.idlorden_trabajo = row.idlorden_trabajo.toString()\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.lparteTrabajo.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertLparteTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertTiempoTrabajado = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando tiempo trabajado de parte de trabajo')\r\n let rows = batchResponse.data.tiempoTrabajado.result.dataset\r\n for (let row of rows) {\r\n row.idtiempo_trabajado = row.idtiempo_trabajado.toString()\r\n row.idsubsis = row.idsubsis?.toString()\r\n }\r\n await Vue.$offline.tiempoTrabajado.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertTiempoTrabajado)`)\r\n }\r\n}\r\n\r\nconst insertOrdenTrabajoSubsis = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando subistemas de orden de trabajo')\r\n let rows = batchResponse.data.ordenTrabajoSubsis.result.dataset\r\n for (let row of rows) {\r\n row.idorden_trabajo_subsis = row.idorden_trabajo_subsis.toString()\r\n row.idsubsis = row.idsubsis.toString()\r\n }\r\n await Vue.$offline.ordenTrabajoSubsis.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertOrdenTrabajoSubsis)`)\r\n }\r\n}\r\n\r\nconst insertFicheroOrdenTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando adjuntos de órdenes de trabajo')\r\n let rows = batchResponse.data.ficheroOrdenTrabajo.result.dataset\r\n for (let row of rows) {\r\n row.idfichero = row.idfichero.toString()\r\n row.id = row.id.toString()\r\n try {\r\n row.data = await Vue.$api.ajaxDownload(row.url)\r\n } catch (e) {\r\n if (e && e.response && e.response.status >= 400) {\r\n // no hacer nada si no se puede descargar\r\n // no interpretar como un error de descarga del parte de trabajo\r\n } else {\r\n throw new Error(e)\r\n }\r\n }\r\n }\r\n await Vue.$offline.fichero.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertFicheroOrdenTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertFicheroParteTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando adjuntos de partes de trabajo')\r\n let rows = batchResponse.data.ficheroParteTrabajo.result.dataset\r\n for (let row of rows) {\r\n row.idfichero = row.idfichero.toString()\r\n row.id = row.id.toString()\r\n try {\r\n row.data = await Vue.$api.ajaxDownload(row.url)\r\n } catch (e) {\r\n if (e && e.response && e.response.status >= 400) {\r\n // no hacer nada si no se puede descargar\r\n // no interpretar como un error de descarga del parte de trabajo\r\n } else {\r\n throw new Error(e)\r\n }\r\n }\r\n }\r\n await Vue.$offline.fichero.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertFicheroParteTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertAlmacenesParte = async (Vue, almacenesParte, idparteTrabajo) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando almacenes del parte')\r\n for (let row of almacenesParte) {\r\n row.idv_almacenes_parte = uuidv4()\r\n row.idparte_trabajo = idparteTrabajo.toString()\r\n }\r\n await Vue.$offline.vAlmacenesParte.insert(almacenesParte, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertAlmacenesParte)`)\r\n }\r\n}\r\n\r\nconst insertStock = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando stock')\r\n let rows = batchResponse.data.stock.result.dataset\r\n await Vue.$offline.stock.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertStock)`)\r\n }\r\n}\r\n\r\nconst insertLstock = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando lineas de stock')\r\n let rows = batchResponse.data.lstock.result.dataset\r\n await Vue.$offline.lstock.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertLstock)`)\r\n }\r\n}\r\n\r\nconst insertAnticipocli = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando anticipos de cliente')\r\n let rows = batchResponse.data.anticipocli.result.dataset\r\n await Vue.$offline.anticipocli.insert(rows, { replace: true})\r\n } catch (e) {\r\n throw new Error(`${e} (insertAnticipocli)`)\r\n }\r\n}\r\n\r\nconst insertNotaOrdenTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando notas')\r\n let rows = batchResponse.data.notaOrdenTrabajo.result.dataset\r\n await Vue.$offline.nota.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertNotaOrdenTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertNotaParteTrabajo = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando notas')\r\n let rows = batchResponse.data.notaParteTrabajo.result.dataset\r\n await Vue.$offline.nota.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertNotaParteTrabajo)`)\r\n }\r\n}\r\n\r\nconst insertProyectoContable = async (Vue, batchResponse) => {\r\n try {\r\n Vue.$loading.setMessage('Actualizando proyectos contables')\r\n let rows = batchResponse.data.proyectoContable.result.dataset\r\n await Vue.$offline.proyectoContable.insert(rows, { replace: true })\r\n } catch (e) {\r\n throw new Error(`${e} (insertProyectoContable)`)\r\n }\r\n}\r\n\r\nconst setParteTrabajoTecnicoDescargado = async (Vue, idparteTrabajoTecnico) => {\r\n pendingCalls.push({ method: 'parteTrabajo.setDescargado', params: { idparte_trabajo_tecnico: idparteTrabajoTecnico } })\r\n await Vue.$api.call('parteTrabajo.setDescargado', { idparte_trabajo_tecnico: idparteTrabajoTecnico })\r\n}\r\n\r\nexport const downloadParteTrabajo = async (Vue, idparteTrabajo, idalmacen, idtecnico) => {\r\n const tables = Vue.$offline.db.tables\r\n Vue.$loading.showManual()\r\n try {\r\n const parte = await downloadParte(Vue, idparteTrabajo)\r\n await annadirCliente(Vue, parte.idcliente)\r\n await annadirSistema(Vue, parte.idsistema)\r\n await annadirFicheroSistema(Vue, parte.idsistema, idtecnico)\r\n await annadirTsistemaTdatosist(Vue, parte.idsistema)\r\n const ordenTrabajo = await downloadOrdenTrabajo(Vue, parte.idorden_trabajo)\r\n if (ordenTrabajo && ordenTrabajo.idbanco_precio) {\r\n annadirBancoPrecio(Vue, ordenTrabajo.idbanco_precio)\r\n annadirLbancoPrecio(Vue, ordenTrabajo.idbanco_precio)\r\n annadirBancoPrecioCapitulo(Vue, ordenTrabajo.idbanco_precio)\r\n annadirBancoPrecioGrupoDto(Vue, ordenTrabajo.idbanco_precio)\r\n annadirLbancoPrecioDetalle(Vue, ordenTrabajo.idbanco_precio)\r\n }\r\n await annadirClienteDireccion(Vue, parte.idcliente)\r\n await annadirClienteTelefono(Vue, parte.idcliente)\r\n await annadirClienteAviso(Vue, parte.idcliente)\r\n await annadirSubsis(Vue, parte.idsistema)\r\n await annadirMaterialSistema(Vue, parte.idsistema)\r\n await annadirDatoMaterialSistema(Vue, parte.idsistema)\r\n await annadirSistemaMant(Vue, parte.idsistema)\r\n await annadirSistemaCuota(Vue, parte.idsistema)\r\n await annadirSistemaTelefono(Vue, parte.idsistema)\r\n await annadirDatoSistema(Vue, parte.idsistema)\r\n await annadirOrdenTrabajoMatsist(Vue, parte.idorden_trabajo)\r\n await annadirSistemaTviacomunicacion(Vue, parte.idsistema)\r\n await annadirProyectoContable(Vue, ordenTrabajo.idproyecto_contable)\r\n const checklistOt = await downloadChecklistOt(Vue, parte.idorden_trabajo)\r\n if (checklistOt) {\r\n await annadirChecklistOtSubsis(Vue, checklistOt.idchecklist_ot)\r\n await annadirGrupoChecklistOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirAgrupacionPreguntaOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirPreguntaChecklistOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirValorColumnaOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirTanomaliaChecklistOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirAccionCorrectoraOt(Vue, checklistOt.idchecklist_ot)\r\n await annadirFicheroAnomalia(Vue, checklistOt.idchecklist_ot)\r\n await annadirFicheroAccionCorrectora(Vue, checklistOt.idchecklist_ot)\r\n }\r\n await annadirAccionEjec(Vue, parte.idorden_trabajo)\r\n await annadirOrdenTrabajoMant(Vue, parte.idorden_trabajo)\r\n await annadirLordenTrabajo(Vue, parte.idorden_trabajo)\r\n await annadirLordenTrabajoDetalle(Vue, parte.idorden_trabajo)\r\n await annadirParteTrabajoMatsist(Vue, idparteTrabajo)\r\n await annadirParteTrabajoTecnico(Vue, idparteTrabajo)\r\n await annadirLparteTrabajo(Vue, idparteTrabajo)\r\n await annadirTiempoTrabajado(Vue, idparteTrabajo)\r\n await annadirSolicitudMaterial(Vue, idparteTrabajo)\r\n await annadirLsolicitudMaterial(Vue, idparteTrabajo)\r\n await annadirLlsolicitudMaterial(Vue, idparteTrabajo)\r\n await annadirOrdenTrabajoSubsis(Vue, parte.idorden_trabajo)\r\n await annadirFicheroOrdenTrabajo(Vue, parte.idorden_trabajo, idtecnico)\r\n await annadirFicheroParteTrabajo(Vue, idparteTrabajo, idtecnico)\r\n const almacenesParte = await downloadAlmacenesParte(Vue, idparteTrabajo)\r\n // descargo el stock de almacenes de obra o vehículo\r\n const almacenes = _.map(_.filter(almacenesParte, (item) => {\r\n return (\r\n item.talmacen_clasificacion === TALMACEN.clasificaciones.obra || item.talmacen_clasificacion === TALMACEN.clasificaciones.vehiculo\r\n )\r\n }), 'idalmacen')\r\n await annadirStock(Vue, almacenes)\r\n await annadirLstock(Vue, almacenes)\r\n await annadirAnticipocli(Vue, parte.idorden_trabajo)\r\n // TODO: se podría optimizar para llamar a la función Vue.$online.nota.buildApiFilterVisualizacion una sola vez.\r\n await annadirNotaParteTrabajo(Vue, idparteTrabajo, idtecnico)\r\n await annadirNotaOrdenTrabajo(Vue, parte.idorden_trabajo, idtecnico)\r\n const batchResponse = await Vue.$api.batchCall(pendingCalls)\r\n await insertCliente(Vue, batchResponse)\r\n await insertSistema(Vue, batchResponse)\r\n await insertFicheroSistema(Vue, batchResponse)\r\n await insertTsistemaTdatosist(Vue, batchResponse)\r\n if (ordenTrabajo && ordenTrabajo.idbanco_precio) {\r\n await insertBancoPrecio(Vue, batchResponse)\r\n await insertLbancoPrecio(Vue, batchResponse)\r\n await insertBancoPrecioCapitulo(Vue, batchResponse)\r\n await insertBancoPrecioGrupoDto(Vue, batchResponse)\r\n await insertLbancoPrecioDetalle(Vue, batchResponse)\r\n }\r\n await Vue.$offline.ordenTrabajo.insert(ordenTrabajo, { replace: true })\r\n await insertClienteDireccion(Vue, batchResponse)\r\n await insertClienteTelefono(Vue, batchResponse)\r\n await insertClienteAviso(Vue, batchResponse)\r\n await insertSubsis(Vue, batchResponse)\r\n await insertMaterialSistema(Vue, batchResponse)\r\n await insertDatoMaterialSistema(Vue, batchResponse)\r\n await insertSistemaMant(Vue, batchResponse)\r\n await insertSistemaCuota(Vue, batchResponse)\r\n await insertDatoSistema(Vue, batchResponse)\r\n await insertSistemaTviacomunicacnion(Vue, batchResponse)\r\n await insertSistemaTelefono(Vue, batchResponse)\r\n await insertOrdenTrabajoMatsist(Vue, batchResponse)\r\n if (checklistOt) {\r\n await insertChecklistOt(Vue, checklistOt)\r\n await insertChecklistOtSubsis(Vue, batchResponse)\r\n await insertGrupoChecklistOt(Vue, batchResponse)\r\n await insertAgrupacionPreguntaOt(Vue, batchResponse)\r\n await insertPreguntaChecklistOt(Vue, batchResponse)\r\n await insertValorColumnaOt(Vue, batchResponse)\r\n await insertTanomaliaChecklistOt(Vue, batchResponse)\r\n await insertAccionCorrectoraOt(Vue, batchResponse)\r\n await insertFicheroAnomalia(Vue, batchResponse)\r\n await insertFicheroAccionCorrectora(Vue, batchResponse)\r\n }\r\n await insertAccionEjec(Vue, batchResponse)\r\n await insertOrdenTrabajoMant(Vue, batchResponse)\r\n await insertLordenTrabajo(Vue, batchResponse)\r\n await insertLordenTrabajoDetalle(Vue, batchResponse)\r\n await Vue.$offline.parteTrabajo.insert(parte, { replace: true })\r\n await insertParteTrabajoMatsist(Vue, batchResponse)\r\n await insertParteTrabajoTecnico(Vue, batchResponse)\r\n await insertLparteTrabajo(Vue, batchResponse)\r\n await insertTiempoTrabajado(Vue, batchResponse)\r\n await insertOrdenTrabajoSubsis(Vue, batchResponse)\r\n await insertFicheroOrdenTrabajo(Vue, batchResponse)\r\n await insertFicheroParteTrabajo(Vue, batchResponse)\r\n await insertAlmacenesParte(Vue, almacenesParte, idparteTrabajo)\r\n await insertStock(Vue, batchResponse)\r\n await insertLstock(Vue, batchResponse)\r\n await insertAnticipocli(Vue, batchResponse)\r\n await insertSolicitudMaterial(Vue, batchResponse)\r\n await insertLsolicitudMaterial(Vue, batchResponse)\r\n await insertLlsolicitudMaterial(Vue, batchResponse)\r\n await insertNotaParteTrabajo(Vue, batchResponse)\r\n await insertNotaOrdenTrabajo(Vue, batchResponse)\r\n await insertProyectoContable(Vue, batchResponse)\r\n // descargar parte de trabajo\r\n const parteTrabajoTecnico = await Vue.$offline.parteTrabajoTecnico.select({\r\n where: Vue.$offline.db.op.and(\r\n tables.parte_trabajo_tecnico.idparte_trabajo.eq(idparteTrabajo),\r\n tables.parte_trabajo_tecnico.idtecnico.eq(idtecnico)\r\n )\r\n })\r\n await setParteTrabajoTecnicoDescargado(\r\n Vue, parteTrabajoTecnico[0].parte_trabajo_tecnico.idparte_trabajo_tecnico\r\n )\r\n } finally {\r\n pendingCalls = []\r\n Vue.$loading.hide()\r\n }\r\n}\r\n\r\nexport const downloadTablasGlobales = async (Vue) => {\r\n let pendingCalls = []\r\n pendingCalls.push(\r\n { method: 'empresa.select', name: 'empresa', message: 'empresas' },\r\n { method: 'tcaja.select', name: 'tcaja', message: 'tipos de cajas' },\r\n { method: 'caja.select', name: 'caja', message: 'cajas' },\r\n { method: 'tformaPago.select', name: 'tformaPago', message: 'tipos de forma de pago' },\r\n { method: 'formaPago.select', name: 'formaPago', message: 'forma de pago' },\r\n { method: 'tactuacion.select', name: 'tactuacion', message: 'tipos de actuación' },\r\n { method: 'tsistema.select', name: 'tsistema', message: 'tipos de sistema' },\r\n { method: 'tincidenciaOt.select', name: 'tincidenciaOt', message: 'tipos de incidencia' },\r\n { method: 'ordenTrabajoPrioridad.select', name: 'ordenTrabajoPrioridad', message: 'prioridades' },\r\n { method: 'tparteTrabajo.select', name: 'tparteTrabajo', message: 'tipos de parte de trabajo' },\r\n { method: 'almacen.select', name: 'almacen', message: 'almacenes' },\r\n { method: 'talmacen.select', name: 'talmacen', message: 'tipos de almacén' },\r\n { method: 'tcierreParte.select', name: 'tcierreParte', message: 'tipos de cierre de parte' },\r\n { method: 'zona.select', name: 'zona', message: 'zonas' },\r\n { method: 'tactuacionTsistema.select', name: 'tactuacionTsistema', message: 'tipos de sitema' },\r\n { method: 'agenteExtintor.select', name: 'agenteExtintor', message: 'agentes extintores' },\r\n { method: 'agentePropelente.select', name: 'agentePropelente', message: 'agentes propelentes' },\r\n { method: 'timportanciaMaterial.select', name: 'timportanciaMaterial', message: 'importancia de materiales de sistema' },\r\n { method: 'fabricante.select', name: 'fabricante', message: 'fabricantes' },\r\n { method: 'familia.select', name: 'familia', message: 'familias' },\r\n { method: 'tsubfamilia.select', name: 'tsubfamilia', message: 'tipos de subfamilia' },\r\n { method: 'subfamilia.select', name: 'subfamilia', message: 'subfamilias' },\r\n { method: 'tsubsis.select', name: 'tsubsis', message: 'tipos de subsistema' },\r\n { method: 'tsistemaTsubsis.select', name: 'tsistemaTsubsis', message: 'tipos de subsistema por sistema' },\r\n { method: 'maccion.select', name: 'maccion', message: 'tipos de acción' },\r\n { method: 'maccionTsubfam.select', name: 'maccionTsubfam', message: 'subfamilias por tipo de acción' },\r\n { method: 'timpuesto.select', name: 'timpuesto', message: 'impuestos' },\r\n { method: 'toperacionImpuesto.select', name: 'toperacionImpuesto', message: 'tipos de operación de impuestos' },\r\n { method: 'articulo.select', name: 'articulo', message: 'artículos' },\r\n { method: 'articuloCodbarras.select', name: 'articuloCodbarras', message: 'códigos de barra de artículos' },\r\n { method: 'plantillaArticulo.select', name: 'plantillaArticulo', message: 'plantillas de artículos' },\r\n { method: 'plantillaGrupoArticulo.select', name: 'plantillaGrupoArticulo', message: 'grupos de plantillas de artículos' },\r\n { method: 'lplantillaArticulo.select', name: 'lplantillaArticulo', message: 'artículos de plantillas de artículos' },\r\n { method: 'periodoRevision.select', name: 'periodoRevision', message: 'períodos de revisión' },\r\n { method: 'checklist.select', name: 'checklist', message: 'definición de checklists' },\r\n { method: 'grupoChecklist.select', name: 'grupoChecklist', message: 'definición de grupos de checklist' },\r\n { method: 'grupoChecklistSubfamilia.select', name: 'grupoChecklistSubfamilia', message: 'definición de subfamilias de checklist' },\r\n { method: 'agrupacionPregunta.select', name: 'agrupacionPregunta', message: 'definición de agrupaciones de preguntas' },\r\n { method: 'tequipoMedicion.select', name: 'tequipoMedicion', message: 'tipos de equipo de medición' },\r\n { method: 'equipoMedicion.select', name: 'equipoMedicion', message: 'equipos de medición' },\r\n { method: 'gradoAnomalia.select', name: 'gradoAnomalia', message: 'grados de anomalía' },\r\n { method: 'preguntaChecklist.select', name: 'preguntaChecklist', message: 'definición de preguntas de checklist' },\r\n { method: 'valorColumna.select', name: 'valorColumna', message: 'denifición de valores de checklist' },\r\n { method: 'tanomaliaChecklist.select', name: 'tanomaliaChecklist', message: 'definición de anomalías de checklist' },\r\n { method: 'accionCorrectora.select', name: 'accionCorrectora', message: 'definición de acciones correctoras' },\r\n { method: 'empleado.select', name: 'empleado', message: 'empleados' },\r\n { method: 'empleadoCaja.select', name: 'empleadoCaja', message: 'cajas por empleado' },\r\n { method: 'tecnico.select', name: 'tecnico', message: 'técnicos' },\r\n { method: 'tfichero.select', name: 'tfichero', message: 'tipos de fichero' },\r\n { method: 'tdatoArticulo.select', name: 'tdatoArticulo', message: 'tipos de dato de artículo' },\r\n { method: 'tdatoArticuloValor.select', name: 'tdatoArticuloValor', message: 'valores de tipos de dato de artículo' },\r\n { method: 'datoArticulo.select', name: 'datoArticulo', message: 'datos de artículo' },\r\n { method: 'fichaTecnica.select', name: 'fichaTecnica', message: 'fichas técnicas' },\r\n { method: 'grupoFichaTecnica.select', name: 'grupoFichaTecnica', message: 'grupos de ficha técnica' },\r\n { method: 'articuloEscandallo.select', name: 'articuloEscandallo', message: 'escandallos de artículo' },\r\n { method: 'tmotivoNofacturable.select', name: 'tmotivoNofacturable', message: 'motivos de no facturación' },\r\n { method: 'maccionFact.select', name: 'maccionFact', message: 'artículos de facturación por tipo de acción' },\r\n { method: 'regimenFiscal.select', name: 'regimenFiscal', message: 'regímenes fiscales' },\r\n { method: 'nivelSatisfaccion.select', name: 'nivelSatisfaccion', message: 'niveles de satisfacción' },\r\n { method: 'parametro.select', name: 'parametro', message: 'parámetros' },\r\n { method: 'ttarea.select', name: 'ttarea', message: 'tipos de tarea' },\r\n { method: 'tecnicoTtarea.select', name: 'tecnicoTtarea', message: 'tipos de tarea de técnicos' },\r\n { method: 'tarifa.select', name: 'tarifa', message: 'tarifa' },\r\n { method: 'idioma.select', name: 'idioma', message: 'idiomas' },\r\n { method: 'traduccion.select', name: 'traduccion', message: 'traducciones' },\r\n { method: 'ttelefono.select', name: 'ttelefono', message: 'tipos de teléfono' },\r\n { method: 'tmotivoBloqueoOt.select', name: 'tmotivoBloqueoOt', message: 'tipos de bloqueo de orden de trabajo' },\r\n { method: 'tservicioContratado.select', name: 'tservicioContratado', message: 'tipos de servicio contratado' },\r\n { method: 'conceptoCuota.select', name: 'conceptoCuota', message: 'conceptos de cuotas' },\r\n { method: 'conceptoCuotaTservicio.select', name: 'conceptoCuotaTservicio', message: 'tipos de servicios por conceptos de cuotas' },\r\n { method: 'tstock.select', name: 'tstock', message: 'tipos de stock' },\r\n { method: 'marca.select', name: 'marca', message: 'marcas' },\r\n { method: 'vehiculo.select', name: 'vehiculo', message: 'vehículos' },\r\n { method: 'grupoDescuento.select', name: 'grupoDescuento', message: 'grupos de descuento' },\r\n { method: 'tdatoSistema.select', name: 'tdatoSistema', message: 'tipos de datos de sistema' },\r\n { method: 'tviacomunicacion.select', name: 'tviacomunicacion', message: 'tipos de vías de comunicación' },\r\n { method: 'ttransmisor.select', name: 'ttransmisor', message: 'tipos de transmisores' },\r\n { method: 'grupoEmpleado.select', name: 'grupoEmpleado', message: 'grupos de usuario' },\r\n { method: 'tnota.select', name: 'tnota', message: 'tipos de notas' },\r\n { method: 'estOrdenTrabajo.select', name: 'estOrdenTrabajo', message: 'estados de órdenes de trabajo' },\r\n )\r\n Vue.$loading.showManual('Descargando datos globales...')\r\n try {\r\n const batchResponse = await Vue.$api.batchCall(pendingCalls)\r\n for (let call in pendingCalls) {\r\n Vue.$loading.showManual(`Actualizando ${pendingCalls[call].message}`)\r\n if (batchResponse.data[pendingCalls[call].name].result && batchResponse.data[pendingCalls[call].name].result.dataset) {\r\n const dataset = batchResponse.data[pendingCalls[call].name].result.dataset\r\n const offlineResource = Vue.$offline[pendingCalls[call].name]\r\n // insert or replace\r\n await offlineResource.insert(dataset, { replace: true })\r\n // delete (ya no existe)\r\n if (offlineResource.pkName) {\r\n const inPk = _.map(dataset, offlineResource.pkName)\r\n // TODO: https://github.com/google/lovefield/issues/274\r\n inPk.push(-1)\r\n await offlineResource.delete({ where: Vue.$offline.db.op.not(offlineResource.pk.in(inPk)) })\r\n }\r\n } else {\r\n throw new Error((`No se puede descargar ${pendingCalls[call].name}. Error: ${batchResponse.data[pendingCalls[call].name].error.message}`))\r\n }\r\n }\r\n } finally {\r\n Vue.$loading.hide()\r\n }\r\n}\r\n"],"sourceRoot":""}