diff --git a/locale/es.po b/locale/es.po index bba02be..459b3a3 100644 --- a/locale/es.po +++ b/locale/es.po @@ -1489,7 +1489,7 @@ msgstr "Cronograma de Mantenimiento" msgctxt "model:ir.action,name:report_service" msgid "Service" -msgstr "Servicio" +msgstr "Registro de Mantenimiento Preventivo" msgctxt "model:ir.action,name:report_equipment" msgid "Equipment" diff --git a/move.py b/move.py index 2bcb7aa..1fff4eb 100644 --- a/move.py +++ b/move.py @@ -100,7 +100,7 @@ class ShipmentOut(metaclass=PoolMeta): equipment = Equipments.search(['id', '=',Id])[0] equipment.propietary = shipment.customer.id equipment.propietary_address= shipment.delivery_address.id - equipment.location = Locations.search(['name', '=', 'Customer'])[0].id + equipment.location = Locations.search(['name', '=', 'Cliente'])[0].id equipment.state="uncontrated" equipment.shipment_destination = shipment equipment.sale_destination = shipment.outgoing_moves[count].origin @@ -135,31 +135,38 @@ class ShipmentOut(metaclass=PoolMeta): Equipments = pool.get('optical_equipment.equipment') for shipment in shipments: - sale_origin = shipment.outgoing_moves[0].origin.sale.id - # saleLine = SaleLine( - # type='line', - # quantity=1, - # unit_price=0, - # sale=sale_origin) - # saleLine.save() - #raise UserError(str((shipment.get_origins(name)))) - maintenanceService = MaintenanceService( - sale_date=shipment.outgoing_moves[0].origin.sale.sale_date, - sale_origin=shipment.outgoing_moves[0].origin.sale, - maintenance_type='initial', - propietary=shipment.customer.id, - propietary_address=shipment.delivery_address.id, - state='draft') - maintenanceService.save() - serial = False + number_equipments = 0 + maintenance_required = 0 for move in shipment.inventory_moves: if move.product_equipment and move.equipment: serial = True + number_equipments +=1 + if move.equipment.product.maintenance_required: + maintenance_required +=1 elif not move.product_equipment: serial = True else: serial = False + + if number_equipments < 1 or maintenance_required < 1: + raise UserError(str("No se generó un mantenimiento inicial dado que los equipos no requiren mantenimiento, ó no se encontró ningún + producto de tipo equipo en este envío.")) + break + + sale_origin = shipment.outgoing_moves[0].origin.sale + maintenanceService = MaintenanceService.search(['sale_origin', '=', sale_origin]) + if maintenanceService == []: + maintenanceService = MaintenanceService( + sale_date=shipment.outgoing_moves[0].origin.sale.sale_date, + sale_origin=shipment.outgoing_moves[0].origin.sale, + maintenance_type='initial', + propietary=shipment.customer.id, + propietary_address=shipment.delivery_address.id, + state='draft') + maintenanceService.save() + else: + maintenanceService = maintenanceService[0] if serial == True: for move in shipment.inventory_moves: