{"version":3,"sources":["maps/modules/apport_vendange/service/modules/apport_vendange/service/IntakeTicketMeasureConfigService.js","maps/modules/apport_vendange/service/modules/apport_vendange/service/IntakeTicketMeasureService.js","maps/modules/apport_vendange/service/modules/apport_vendange/service/IntakeTicketService.js","maps/modules/container/service/modules/container/service/ContainerService.js","maps/modules/hve/service/modules/hve/service/UtilsHVE.js","maps/modules/planifchai/service/modules/planifchai/service/CellarTaskService.js","maps/modules/planifchai/service/modules/planifchai/service/StatusWorkOrderProposalService.js","maps/modules/planifchai/service/modules/planifchai/service/TaskTypeService.js","maps/modules/winelot/service/modules/winelot/service/WineLotService.js"],"names":["IntakeTicketMeasureConfigService","apiUrl","add","jsonData","ApiClient","post","this","addFromGroup","groupId","delete","getMeasuresConfig","get","IntakeTicketMeasureService","ticketId","getMeasures","createOrUpdateMeasures","intakeTicketMeasures","put","IntakeTicketService","getAll","filters","getAllForFarm","farmId","getCalendar","getCalendarForFarm","getWorkOrders","intakeTicketId","id","create","intakeTicket","update","getCompletionData","ContainerService","getHistory","code","date","moment","format","page","UtilsHVE","checkAccessRights","menuName","Dwr","fetch","UsrMenuManager","getMenuByName","then","menuResult","ExtUtils","showWarning","d2e","trad","openMenu","menuToOpen","replace","calculateData","campaign","addTabRequest","construct_node","translate","title","action","openCarto","typeCarto","accessRightName","map","Ext","Panel","autoScroll","frame","closable","layout","unstyled","monitorResize","items","Cartographie","extContainer","origin","interface","header","buttons","leftnav","options","exports","print","layers","data","iae","biodiversite","hveIAEList","field","hveFieldList","events","init","app","Services","couches","validNewObject","excelExport","reportName","farm","farmer","startDate","endDate","reportURL","URLSearchParams","toString","runReport","attachedFiles","category","Window","width","height","modal","P2w","file","elementCategory","show","exportTravauxPopup","mode","hveFilters","rapportPrestataire","RapportPrestataire","getFilters","Promise","resolve","dossier","exploitant","start","Date","end","findExploitants","list","setStoreData","store","find","Object","assign","paramDossier","forceFilterDossier","Boolean","findDossiers","reject","setEmail","loadFn","updateOTs","popup","catch","pdfPrint","btn","column","value","campagneId","printXmlReport","getCmp","activeTab","getEl","CellarTaskService","duplicate","addComment","comment","datas","validate","status","createWorkOrder","getContainerDataForTask","dossierId","chaCuveId","addHistory","type","ref","changes","workOrderProposalTaskChanges","flat","StatusWorkOrderProposalService","TaskTypeService","WineLotService"],"mappings":"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","file":"../p2w-services.js","sourcesContent":["class IntakeTicketMeasureConfigService {\n\n static get apiUrl() { return 'intaketickets/measures/config'; }\n\n /**\n * Add a Measure to Intake tickets measure settings\n * @param jsonData\n * @returns {Promise}\n */\n static add(jsonData) {\n return ApiClient.post(this.apiUrl, jsonData);\n }\n\n\n static addFromGroup(groupId) {\n return ApiClient.post(this.apiUrl + '/group/' + groupId);\n }\n\n /**\n * Delete a specified Measure from Intake tickets measure settings\n * @param jsonData\n * @returns {Promise}\n */\n static delete(jsonData) {\n return ApiClient.delete(this.apiUrl, jsonData);\n }\n\n /**\n * @return {Promise} IntakeTicketMeasureConfig list\n */\n static getMeasuresConfig(){\n return ApiClient.get(this.apiUrl);\n }\n}\n","class IntakeTicketMeasureService {\n\n static apiUrl(ticketId) { return 'intaketickets/'+ticketId+'/measures'; }\n\n /**\n * @param {number} id - IntakeTicket.id\n * @return {Promise} IntakeTicketMeasure list from IntakeTicket\n */\n static getMeasures(ticketId){\n return ApiClient.get(IntakeTicketMeasureService.apiUrl(ticketId));\n }\n\n /**\n * Add or update measures for IntakeTicket\n * @param {number} id - IntakeTicket.id\n * @param {IntakeTicketMeasure[]} intakeTicketMeasures - Measures list\n * @return {Promise}\n */\n static createOrUpdateMeasures(ticketId, intakeTicketMeasures){\n return ApiClient.put(IntakeTicketMeasureService.apiUrl(ticketId), intakeTicketMeasures);\n }\n}\n","class IntakeTicketService {\n\n static get apiUrl() { return 'intaketickets'; }\n\n /**\n * @typedef {object} IntakeTicketParams\n * @property {String|String[]} [date] - dates des tickets (YYYY-MM-DD)\n * @property {number} [campaign] - id de la campagne des tickets\n */\n\n /**\n * Get all Intake Tickets with optional filters\n * @param {IntakeTicketParams} filters\n * @returns {Promise}\n */\n static getAll(filters) {\n return ApiClient.get(this.apiUrl + '/', filters);\n }\n\n /**\n * Get all Intake Tickets for a specified farm with optional filters\n * @param {number} farmId - param_dossier.id\n * @param {IntakeTicketParams} filters\n * @returns {Promise}\n */\n static getAllForFarm(farmId, filters) {\n return ApiClient.get(this.apiUrl + '/farm/' + farmId, filters);\n }\n\n /**\n * Get calendar of Intake Tickets with optional filters\n * @param {IntakeTicketParams} filters\n * @returns {Promise}\n */\n static getCalendar(filters) {\n return ApiClient.get( this.apiUrl + '/calendar', filters);\n }\n\n /**\n * Get calendar of Intake Tickets for a specified farm with optional filters\n * @param {number} farmId - param_dossier.id\n * @param {IntakeTicketParams} filters\n * @returns {Promise}\n */\n static getCalendarForFarm(farmId, filters) {\n return ApiClient.get(this.apiUrl + '/farm/' + farmId + \"/calendar\", filters);\n }\n\n /**\n * Get a list of WO linked to this intake ticket\n * @param intakeTicketId\n * @param filters\n * @returns {Promise}\n */\n static getWorkOrders(intakeTicketId, filters) {\n return ApiClient.get(this.apiUrl + '/' + intakeTicketId + '/workorders', filters);\n }\n\n /**\n * Delete a specified Intake Ticket by its ID\n * @param id\n * @returns {Promise}\n */\n static delete(id) {\n return ApiClient.delete(this.apiUrl + '/' + id);\n }\n\n /**\n * Add a new Intake Ticket\n * @param {object} intakeTicket\n * @return {Promise}\n */\n static create(intakeTicket){\n return ApiClient.post(this.apiUrl, intakeTicket);\n }\n\n /**\n * Edit an Intake Ticket\n * @param {object} intakeTicket\n * @return {Promise}\n */\n static update(intakeTicket){\n return ApiClient.put(this.apiUrl + '/' + intakeTicket.id, intakeTicket);\n }\n\n /**\n * Données d'autocompletion pour la création d'un nouveau ticket\n * @return {Promise}\n */\n static getCompletionData(){\n return ApiClient.get(this.apiUrl + '/completion');\n }\n}\n","class ContainerService {\n\n static get apiUrl() { return 'containers'; }\n\n /**\n * Get a container history\n * @param {string} code - ChaCuves.code\n * @param {string} [date] - History end date string in format YYYY-MM-DD\n * @param {number} [page] - History pagination count\n * @returns {Promise}\n */\n static getHistory(code, date = moment().format(\"YYYY-MM-DD\"), page = 0) {\n return ApiClient.get(this.apiUrl + '/' + code + '/history/' + date + \"?page=\" + page);\n }\n}","/**\n * Classe utilitaire pour le dashboard HVE\n */\nclass UtilsHVE {\n\n static checkAccessRights(menuName) {\n return Dwr.fetch(UsrMenuManager.getMenuByName, menuName).then(menuResult => {\n if (!menuResult) {\n ExtUtils.showWarning(d2e.trad('P2w.statut.warn'), d2e.trad('lbl.dashboard.hve.no_access'));\n }\n return menuResult;\n })\n }\n\n /**\n * Retourne une fonction qui pourra être utilisé dans le handler d'un bouton dans le but d'ouvrir, dans un nouvel onglet, un menu\n * existant dans la table usr_menu.name.
Si le menu passé en paramétre contient un '%campagneId', il sera remplacé par l'id de la campagne sélectionnée dans\n * P2w.hve.generalites.js et stocké dans chaque sous-composant dans 'calculateData'\n * @param menuToOpen une chaîne de caractère correspondant à un usr_menu.name existant\n * @returns {(function(): void)|*}\n */\n static openMenu(menuToOpen) {\n return function () {\n const menuName = menuToOpen.replace('%campagneId', this.calculateData.campaign);\n\n UtilsHVE.checkAccessRights(menuName).then(menuResult => {\n menuResult && addTabRequest(construct_node(menuResult.id, false), translate(menuResult.title), menuResult.action);\n })\n }\n }\n\n static openCarto(typeCarto, accessRightName) {\n\n return function() {\n const menuName = accessRightName.replace('%campagneId', this.calculateData.campaign);\n UtilsHVE.checkAccessRights(menuName).then(menuResult => {\n if (menuResult) {\n const map = new Ext.Panel({\n title: d2e.trad(\"lbl.touch.carto\"),\n autoScroll: false,\n frame: true,\n closable: true,\n layout: 'fit',\n unstyled: true,\n monitorResize : true,\n items: [ Cartographie.extContainer({\n origin: \"hve-field\",\n interface: {\n header: { buttons: { leftnav: true }, options: { exports: { print: true} } },\n leftnav: true,\n },\n layers: ['IGN'],\n data: {\n iae: typeCarto === 'IAE' ? this.calculateData.biodiversite.hveIAEList : null,\n field: this.calculateData.biodiversite.hveFieldList\n },\n events: typeCarto === 'IAE' ?\n { init: app=> Services.couches.create(\"HVE\", 'IAE', 2) } :\n { init: app=> Services.couches.create(\"HVE\", 'Culture', 2) }\n }) ]\n })\n validNewObject(map, typeCarto === 'IAE' ? 'HVE IAE' : 'HVE Parcelles Cultures');\n }\n })\n }\n }\n\n /**\n * Lance un export Excel du rapport demandé\n * @param reportName Nom du rapport à exporter\n * @param accessRightName Nom du menu pour vérifier les droits d'accès\n */\n static excelExport(reportName, accessRightName) {\n return function() {\n const { farm, campaign, farmer, startDate, endDate } = this.calculateData;\n\n const parameters = {\n farm,\n campaign,\n farmer,\n startDate,\n endDate,\n reportName,\n format: 'xls',\n };\n const reportURL = `reportMobile.do?name=${reportName}&${new URLSearchParams(parameters).toString()}`;\n\n const menuName = accessRightName.replace('%campagneId', campaign);\n\n UtilsHVE.checkAccessRights(menuName).then(menuResult => {\n menuResult && runReport(reportURL);\n });\n }\n }\n\n /**\n * Ouvre la fenêtre affichant les pièces jointes de la catégorie sélectionnée\n * @param category ValCode de la catégorie (params 47004) à afficher\n */\n static attachedFiles(category) {\n new Ext.Window({\n width: 850,\n height: 480,\n layout:'fit',\n modal: true,\n title : d2e.trad('lbl.pieces_jointes'),\n items: [new P2w.file.Panel({\n elementCategory: category\n })]\n }).show();\n }\n\n /**\n * Popup du rapport prestataire pour l'export de la liste des travaux selon paramètres du HVE\n * @param {\"dossier\"|\"exploitant\"} mode - mode du template du rapport\n * @param {object} hveFilters - données d'options de l'écran HVE\n * @param accessRightName - nom du menu à vérifier pour les droits d'acces\n */\n static exportTravauxPopup(mode, hveFilters, accessRightName){\n const rapportPrestataire = new RapportPrestataire(mode, false);\n\n let getFilters = Promise.resolve({\n dossier:null,\n exploitant:null,\n start: new Date(hveFilters.startDate),\n end: new Date(hveFilters.endDate)\n });\n\n // maj des filtres de l'exploitant\n if(hveFilters.farmer){\n getFilters = getFilters.then(filters => {\n return rapportPrestataire.findExploitants()\n .then(list => rapportPrestataire.setStoreData(\"exploitant\", list))\n .then(() => rapportPrestataire.store.exploitant.find(exploitant => exploitant.code === hveFilters.farmer))\n .then(exploitant => Object.assign(filters, {\n dossier: exploitant.paramDossier && exploitant.paramDossier.id,\n exploitant: exploitant.id\n }));\n });\n\n // On force le filtre des dossiers si present\n rapportPrestataire.forceFilterDossier = Boolean(hveFilters.farm);\n }\n\n // maj des filtres de la propriété\n if(hveFilters.farm){\n getFilters = getFilters.then(filters => {\n return rapportPrestataire.findDossiers()\n .then(list => rapportPrestataire.setStoreData(\"dossier\", list))\n .then(() => rapportPrestataire.store.dossier.find(dossier => dossier.code === hveFilters.farm))\n .then(dossier => Object.assign(filters, {\n dossier: dossier.id\n }));\n });\n }\n\n const menuName = accessRightName.replace('%campagneId', hveFilters.campaign);\n\n UtilsHVE.checkAccessRights(menuName)\n .then(menuResult => { return menuResult ? getFilters : Promise.reject() })\n // set rapport data filters\n .then(filters =>{ rapportPrestataire.data = Object.assign(rapportPrestataire.data, filters) })\n // maj des mails des destinataires du rapport\n .then(()=> rapportPrestataire.setEmail(\"dossier\"))\n .then(()=> mode === \"exploitant\" && rapportPrestataire.setEmail(\"exploitant\"))\n // update de la liste des OTS après chargement du popup\n .then(()=>{ rapportPrestataire.loadFn = rapportPrestataire.updateOTs })\n // init popup\n .then(()=> rapportPrestataire.popup())\n .catch(() => false);\n\n }\n\n /**\n * Lance la création d'un rapport XML pour le rapport demandé\n * @param reportName Nom du rapport à imprimer\n * @param accessRightName - nom du menu à vérifier pour les droits d'acces\n */\n static pdfPrint(reportName, accessRightName) {\n return function(btn) {\n const {farm, farmer} = this.calculateData;\n const filters = [{column: 'farm', value: farm}, {column: 'farmer', value: farmer}, {column: 'campaign', value: btn.campagneId}]\n const menuName = accessRightName.replace('%campagneId', btn.campagneId);\n UtilsHVE.checkAccessRights(menuName).then(menuResult => {\n menuResult && printXmlReport(Ext.getCmp('tabView').activeTab.getEl(), reportName, \"pdf\", \"\", filters);\n });\n\n }\n }\n\n}\n","class CellarTaskService {\n\n static get apiUrl() { return 'cellartask'; }\n\n /**\n * Add a Cellar Task\n * @param jsonData\n * @returns {Promise}\n */\n static add(jsonData) {\n return ApiClient.post(this.apiUrl, jsonData);\n }\n\n /**\n * Duplicate a Cellar Task\n * @param id\n * @returns {Promise}\n */\n static duplicate(id) {\n return ApiClient.post(this.apiUrl + '/' + id + '/duplicate');\n }\n\n /**\n * Get a specified Cellar Task by its ID\n * @param id\n * @returns {Promise}\n */\n static get(id) {\n return ApiClient.get(this.apiUrl + '/' + id);\n }\n\n /**\n * Get all Cellar Task with optional filters\n * @param {CellarTaskParams} filters\n * @returns {Promise}\n */\n static getAll(filters) {\n return ApiClient.get(this.apiUrl + '/', filters);\n }\n\n /**\n * Get all Cellar Task for a specified farm with optional filters\n * @param {number} farmId - param_dossier.id\n * @param {CellarTaskParams} filters\n * @returns {Promise}\n */\n static getAllForFarm(farmId, filters) {\n return ApiClient.get(this.apiUrl + '/farm/' + farmId, filters);\n }\n\n /**\n * Get calendar of Cellar Task with optional filters\n * @param {CellarTaskParams} filters\n * @returns {Promise}\n */\n static getCalendar(filters) {\n return ApiClient.get( this.apiUrl + '/calendar', filters);\n }\n\n /**\n * Get calendar of Cellar Task for a specified farm with optional filters\n * @param {number} farmId - param_dossier.id\n * @param {CellarTaskParams} filters\n * @returns {Promise}\n */\n static getCalendarForFarm(farmId, filters) {\n return ApiClient.get(this.apiUrl + '/farm/' + farmId + \"/calendar\", filters);\n }\n\n /**\n * Add a new comment to the specified Cellar Task\n * @param {number} id - ot_proposition.id\n * @param {string} comment\n * @return {Promise}\n */\n static addComment(id, comment){\n return ApiClient.post(this.apiUrl + '/'+ id + '/comment', comment);\n }\n\n /**\n * Update a specified Cellar Task by its ID\n * @param id\n * @param datas\n * @returns {Promise}\n */\n static update(id, datas) {\n return ApiClient.put(this.apiUrl + '/' + id, datas)\n }\n\n /**\n * Validate if a Cellar Task Work Order Proposal is valid to create the final Work Order\n * @param id\n * @returns {Promise}\n */\n static validate(id) {\n return ApiClient.get(this.apiUrl + '/' + id + '/validate');\n }\n\n static status(id) {\n return ApiClient.get(this.apiUrl + '/' + id + '/status');\n }\n\n /**\n * Create a Work Order from a Cellar Task Work Order Proposal\n * @param id\n * @param datas\n * @returns {Promise}\n */\n static createWorkOrder(id, datas) {\n return ApiClient.post(this.apiUrl + '/' + id + '/workorder', datas);\n }\n\n /**\n * Delete a specified Cellar Task by its ID\n * @param id\n * @returns {Promise}\n */\n static delete(id) {\n return ApiClient.delete(this.apiUrl + '/' + id);\n }\n\n\n /**\n * Get container data for a Cellar Task with optional filters\n * @param {number} dossierId - paramDossier.id\n * @param {number} chaCuveId - ChaCuves.id\n * @returns {Promise}\n */\n static getContainerDataForTask(dossierId, chaCuveId){\n return ApiClient.get(`${this.apiUrl}/farm/${dossierId}/container/${chaCuveId}`);\n }\n\n /**\n * Add new changes to the workOrderTask history\n * @param {number} id - ot_proposition.id\n * @param {string} type - change origin type\n * @param {string} ref - change origin reference\n * @param {string|string[]} changes - change détails\n * @return {Promise}\n */\n static addHistory(id, type, ref, changes){\n const workOrderProposalTaskChanges = { type, ref, changes: [changes].flat()};\n return ApiClient.post(this.apiUrl + '/'+ id + '/history', workOrderProposalTaskChanges);\n }\n}","/**\n * Service Class for Task Type. Define simple methods to be called to interact with API\n */\nclass StatusWorkOrderProposalService {\n\n static get apiUrl() { return 'statutotproposition'; }\n\n // Get all Status for a WorkOrderProposal StatutPropositionOt.java\n static get() {\n return ApiClient.get(this.apiUrl);\n }\n\n}","/**\n * Service Class for Task Type. Define simple methods to be called to interact with API\n */\nclass TaskTypeService {\n\n static get apiUrl() { return 'cellartasktype'; }\n\n // Get all Task Types from TaskType.java\n static get() {\n return ApiClient.get(this.apiUrl);\n }\n\n}","class WineLotService {\n\n static get apiUrl() { return 'winelots'; }\n\n /**\n * Get a lot history\n * @param {string} code - ChaLot.code\n * @param {string} [date] - History end date string in format YYYY-MM-DD\n * @param {number} [page] - History pagination count\n * @returns {Promise}\n */\n static getHistory(code, date = moment().format(\"YYYY-MM-DD\"), page = 0) {\n return ApiClient.get(this.apiUrl + '/' + code + '/history/' + date + \"?page=\" + page);\n }\n}"]}