Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions ina_mp_lat_res_ensayos/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

======================
Ina mp lat res ensayos
======================

* Resultados de los ensayos en fabrica.


Bug Tracker
===========

Bugs are tracked on `GitHub Issues
<https://github.com/avanzosc/custom-addons/issues>`_. In case of trouble,
please check there if your issue has already been reported. If you spotted
it first, help us smash it by providing detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Contributors
------------
* Inael

2 changes: 2 additions & 0 deletions ina_mp_lat_res_ensayos/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
40 changes: 40 additions & 0 deletions ina_mp_lat_res_ensayos/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Ina Mp Lat Res Ensayos",
"version": "18.0.1.0.0",
"category": "Inael mp",
"license": "AGPL-3",
"author": "INAEL,jag",
"website": "https://github.com/avanzosc/custom-addons",
"depends": ["mrp", "ina_mc_permisos"],
"data": [
"security/ir.model.access.csv",
"views/res_aisladores.xml",
"views/res_basescutout.xml",
"views/res_celdas_conexiones.xml",
"views/res_celdas_equipos.xml",
"views/res_celdas_seccionadores.xml",
"views/res_celdas.xml",
"views/res_enlaces.xml",
"views/res_fusibles.xml",
"views/res_pararrayos.xml",
"views/res_seccionadores.xml",
"views/res_seccionalizadores.xml",
"views/res_trafos_relacion.xml",
"views/res_trafos_vacio.xml",
"views/res_trafos_corto.xml",
"views/res_trafos_dielectrico.xml",
"views/res_trafos_resultados.xml",
"views/res_trafos_equipos.xml",
"views/res_trafos.xml",
"wizard/wiz_celdares_duplicar.xml",
"wizard/wiz_trafos_duplicar.xml",
"wizard/wiz_informe_celdas.xml",
"wizard/wiz_informe_fusibles.xml",
"wizard/wiz_informe_secciona.xml",
"wizard/wiz_informe_pararray.xml",
"wizard/docu_inspec_trafos_ver.xml",
],
"installable": True,
}
19 changes: 19 additions & 0 deletions ina_mp_lat_res_ensayos/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from . import res_aisladores
from . import res_basescutout
from . import res_celdas_conexiones
from . import res_celdas_equipos
from . import res_celdas_seccionadores
from . import res_celdas
from . import res_enlaces
from . import res_fusibles
from . import res_pararrayos
from . import res_seccionadores
from . import res_seccionalizadores
from . import res_trafos_corto
from . import res_trafos_dielectrico
from . import res_trafos_equipos
from . import res_trafos_relacion
from . import res_trafos_resultados
from . import res_trafos_vacio
from . import res_trafos
from . import trafos_inspec_docus
19 changes: 19 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_aisladores.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResAisladores(models.Model):
_name = "res.aisladores"
_description = "LAT Resultados de ensayo de Aisladores"

num_serie = fields.Float(string="Número de Serie", index=True, digits=(15, 0))
name = fields.Float(string="Número", digits=(15, 0))
production_id = fields.Many2one(
string="Orden de Fabricacion", comodel_name="mrp.production"
)
product_id = fields.Many2one(string="Producto", comodel_name="product.product")
tension = fields.Integer()
rechazado = fields.Boolean(default=False)
fecha_ensayo = fields.Datetime(default=fields.Datetime.now)
notas = fields.Char()
17 changes: 17 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_basescutout.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResBasesCutout(models.Model):
_name = "res.basescutout"
_description = "LAT Resultados de ensayo de bases y cutout"

num_serie = fields.Float(string="Numero de Serie", index=True, digits=(15, 0))
name = fields.Float(string="Numero", digits=(15, 0))
production_id = fields.Many2one(
string="Orden de Fabricacion", comodel_name="mrp.production"
)
product_id = fields.Many2one(string="Producto", comodel_name="product.product")
fecha_ensayo = fields.Datetime(default=fields.Datetime.now)
notas = fields.Char()
85 changes: 85 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_celdas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResCeldas(models.Model):
_name = "res.celdas"
_description = "LAT Resultados de ensayo de Celdas"

name = fields.Float(string="Numero", digits=(15, 0))
venta_id = fields.Many2one(string="Orden Venta", comodel_name="sale.order")
premo_num = fields.Float(string="Num. Premo", digits=(15, 0))
premo_ref = fields.Many2one(string="Ref. Premo", comodel_name="product.product")
premo_fecha = fields.Datetime(string="Fecha Premo")
mont_num = fields.Float(string="Num. Montaje", digits=(15, 0))
mont_ref = fields.Many2one(string="Ref. Montaje", comodel_name="product.product")
mont_fecha = fields.Datetime(string="Fecha Montaje")
llenado_num = fields.Float(string="Num. Llenado", digits=(15, 0))
llenado_ref = fields.Many2one(string="Ref. Llenado", comodel_name="product.product")
llenado_fecha = fields.Datetime(string="Fecha Llenado")
celda_num = fields.Float(string="Num. Celda", index=True, digits=(15, 0))
product_id = fields.Many2one(string="Ref. Celda", comodel_name="product.product")
celda_fecha = fields.Datetime(string="Fecha Celda")
num_secciona = fields.Integer(string="Numero de Seccionadores")
enclavamientos = fields.Boolean(default=False)
inspec_visual = fields.Boolean(string="Inspeccion Visual", default=False)
niv_fuga_max = fields.Float(string="Nivel de fuga maximo", digits=(9, 10))
niv_llen_min = fields.Float(string="Nivel llenado final minimo", digits=(9, 2))
niv_fuga_med = fields.Float(string="Nivel de fuga medido", digits=(9, 10))
niv_llen_med = fields.Float(string="Nivel llenado final medido", digits=(9, 2))
peso_sf6 = fields.Integer(string="Peso SF6")
ensayo_llenado = fields.Boolean(string="Ensayado Llenado", default=False)
v_ens_tierra = fields.Integer(string="V ensayo a tierra")
v_ens_bobina = fields.Integer(string="V ensayo bobina")
v_ens_circu = fields.Integer(string="V ensayo circuitos auxiliares")
v_supe_disparo1 = fields.Float(string="V superior disparo 1", digits=(9, 2))
v_infe_disparo1 = fields.Float(string="V inferior disparo 1", digits=(9, 2))
v_supe_disparo2 = fields.Float(string="V superior disparo 2", digits=(9, 2))
v_infe_disparo2 = fields.Float(string="V inferior disparo 2", digits=(9, 2))
tiempo_dis_max = fields.Integer(string="Tiempo disparo maximo")
ens_tierra = fields.Boolean(string="Ensayo a tierra", default=False)
ens_bobina = fields.Boolean(string="Ensayo bobina", default=False)
ens_circu = fields.Boolean(string="Ensayo circuitos auxiliares", default=False)
ens_disparo1 = fields.Boolean(string="Ensayo disparo 1", default=False)
ens_disparo2 = fields.Boolean(string="Ensayo disparo 2", default=False)
tiempo_dis_medido = fields.Float(string="Tiempo disparo medido", digits=(6, 2))
i2t_disparo = fields.Float(string="i2t disparo", digit=(8, 2))
fecha_dielectrico = fields.Datetime(string="Fecha ensayo dielectrico")
ens_dielectrico = fields.Boolean(string="Ensayado dielectrico", default=False)
conce_max = fields.Float(string="Concentracion maxima", digits=(8, 2))
conce_medida = fields.Float(string="Concentracion medida", digits=(8, 3))
fecha_embolsa = fields.Datetime(string="Fecha embolsamiento")
ens_embolsa = fields.Boolean(string="Ensayado embolsamiento", default=False)
lineas_ids = fields.One2many(
string="Lineas de Seccionadores",
comodel_name="res.celdas.seccionadores",
inverse_name="celda_id",
)
c_orden = fields.Integer(string="Orden Celda")
nota = fields.Char()
production_id = fields.Many2one(
string="O.F. Celda",
comodel_name="mrp.production",
)
llenado_fecha_ens = fields.Datetime(string="Fecha Ensayo Llenado")
production_premo_id = fields.Many2one(
string="O.F. Premo", comodel_name="mrp.production"
)
production_llena_id = fields.Many2one(
string="O.F. Llenado",
comodel_name="mrp.production",
)
production_monta_id = fields.Many2one(
string="O.F. Montaje", comodel_name="mrp.production"
)
lineas_conex_ids = fields.One2many(
string="Lineas de Conexiones",
comodel_name="res.celdas.conexiones",
inverse_name="celda_id",
)
lineas_equip_ids = fields.One2many(
string="Lineas de Equipos",
comodel_name="res.celdas.equipos",
inverse_name="celda_id",
)
41 changes: 41 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_celdas_conexiones.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResCeldasConexiones(models.Model):
_name = "res.celdas.conexiones"
_description = "LAT Resultados de ensayo de Celdas Conexiones"

celda_id = fields.Many2one(
string="Ensayo Celdas", comodel_name="res.celdas", ondelete="cascade"
)
familia = fields.Selection(
[
("pasa", "Pasatapas"),
("ppt", "PPT"),
("base", "Base"),
],
)
funcion = fields.Selection(
[
("l1", "L1"),
("l2", "L2"),
("l3", "L3"),
("p1", "P1"),
("p2", "P2"),
],
)
fase = fields.Selection(
[
("r", "R"),
("s", "S"),
("t", "T"),
],
)
num_serie = fields.Char(string="Num. Serie")
product_id = fields.Many2one(string="Producto", comodel_name="product.product")
nota = fields.Char()
premo_num = fields.Float(
string="Num. Premo", digits=(15, 0), related="celda_id.premo_num"
)
34 changes: 34 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_celdas_equipos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResCeldasEquipos(models.Model):
_name = "res.celdas.equipos"
_description = "LAT Resultados de ensayo de Celdas Equipos"

celda_id = fields.Many2one(
string="Ensayo Celdas", comodel_name="res.celdas", ondelete="cascade"
)
funcion = fields.Selection(
[
("l1", "L1"),
("l2", "L2"),
("l3", "L3"),
("p1", "P1"),
("p2", "P2"),
],
)
fase = fields.Selection(
[
("r", "R"),
("s", "S"),
("t", "T"),
],
)
num_serie = fields.Char(string="Num. Serie")
product_id = fields.Many2one(string="Producto", comodel_name="product.product")
nota = fields.Char()
premo_num = fields.Float(
string="Num. Premo", digits=(15, 0), related="celda_id.premo_num"
)
36 changes: 36 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_celdas_seccionadores.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResCeldasSeccionadores(models.Model):
_name = "res.celdas.seccionadores"
_description = "LAT Resultados de ensayo de Celdas Seccionadores"

celda_id = fields.Many2one(
string="Ensayo Celdas", comodel_name="res.celdas", ondelete="cascade"
)
# product_id =fields.Many2one("product.product", string="Producto" )
num_maniobras = fields.Integer(string="Num. Maniobras")
resis_nomi = fields.Float(string="Res. Nominal", digits=(8, 2))
tol_resis = fields.Float(string="Tol. Res", digits=(8, 2))
res_r_med = fields.Float(string="Res r Med", digits=(8, 2))
res_s_med = fields.Float(string="Res s Med", digits=(8, 2))
res_t_med = fields.Float(string="Res t Med", digits=(8, 2))
vel_nom_aper = fields.Float(string="Vel. nom. Aper", digits=(8, 2))
tol_vel_aper = fields.Float(string="Tol. vel. Aper", digits=(8, 2))
vel_aper_med = fields.Float(string="Vel. Aper Med", digits=(8, 2))
vel_nom_cier = fields.Float(string="Vel. nom. Cierre", digits=(8, 2))
tol_vel_cier = fields.Float(string="Tol. vel. Cierre", digits=(8, 2))
vel_cier_med = fields.Float(string="Vel. Cierre Med", digits=(8, 2))
tiempo_fases_max = fields.Float(string="Tiempo fases Max", digits=(8, 2))
tiempo_aper_med = fields.Float(string="Tiempo aper Med", digits=(8, 2))
tiempo_cierre_med = fields.Float(digits=(8, 2))
fecha_res_vel = fields.Datetime()
ens_res_vel = fields.Boolean(string="Ensayo Res Vel", default=False)
ensayo_resis = fields.Boolean(string="Ensayado Resist", default=False)
ensayo_veloc = fields.Boolean(string="Ensayado Veloc.", default=False)
premo_num = fields.Float(string="Num. Premo", digits=(15, 0))
posicion = fields.Integer()
seccionador = fields.Char()
descripcion = fields.Char()
17 changes: 17 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_enlaces.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResEnlaces(models.Model):
_name = "res.enlaces"
_description = "LAT Resultados de ensayo de Enlaces"

name = fields.Char(string="Numero Serie")
production_id = fields.Many2one(
string="Orden de Fabricacion", comodel_name="mrp.production"
)
product_id = fields.Many2one(string="Producto", comodel_name="product.product")
tension = fields.Integer(string="Tension de Ensayo")
fecha_ensayo = fields.Datetime(default=fields.Datetime.now)
notas = fields.Char()
28 changes: 28 additions & 0 deletions ina_mp_lat_res_ensayos/models/res_fusibles.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2026 Inael
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models


class ResFusibles(models.Model):
_name = "res.fusibles"
_description = "LAT Resultados de ensayo de Fusibles"

num_serie = fields.Char(string="Numero de Serie", index=True)
name = fields.Char(string="Numero")
production_id = fields.Many2one(
string="Orden de Fabricacion", comodel_name="mrp.production"
)
product_id = fields.Many2one(
string="Producto",
comodel_name="product.product",
)
product_name = fields.Char(string="Descripcion")
fecha_ensayo = fields.Datetime(default=fields.Datetime.now)
res_nominal = fields.Float(string="Res. Nominal", digit=(9, 3))
tol_resis = fields.Float(string="Tol. Resis", digit=(9, 3))
res_medida = fields.Float(string="Res. Medida", digit=(9, 3))
peso_nominal = fields.Float(digit=(9, 3))
tol_peso = fields.Float(string="Tol. Peso", digit=(9, 3))
peso_medido = fields.Float("string=Peso Medido", digit=(9, 3))
rechazado_resis = fields.Boolean(string="Rechazado Resistencia", default=False)
rechazado_peso = fields.Boolean(default=False)
Loading
Loading