diff --git a/configuration.py b/configuration.py
index 57d541f..1e741c7 100644
--- a/configuration.py
+++ b/configuration.py
@@ -12,6 +12,7 @@ class Configuration(ModelSingleton, ModelSQL, ModelView):
invima = fields.Char('Invima', states={
'required': Eval('technician_responsible', True)
})
+ technician_signature = fields.Binary('Technician Signature')
equipment_sequence = fields.Many2One(
'ir.sequence', "Equipment Sequence", domain=[
('sequence_type', '=',
diff --git a/maintenance.py b/maintenance.py
index 1e40407..a522d70 100644
--- a/maintenance.py
+++ b/maintenance.py
@@ -105,6 +105,7 @@ class MaintenanceService(Workflow, ModelSQL, ModelView):
technician_responsible = fields.Char('Technician Responsible')
invima = fields.Char('Invima')
+ technician_signature = fields.Binary('Technician Signature')
@fields.depends('maintenance_type', 'code')
def get_rec_name(self, name):
@@ -221,6 +222,14 @@ class MaintenanceService(Workflow, ModelSQL, ModelView):
if config.technician_responsible:
return config.technician_responsible.invima
+ @classmethod
+ def default_technician_signature(cls):
+ pool = Pool()
+ ConfigurationEquipment = pool.get('optical_equipment.configuration')
+ config = ConfigurationEquipment(1)
+ if config.technician_signature:
+ return config.technician_signature
+
@classmethod
def _get_origin(cls):
'Return list of Model names for origin Reference'
@@ -373,6 +382,7 @@ class MaintenanceServiceLine(Workflow, ModelSQL, ModelView):
technician_responsible = fields.Char('Technician Responsible')
invima = fields.Char('Invima')
+ technician_signature = fields.Binary('Technician Signature')
@classmethod
def default_technician_responsible(cls):
@@ -392,6 +402,14 @@ class MaintenanceServiceLine(Workflow, ModelSQL, ModelView):
if config.technician_responsible:
return config.technician_responsible.invima
+ @classmethod
+ def default_technician_signature(cls):
+ pool = Pool()
+ ConfigurationEquipment = pool.get('optical_equipment.configuration')
+ config = ConfigurationEquipment(1)
+ if config.technician_signature:
+ return config.technician_signature
+
@classmethod
def __setup__(cls):
super(MaintenanceServiceLine, cls).__setup__()
diff --git a/report/Calibration.fodt b/report/Calibration.fodt
index 77cd3cb..d0cc727 100644
--- a/report/Calibration.fodt
+++ b/report/Calibration.fodt
@@ -1,10 +1,10 @@
- 2022-10-11T16:28:51.1019484802023-09-24T21:21:08.221447105PT5H1M34S67LibreOffice/7.5.6.2$Linux_X86_64 LibreOffice_project/50$Build-2
+ 2022-10-11T16:28:51.1019484802023-11-28T08:48:44.926878907PT5H2M20S68LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
- 59584
+ 98725
0
24502
11499
@@ -14,11 +14,11 @@
view2
3455
- 103734
+ 108315
0
- 59584
+ 98725
24500
- 71081
+ 110222
0
1
false
@@ -73,7 +73,7 @@
true
true
false
- 5156974
+ 5278623
true
false
false
@@ -164,8 +164,8 @@
-
-
+
+
@@ -267,10 +267,10 @@
-
+
-
+
@@ -327,16 +327,16 @@
-
+
$
-
+
-
$
-
+
@@ -518,6 +518,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -605,219 +617,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -825,10 +624,250 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1006,10 +1045,18 @@
+
+
+
+
+
+
+
+
@@ -1732,10 +1779,10 @@
- Fecha: <format_datetime(datetime.datetime.now(),user.language, '%b/%d/%Y', maintenance.company.timezone)>
+ Fecha: <format_datetime(datetime.datetime.now(),user.language, '%b/%d/%Y', maintenance.company.timezone)>
- Consecutivo: <maintenance.code>
+ Consecutivo: <maintenance.code>
@@ -1743,11 +1790,11 @@
- Señores: <maintenance.propietary.name>
- Documento: <"NIT" if maintenance.propietary.tax_identifier.type=="31" else "CC"><maintenance.propietary.tax_identifier.code>
- Ciudad: <maintenance.propietary_address.subdivision_municipality.name>
- Dirección: <maintenance.propietary_address.street>
-
+ Señores: <maintenance.propietary.name>
+ Documento: <"NIT" if maintenance.propietary.tax_identifier.type=="31" else "CC"><maintenance.propietary.tax_identifier.code>
+ Ciudad: <maintenance.propietary_address.subdivision_municipality.name>
+ Dirección: <maintenance.propietary_address.street>
+
@@ -1755,7 +1802,7 @@
- Asunto: Certificación de calibración
+ Asunto: Certificación de calibración
@@ -1764,53 +1811,53 @@
- Método de calibración: Comparación
- Rango de medición: <maintenance.equipment.product.measuring_range>
- <choose test="">
- <when test="maintenance.equipment.product.use_pattern.id==1">
- Patrón utilizado: Ojo Esquemático
- </when>
- <when test="maintenance.equipment.product.use_pattern.id==2">
- Patrón utilizado: Lentes de Prueba
- </when>
- <when test="maintenance.equipment.product.use_pattern.id==3">
- Patrón utilizado: Pesas de Calibración
- </when>
- <when test="maintenance.equipment.product.use_pattern.id==4">
- Patrón utilizado: Esferas de Calibración
- </when>
- <otherwise test="">
- Patrón utilizado: Barras de Calibración
- </otherwise>
- </choose>
- <choose test="">
- <when test="maintenance.equipment.use == 'medico'">
- Uso: Médico
- </when>
- <when test="maintenance.equipment.use == 'basico'">
- Uso: Básico
- </when>
- <when test="maintenance.equipment.use == 'apoyo'">
- Uso: Apoyo
- </when>
- <otherwise test="">
- Uso: n/a
- </otherwise>
- </choose>
- División de escala: <"0.25D" if maintenance.equipment.product.measuring_range == "dioptria" else "1mmHg">
- Sitio de medición: Consultorio
+ Método de calibración: Comparación
+ Rango de medición: <maintenance.equipment.product.measuring_range>
+ <choose test="">
+ <when test="maintenance.equipment.product.use_pattern.id==1">
+ Patrón utilizado: Ojo Esquemático
+ </when>
+ <when test="maintenance.equipment.product.use_pattern.id==2">
+ Patrón utilizado: Lentes de Prueba
+ </when>
+ <when test="maintenance.equipment.product.use_pattern.id==3">
+ Patrón utilizado: Pesas de Calibración
+ </when>
+ <when test="maintenance.equipment.product.use_pattern.id==4">
+ Patrón utilizado: Esferas de Calibración
+ </when>
+ <otherwise test="">
+ Patrón utilizado: Barras de Calibración
+ </otherwise>
+ </choose>
+ <choose test="">
+ <when test="maintenance.equipment.use == 'medico'">
+ Uso: Médico
+ </when>
+ <when test="maintenance.equipment.use == 'basico'">
+ Uso: Básico
+ </when>
+ <when test="maintenance.equipment.use == 'apoyo'">
+ Uso: Apoyo
+ </when>
+ <otherwise test="">
+ Uso: n/a
+ </otherwise>
+ </choose>
+ División de escala: <"0.25D" if maintenance.equipment.product.measuring_range == "dioptria" else "1mmHg">
+ Sitio de medición: Consultorio
- Equipo: <maintenance.equipment.product.name>
- Marca: <maintenance.equipment.mark_category.name>
- Modelo: <maintenance.equipment.model_category.name>
- Referencia: <maintenance.equipment.reference_category.name>
- Serie: <maintenance.equipment.serial>
+ Equipo: <maintenance.equipment.product.name>
+ Marca: <maintenance.equipment.mark_category.name>
+ Modelo: <maintenance.equipment.model_category.name>
+ Referencia: <maintenance.equipment.reference_category.name>
+ Serie: <maintenance.equipment.serial>
-
-
+
+
@@ -1818,7 +1865,7 @@
- Condiciones Ambientales
+ Condiciones Ambientales
@@ -1826,88 +1873,88 @@
- Temperatura Min
+ Temperatura Min
- <str(maintenance.temperature_min) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_min else "">
+ <str(maintenance.temperature_min) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_min else "">
- Humedad Min
+ Humedad Min
- <str(maintenance.moisture_min) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_min else "">
+ <str(maintenance.moisture_min) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_min else "">
- Temperatura Max
+ Temperatura Max
- <str(maintenance.temperature_max) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_max else "">
+ <str(maintenance.temperature_max) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_max else "">
- Humedad Max
+ Humedad Max
- <str(maintenance.moisture_max) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_max else "">
+ <str(maintenance.moisture_max) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_max else "">
-
-
+
+
- Medida Tomadas
+ Medida Tomadas
- Patrón
+ Patrón
- Valor en Equipo
+ Valor en Equipo
- % Error
+ % Error
- <for each="line in maintenance.lines_calibration">
+ <for each="line in maintenance.lines_calibration">
- <line.value_patterns.pattern>
+ <line.value_patterns.pattern>
- <line.value_equipment>
+ <line.value_equipment>
- <line.mistake_rate>%
+ <line.mistake_rate>%
- </for>
+ </for>
-
+
Resultados de calibración:
- La incertidumbre expandida de la medición se ha obtenido multiplicando la incertidumbre combinada por el factor de cobertura K calculado conforme a los grados de libertad y el factor de Student para una probabilidad del 95%
-
+ La incertidumbre expandida de la medición se ha obtenido multiplicando la incertidumbre combinada por el factor de cobertura K calculado conforme a los grados de libertad y el factor de Student para una probabilidad del 95%
+
@@ -1916,52 +1963,52 @@
- <"Dioptría" if maintenance.equipment.product.measuring_range == "dioptria" else "mmHg">
+ <"Dioptría" if maintenance.equipment.product.measuring_range == "dioptria" else "mmHg">
- Desviación estándar
+ Desviación estándar
- Promedio
+ Promedio
- Incertidumbre Expandida
+ Incertidumbre Expandida
- Estado
+ Estado
- <for each="line in maintenance.calibration_total">
+ <for each="line in maintenance.calibration_total">
-
+
- <line.diopter>
+ <line.diopter>
- <line.dev_std>
+ <line.dev_std>
- <line.mean>
+ <line.mean>
- <line.uncertain_expanded>
+ <line.uncertain_expanded>
- <line.state>
+ <line.state>
- </for>
+ </for>
@@ -1970,7 +2017,7 @@
- Este certificado de calibración no podrá ser reproducido.
+ Este certificado de calibración no podrá ser reproducido.
@@ -1978,18 +2025,33 @@
-
+
-
+
Texto 1:
- Este certificado expresa fielmente el resultado de las mediciones realizadas. Los resultados contenidos en el presente certificado se refieren al momento y condiciones en que se realizaron las mediciones. No nos responsabilizamos de los perjuicios que pueden derivarse del uso inadecuado de los instrumentos calibrados. El usuario es responsable de la recalibración de sus instrumentos a intervalos apropiados.
-
-
- <maintenance.technician_responsible>
- INVIMA : <maintenance.invima>
- </for>
+ Este certificado expresa fielmente el resultado de las mediciones realizadas. Los resultados contenidos en el presente certificado se refieren al momento y condiciones en que se realizaron las mediciones. No nos responsabilizamos de los perjuicios que pueden derivarse del uso inadecuado de los instrumentos calibrados. El usuario es responsable de la recalibración de sus instrumentos a intervalos apropiados.
+
+
+
+
+
+ <if test="maintenance.technician_signature">
+
+
+
+ Texto 2:
+
+
+ </if>
+ <maintenance.technician_responsible>
+ INVIMA :<maintenance.invima>
+
+
+
+
+ </for>
\ No newline at end of file
diff --git a/report/Calibrations.fodt b/report/Calibrations.fodt
index 5a18e72..2b06945 100644
--- a/report/Calibrations.fodt
+++ b/report/Calibrations.fodt
@@ -1,10 +1,10 @@
- 2022-10-11T16:28:51.1019484802023-09-24T21:38:02.659407388PT5H43M50S81LibreOffice/7.5.6.2$Linux_X86_64 LibreOffice_project/50$Build-2
+ 2022-10-11T16:28:51.1019484802023-11-28T11:29:06.916953005PT5H49M30S83LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
- 92710
+ 111014
0
49003
22994
@@ -14,11 +14,11 @@
view2
15706
- 104103
+ 129817
0
- 92710
+ 111014
49001
- 115702
+ 134006
0
1
false
@@ -73,7 +73,7 @@
true
true
false
- 5372653
+ 5446825
true
false
false
@@ -267,10 +267,10 @@
-
+
-
+
@@ -327,16 +327,16 @@
-
+
$
-
+
-
$
-
+
@@ -518,6 +518,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -789,107 +801,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -897,9 +809,133 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1096,6 +1132,11 @@
+
+
+
+
+
@@ -1799,7 +1840,7 @@
- Pagina 1
+ Pagina 5
@@ -1814,7 +1855,7 @@
<for each="service in records">
<for each="maintenance in service.lines">
- <if test="maintenance.equipment.product.calibration">
+ <if test="maintenance.equipment.product.calibration">
@@ -1867,15 +1908,15 @@
<when test="maintenance.equipment.product.use_pattern.id==4">
Patrón utilizado: Esferas de Calibración
</when>
- <otherwise test="">
+ <otherwise test="">
Patrón utilizado: Barras de Calibración
</otherwise>
- </choose>
+ </choose>
<choose test="">
<when test="maintenance.equipment.use == 'medico'">
Uso: Médico
</when>
- <when test="maintenance.equipment.use == 'basico'">
+ <when test="maintenance.equipment.use == 'basico'">
Uso: Básico
</when>
<when test="maintenance.equipment.use == 'apoyo'">
@@ -1897,8 +1938,8 @@
-
-
+
+
@@ -1906,7 +1947,7 @@
- Condiciones Ambientales
+ Condiciones Ambientales
@@ -1917,13 +1958,13 @@
Temperatura Min
- <str(maintenance.temperature_min) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_min else "">
+ <str(maintenance.temperature_min) + str(maintenance.temperature_uom.symbol) if maintenance.temperature_min else "">
Humedad Min
- <str(maintenance.moisture_min) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_min else "">
+ <str(maintenance.moisture_min) + str(maintenance.equipment.product.moisture_uom.symbol) if maintenance.moisture_min else "">
@@ -1941,15 +1982,15 @@
-
-
+
+
- Medida Tomadas
+ Medida Tomadas
@@ -1967,7 +2008,7 @@
- <for each="line in maintenance.lines_calibration">
+ <for each="line in maintenance.lines_calibration">
@@ -1983,6 +2024,7 @@
<line.mistake_rate>%
+
</for>
@@ -1991,7 +2033,7 @@
-
+
Resultados de calibración:
La incertidumbre expandida de la medición se ha obtenido multiplicando la incertidumbre combinada por el factor de cobertura K calculado conforme a los grados de libertad y el factor de Student para una probabilidad del 95%
@@ -2004,19 +2046,19 @@
- <"Dioptría" if maintenance.equipment.product.measuring_range == "dioptria" else "mmHg">
+ <"Dioptría" if maintenance.equipment.product.measuring_range == "dioptria" else "mmHg">
- Desviación estándar
+ Desviación estándar
- Promedio
+ Promedio
- Incertidumbre Expandida
+ Incertidumbre Expandida
- Estado
+ Estado
@@ -2058,7 +2100,7 @@
- Este certificado de calibración no podrá ser reproducido.
+ Este certificado de calibración no podrá ser reproducido.
@@ -2066,21 +2108,38 @@
-
+
-
+
Texto 1:
-
- Este certificado expresa fielmente el resultado de las mediciones realizadas. Los resultados contenidos en el presente certificado se refieren al momento y condiciones en que se realizaron las mediciones. No nos responsabilizamos de los perjuicios que pueden derivarse del uso inadecuado de los instrumentos calibrados. El usuario es responsable de la recalibración de sus instrumentos a intervalos apropiados.
-
-
-
- <maintenance.technician_responsible>
- INVIMA : <maintenance.invima>
-
-
- </if>
+
+ Este certificado expresa fielmente el resultado de las mediciones realizadas. Los resultados contenidos en el presente certificado se refieren al momento y condiciones en que se realizaron las mediciones. No nos responsabilizamos de los perjuicios que pueden derivarse del uso inadecuado de los instrumentos calibrados. El usuario es responsable de la recalibración de sus instrumentos a intervalos apropiados.
+
+
+
+
+
+
+ <if test="maintenance.technician_signature">
+
+
+
+ Texto 2:
+
+
+ </if>
+ <maintenance.technician_responsible>
+ INVIMA :<maintenance.invima>
+
+
+
+
+ </if>
+
+
+
+
</for>
</for>
diff --git a/report/Maintenance_Service.fodt b/report/Maintenance_Service.fodt
index 0d4e987..faab0fe 100644
--- a/report/Maintenance_Service.fodt
+++ b/report/Maintenance_Service.fodt
@@ -1,24 +1,24 @@
- 2022-11-03T17:09:30.5000787642023-11-28T07:51:36.432994205PT2H3M37S41LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
+ 2022-11-03T17:09:30.5000787642023-11-28T11:27:08.556904665PT2H19M47S49LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
- 52148
+ 69393
0
35003
- 16425
+ 15688
true
false
view2
- 8707
- 65952
+ 21586
+ 72498
0
- 52148
+ 69393
35001
- 68571
+ 85079
0
1
false
@@ -73,7 +73,7 @@
true
true
false
- 2443876
+ 2638665
true
false
false
@@ -160,7 +160,7 @@
-
+
@@ -437,16 +437,13 @@
-
+
-
-
+
+
-
-
-
-
+
@@ -537,183 +534,232 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -821,41 +867,55 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1439,40 +1499,40 @@
<for each="maintenance in records">
- <choose test="">
- <when test="maintenance.maintenance_type == 'initial'">
- REGISTRO DE MANTENIMIENTO INICIAL
- </when>
- <when test="maintenance.maintenance_type == 'preventive'">
- REGISTRO DE MANTENIMIENTO PREVENTIVO
- </when>
- <when test="maintenance.maintenance_type == 'corrective'">
- REGISTRO DE MANTENIMIENTO CORRECTIVO
- </when>
- </choose>
- Fecha <format_datetime(datetime.datetime.now(),user.language, '%b/%d/%Y', maintenance.company.timezone)>
- Consecutivo <maintenance.code>
-
- INFORMACIÓN DEL PROPIETARIO
+ <choose test="">
+ <when test="maintenance.maintenance_type == 'initial'">
+ REGISTRO DE MANTENIMIENTO INICIAL
+ </when>
+ <when test="maintenance.maintenance_type == 'preventive'">
+ REGISTRO DE MANTENIMIENTO PREVENTIVO
+ </when>
+ <when test="maintenance.maintenance_type == 'corrective'">
+ REGISTRO DE MANTENIMIENTO CORRECTIVO
+ </when>
+ </choose>
+ Fecha <format_datetime(datetime.datetime.now(),user.language, '%b/%d/%Y', maintenance.company.timezone)>
+ Consecutivo <maintenance.code>
+
+ INFORMACIÓN DEL PROPIETARIO
- Nombre / Razón Social: <maintenance.propietary.name>
- Ciudad: <maintenance.propietary_address.subdivision_municipality.name>
- Teléfono: <maintenance.propietary.phone>
- Movil: <maintenance.propietary.mobile>
+ Nombre / Razón Social: <maintenance.propietary.name>
+ Ciudad: <maintenance.propietary_address.subdivision_municipality.name>
+ Teléfono: <maintenance.propietary.phone>
+ Movil: <maintenance.propietary.mobile>
- Tipo Documento: <"NIT" if maintenance.propietary.tax_identifier.type=="31" else "CC">
- Documento: <maintenance.propietary.tax_identifier.code>
- Dirección: <maintenance.propietary_address.street>
+ Tipo Documento: <"NIT" if maintenance.propietary.tax_identifier.type=="31" else "CC">
+ Documento: <maintenance.propietary.tax_identifier.code>
+ Dirección: <maintenance.propietary_address.street>
-
- INFORMACIÓN DEL DISPOSITIVO
+
+ INFORMACIÓN DEL DISPOSITIVO
@@ -1489,140 +1549,155 @@
-
+
- <choose test="">
- <when test="maintenance.maintenance_type == 'preventive'">
+ <choose test="">
+ <when test="maintenance.maintenance_type == 'preventive'">
Trabajo Realizado
- 1. Verificación inicial de funcionamiento:
+ 1. Verificación inicial de funcionamiento:
- <"X" if maintenance.initial_operation else "">
+ <"X" if maintenance.initial_operation else "">
- 2. Revisión del Equipo:
+ 2. Revisión del Equipo:
- <"X" if maintenance.check_equipment else "">
+ <"X" if maintenance.check_equipment else "">
- 3. Revisión del sistema eléctrico:
+ 3. Revisión del sistema eléctrico:
- <"X" if maintenance.check_electric_system else "">
+ <"X" if maintenance.check_electric_system else "">
- 4. Limpieza interior y exterior:
+ 4. Limpieza interior y exterior:
- <"X" if maintenance.clean_int_ext else "">
+ <"X" if maintenance.clean_int_ext else "">
- 5. Limpieza de lentes y espejos:
+ 5. Limpieza de lentes y espejos:
- <"X" if maintenance.clean_eyes else "">
+ <"X" if maintenance.clean_eyes else "">
- 6. Verificar Calibración:
+ 6. Verificar Calibración:
- <"X" if maintenance.check_calibration else "">
+ <"X" if maintenance.check_calibration else "">
- </when>
- <when test="maintenance.maintenance_type == 'corrective'">
- Trabajo Realizado
+ </when>
+ <when test="maintenance.maintenance_type == 'corrective'">
+ Trabajo Realizado
- Repuesto
+ Repuesto
- Actividad de Mantenimiento
+ Actividad de Mantenimiento
- Descripción
+ Descripción
- <for each="line in maintenance.maintenance_lines">
+ <for each="line in maintenance.maintenance_lines">
- <"X" if line.line_replace else "">
+ <"X" if line.line_replace else "">
- <"X" if line.line_maintenance_activity else "">
+ <"X" if line.line_maintenance_activity else "">
- <line.maintenance_activity.name if line.line_maintenance_activity else line.replacement.name>
+ <line.maintenance_activity.name if line.line_maintenance_activity else line.replacement.name>
<if test="line.description">
<for each="description in line.description.split('\n')">
<description>
</for>
</if>
-
+
- </for>
+ </for>
- </when>
- </choose>
- <choose test="">
- <when test="maintenance.equipment.product.preventive_activities">
- Actividades Realizadas:
- <for each="description in (maintenance.equipment.product.preventive_activities or '').split('\n')">
- <description>
- </for>
- </when>
- </choose>
+ </when>
+ </choose>
+ <choose test="">
+ <when test="maintenance.equipment.product.preventive_activities">
+ Actividades Realizadas:
+ <for each="description in (maintenance.equipment.product.preventive_activities or '').split('\n')">
+ <description>
+ </for>
+ </when>
+ </choose>
Observaciones
- <maintenance.description_activity>
-
-
- Fecha del próximo mantenimiento <str(maintenance.next_maintenance)[0:11]>
+ <maintenance.description_activity>
+
+
+ Fecha del próximo mantenimiento <str(maintenance.next_maintenance)[0:11]>
-
-
-
-
- <maintenance.technician_responsible>
- INVIMA :<maintenance.invima>
+
+
+
+
+
+ <if test="maintenance.technician_signature">
+
+
+
+ Texto 1:
+
+
+ </if>
+ <maintenance.technician_responsible>
+ INVIMA :<maintenance.invima>
+
+
+
+
+ Recibido a Satisfacción:
+
</for>
-
+
diff --git a/report/Service.fodt b/report/Service.fodt
index 56ffabe..aff5977 100644
--- a/report/Service.fodt
+++ b/report/Service.fodt
@@ -1,24 +1,24 @@
- 2022-11-03T17:09:30.5000787642023-11-28T07:41:00.422955630PT4H16M40S70LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
+ 2022-11-03T17:09:30.5000787642023-11-28T08:44:57.381710837PT4H28M54S78LibreOffice/7.5.8.2$Linux_X86_64 LibreOffice_project/50$Build-2
- 43954
+ 30379
0
35003
- 16425
+ 15688
true
false
view2
- 8707
- 66784
+ 12497
+ 71221
0
- 43954
+ 30379
35001
- 60378
+ 46066
0
1
false
@@ -73,7 +73,7 @@
true
true
false
- 2756670
+ 2955950
true
false
false
@@ -437,6 +437,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -533,164 +545,183 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -797,41 +828,49 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
@@ -1416,40 +1455,40 @@
<for each="maintenance in records">
<for each="line in maintenance.lines">
- <choose test="">
- <when test="line.maintenance_type == 'initial'">
- REGISTRO DE MANTENIMIENTO INICIAL
- </when>
- <when test="line.maintenance_type == 'preventive'">
- REGISTRO DE MANTENIMIENTO PREVENTIVO
- </when>
- <when test="line.maintenance_type == 'corrective'">
- REGISTRO DE MANTENIMIENTO CORRECTIVO
- </when>
- </choose>
- Fecha <maintenance.estimated_agended.date()>
- Consecutivo <line.code>
-
- INFORMACIÓN DEL PROPIETARIO
+ <choose test="">
+ <when test="line.maintenance_type == 'initial'">
+ REGISTRO DE MANTENIMIENTO INICIAL
+ </when>
+ <when test="line.maintenance_type == 'preventive'">
+ REGISTRO DE MANTENIMIENTO PREVENTIVO
+ </when>
+ <when test="line.maintenance_type == 'corrective'">
+ REGISTRO DE MANTENIMIENTO CORRECTIVO
+ </when>
+ </choose>
+ Fecha <maintenance.estimated_agended.date()>
+ Consecutivo <line.code>
+
+ INFORMACIÓN DEL PROPIETARIO
- Nombre / Razón Social: <line.propietary.name>
- Ciudad: <line.propietary_address.subdivision_municipality.name>
- Teléfono: <line.propietary.phone>
- Movil: <line.propietary.mobile>
+ Nombre / Razón Social: <line.propietary.name>
+ Ciudad: <line.propietary_address.subdivision_municipality.name>
+ Teléfono: <line.propietary.phone>
+ Movil: <line.propietary.mobile>
- Tipo Documento: <"NIT" if line.propietary.tax_identifier.type=="31" else "CC">
- Documento: <line.propietary.tax_identifier.code>
- Dirección: <line.propietary_address.street>
+ Tipo Documento: <"NIT" if line.propietary.tax_identifier.type=="31" else "CC">
+ Documento: <line.propietary.tax_identifier.code>
+ Dirección: <line.propietary_address.street>
-
- INFORMACIÓN DEL DISPOSITIVO
+
+ INFORMACIÓN DEL DISPOSITIVO
@@ -1466,8 +1505,8 @@
- <choose test="">
- <when test="line.maintenance_type == 'preventive' or line.maintenance_type == 'initial'">
+ <choose test="">
+ <when test="line.maintenance_type == 'preventive' or line.maintenance_type == 'initial'">
Trabajo Realizado
@@ -1475,118 +1514,130 @@
- 1. Verificación inicial de funcionamiento:
+ 1. Verificación inicial de funcionamiento:
- <"X" if line.initial_operation else "">
+ <"X" if line.initial_operation else "">
- 2. Revisión del Equipo:
+ 2. Revisión del Equipo:
- <"X" if line.check_equipment else "">
+ <"X" if line.check_equipment else "">
- 3. Revisión del sistema eléctrico:
+ 3. Revisión del sistema eléctrico:
- <"X" if line.check_electric_system else "">
+ <"X" if line.check_electric_system else "">
- 4. Limpieza interior y exterior:
+ 4. Limpieza interior y exterior:
- <"X" if line.clean_int_ext else "">
+ <"X" if line.clean_int_ext else "">
- 5. Limpieza de lentes y espejos:
+ 5. Limpieza de lentes y espejos:
- <"X" if line.clean_eyes else "">
+ <"X" if line.clean_eyes else "">
- 6. Verificar Calibración:
+ 6. Verificar Calibración:
- <"X" if line.check_calibration else "">
+ <"X" if line.check_calibration else "">
-
- </when>
- <when test="line.maintenance_type == 'corrective'">
- Trabajo Realizado
+
+ </when>
+ <when test="line.maintenance_type == 'corrective'">
+ Trabajo Realizado
- Repuesto
+ Repuesto
- Actividad de Mantenimiento
+ Actividad de Mantenimiento
- Descripción
+ Descripción
- <for each="line_maintenance in line.maintenance_lines">
+ <for each="line_maintenance in line.maintenance_lines">
- <"X" if line_maintenance.line_replace else "">
+ <"X" if line_maintenance.line_replace else "">
- <"X" if line_maintenance.line_maintenance_activity else "">
+ <"X" if line_maintenance.line_maintenance_activity else "">
- <line_maintenance.maintenance_activity.name if line.line_maintenance_activity else line.replacement.name>
+ <line_maintenance.maintenance_activity.name if line.line_maintenance_activity else line.replacement.name>
- </for>
+ </for>
- </when>
- </choose>
- <choose test="">
- <when test="line.equipment.product.preventive_activities">
- Actividades Realizadas:
- <for each="description in (line.equipment.product.preventive_activities or '').split('\n')">
- <description>
- </for>
</when>
- </choose>
+ </choose>
+ <choose test="">
+ <when test="line.equipment.product.preventive_activities">
+ Actividades Realizadas:
+ <for each="description in (line.equipment.product.preventive_activities or '').split('\n')">
+ <description>
+ </for>
+ </when>
+ </choose>
Observaciones:
- <line.description_activity>
-
-
- Fecha del próximo mantenimiento <str(line.next_maintenance)[0:11]>
-
- <line.technician_responsible>
- INVIMA : <line.invima>
-
+ <line.description_activity>
+ Fecha del próximo mantenimiento <str(line.next_maintenance)[0:11]>
+
+
+
+
+ <if test="line.technician_signature">
+
+
+
+ Texto 1:
+
+
+ </if>
+ <line.technician_responsible>
+ INVIMA :<line.invima>
+
+
+
+
</for>
</for>
diff --git a/view/configuration_form.xml b/view/configuration_form.xml
index 94d338e..0d243cc 100644
--- a/view/configuration_form.xml
+++ b/view/configuration_form.xml
@@ -48,4 +48,7 @@ this repository contains the full copyright notices and license terms. -->
+
+
+
diff --git a/view/maintenance_service_form.xml b/view/maintenance_service_form.xml
index ede1d19..698442a 100644
--- a/view/maintenance_service_form.xml
+++ b/view/maintenance_service_form.xml
@@ -62,7 +62,7 @@
-
+