Forráskód Böngészése

Agregar campos extras como entregado y programado

sebas 4 éve
szülő
commit
36f46ef712
4 módosított fájl, 126 hozzáadás és 26 törlés
  1. 17 2
      consulta.py
  2. 15 3
      models/medic_clinic.py
  3. 53 17
      static/src/js/clinicmedic.js
  4. 41 4
      views/clinic_history_sis.xml

+ 17 - 2
consulta.py

@@ -9,11 +9,13 @@ class ClinicMedicvisit(models.Model):
 	def getClinicMedicvisit(self,domain):
 		ClinicMedicvisit = self.env['clinic.history'].search(domain)
 		values = []
+
 		for clinichistory in ClinicMedicvisit:
 			try:
 				street = clinichistory.partner_id.street
 			except Exception as e:
 				street = ''
+
 			values.append({
                 # ID
 				'id': clinichistory.id,
@@ -38,7 +40,6 @@ class ClinicMedicvisit(models.Model):
                 'alergico': clinichistory.alergico or "",
                 'tipo_alergico': clinichistory.tipo_alergico or "",
 				'embarazada': clinichistory.embarazada or "",
-                'antecedente_paciente': clinichistory.antecedente_paciente or "",
 				'respuesta_tratamiento': clinichistory.respuesta_tratamiento or "",
 				'pa': clinichistory.pa or "",
                 'fc': clinichistory.fc or "",
@@ -46,6 +47,14 @@ class ClinicMedicvisit(models.Model):
 				'temp': clinichistory.temp or "",
                 'so': clinichistory.so or "",
 				'hgt': clinichistory.hgt or "",
+				'ost': clinichistory.ost or "",
+				'asm': clinichistory.asm or "",
+				'card': clinichistory.card or "",
+				'acv': clinichistory.acv or "",
+				'conv': clinichistory.conv or "",
+				'hta': clinichistory.hta or "",
+				'epoc': clinichistory.epoc or "",
+				'otro': clinichistory.otro or "",
                 'motivo': clinichistory.motivo or "",
                 'diagnostic': clinichistory.diagnostic or "",
 				'indicacion': clinichistory.indicacion or "",
@@ -71,6 +80,7 @@ class ClinicMedicvisit(models.Model):
 				'partner_mobile': clinichistory.partner_id.mobile or "",
                 'partner_fecha_nac ': clinichistory.partner_id.fecha_nac  or "",
 				'partner_sexo': clinichistory.partner_id.sexo or "",
+
                 # COMPANY INFO
                 'company_id': clinichistory.user_id.company_id.id or "",
                 'company_name': clinichistory.user_id.company_id.name or "",
@@ -82,6 +92,8 @@ class ClinicMedicvisit(models.Model):
                 # USER INFO
 				'user_id': clinichistory.user_id.id or "",
 		     	'user_image': clinichistory.user_id.image or "",
+
+
 			})
 
 		return values
@@ -99,7 +111,10 @@ class ClinicMedicvisitLine(models.Model):
 				'id': line.id,
                 # LINE INFO
                 'clinichistory_id': line.clinichistory_id.id,
-                'description': line.description or "",
+                'product_id':[
+				    line.product_id.id,
+				    line.product_id.name,
+			     ],
                 'quantity': line.quantity or "",
                 'brand': line.brand or "",
                 'number': line.number or "",

+ 15 - 3
models/medic_clinic.py

@@ -93,7 +93,16 @@ class MedicClinic(models.Model):
         string='Alérgico a:'
     )
     embarazada = fields.Selection([('Si','Sí'),('No','No')],'Embarazada?')
-    antecedente_paciente = fields.Selection([('ost','OST'),('asm','ASM'),('card','CARD'),('acv','ACV'),('conv','CONV'),('hta','HTA'),('epoc','EPOC'),('otros','Otros')],'Antecedente')
+    ost = fields.Boolean(string='OST' ,default = False)
+    asm = fields.Boolean(string='ASM' ,default = False)
+    card = fields.Boolean(string='CARD' ,default = False)
+    acv = fields.Boolean(string='ACV' ,default = False)
+    conv = fields.Boolean(string='CONV' ,default = False)
+    hta = fields.Boolean(string='HTA' ,default = False)
+    epoc = fields.Boolean(string='EPOC' ,default = False)
+    otro = fields.Boolean(string='Otros' ,default = False)
+    # antecedente_paciente = fields.Selection([('ost','OST'),('asm','ASM'),('card','CARD'),('acv','ACV'),('conv','CONV'),('hta','HTA'),('epoc','EPOC'),('otros','Otros')],'Antecedente')
+    # antecedente_paciente = fields.Many2many('res.partner.category', string="many2many_tags")
     pa = fields.Char(
         string='P.A.'
     )
@@ -294,7 +303,10 @@ class ClinicHistoryLine(models.Model):
         comodel_name='clinic.history',
         string='Clinic History')
 
-    description = fields.Char(string='Descripción')
+    product_id = fields.Many2one(
+        comodel_name='product.product',
+        string='Servicio'
+    )
     quantity = fields.Float(string='Cantidad', default=1.0)
     brand = fields.Char(string='Marca')
     number = fields.Char(string="Numero de serie")
@@ -310,7 +322,7 @@ class ClinicInsumosLine(models.Model):
 
     product_id = fields.Many2one(
         comodel_name='product.product',
-        string='Product'
+        string='Insumos'
     )
     quantity = fields.Float(string='Cantidad', default=1.0)
     brand = fields.Char(string='Marca')

+ 53 - 17
static/src/js/clinicmedic.js

@@ -93,6 +93,41 @@ openerp.clinic_history_medic = function (instance, local) {
             var getColumns1 = [];
             var docWorkItem1 = [];
             var getColumnsMaterial1 = [];
+            var aux1 = "";
+            var aux2 = "";
+            var aux3 = "";
+            var aux4 = "";
+            var aux5 = "";
+            var aux6 = "";
+            var aux7 = "";
+            var aux8 = "";
+            var antecedente_paciente = "";
+
+            if(doc.ost  == true){
+              aux1 =  "OST, "
+            }
+            if(doc.asm == true){
+              aux2 = "ASM, "
+            }
+            if(doc.card  == true){
+              aux3 =   "CARD, "
+            }
+            if(doc.acv == true){
+              aux4 =   "ACV, "
+            }
+            if(doc.conv  == true){
+              aux5 =   "CONV, "
+            }
+            if(doc.hta == true){
+              aux6 =   "HTA, "
+            }
+            if(doc.epoc == true){
+              aux7 =   "EPOC, "
+            }
+            if(doc.otro == true){
+              aux8 =   "y otros, "
+            }
+            antecedente_paciente =  aux1 +"" + aux2 + "" +  aux3 + "" + aux4 + "" + aux5 + "" + aux6 + "" + aux7 + "" + aux8
 
             var pdfDoc = new jsPDF();
             pdfDoc.addImage("data:image/png;base64," + self.valorNull(doc.company_logo), 'PNG', 14, 3, 35, 20);
@@ -106,7 +141,7 @@ openerp.clinic_history_medic = function (instance, local) {
             for (var i = 0; i < ClinicMedicvisitLine.length; i++) {
                 docItem.push({
                     xnumber : i + 1,
-                    product : ClinicMedicvisitLine[i].description,
+                    product : ClinicMedicvisitLine[i].product_id[1],
                     brand : ClinicMedicvisitLine[i].brand,
                     number : ClinicMedicvisitLine[i].number
                 })
@@ -405,15 +440,6 @@ openerp.clinic_history_medic = function (instance, local) {
                     pdfDoc.setTextColor(40);
                     pdfDoc.text(47,62, self.valorNull(doc.paciente_name));
 
-                    pdfDoc.setFontSize(10);
-                    pdfDoc.setFontStyle('bold');
-                    pdfDoc.setTextColor(40);
-                    pdfDoc.text(90,62,'Sexo: ');
-
-                    pdfDoc.setFontSize(10);
-                    pdfDoc.setFontStyle('normal');
-                    pdfDoc.setTextColor(40);
-                    pdfDoc.text(101,62, self.valorNull(doc.partner_sexo));
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
@@ -448,12 +474,12 @@ openerp.clinic_history_medic = function (instance, local) {
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
                     pdfDoc.setTextColor(10);
-                    pdfDoc.text(149,67,'Cel.: ');
+                    pdfDoc.text(149,67,'Sexo: ');
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('normal');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(156,67, self.valorNull(doc.mobile));
+                    pdfDoc.text(160,67, self.valorNull(doc.partner_sexo));
 
 
                     pdfDoc.setFontSize(10);
@@ -464,17 +490,17 @@ openerp.clinic_history_medic = function (instance, local) {
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('normal');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(45,72, self.valorNull(doc.antecedente_paciente));
+                    pdfDoc.text(41,72, self.valorNull(antecedente_paciente));
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(75,72,'Alérgico: ');
+                    pdfDoc.text(80,72,'Alérgico: ');
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('normal');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(92,72, self.valorNull(doc.alergico));
+                    pdfDoc.text(97,72, self.valorNull(doc.alergico));
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('normal');
@@ -484,12 +510,12 @@ openerp.clinic_history_medic = function (instance, local) {
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
                     pdfDoc.setTextColor(10);
-                    pdfDoc.text(149,72,'Embarazada: ');
+                    pdfDoc.text(154,72,'Embarazada: ');
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('normal');
                     pdfDoc.setTextColor(40);
-                    pdfDoc.text(172,72, self.valorNull(doc.embarazada));
+                    pdfDoc.text(177,72, self.valorNull(doc.embarazada));
 
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
@@ -501,6 +527,16 @@ openerp.clinic_history_medic = function (instance, local) {
                     pdfDoc.setTextColor(40);
                     pdfDoc.text(49,77, self.valorNull(doc.motivo));
 
+                    pdfDoc.setFontSize(10);
+                    pdfDoc.setFontStyle('bold');
+                    pdfDoc.setTextColor(40);
+                    pdfDoc.text(105,77,'Cel.:');
+
+                    pdfDoc.setFontSize(10);
+                    pdfDoc.setFontStyle('normal');
+                    pdfDoc.setTextColor(40);
+                    pdfDoc.text(109,77, self.valorNull(doc.mobile));
+
                     pdfDoc.setFontSize(10);
                     pdfDoc.setFontStyle('bold');
                     pdfDoc.setTextColor(10);

+ 41 - 4
views/clinic_history_sis.xml

@@ -102,12 +102,19 @@
                         <group>
                             <group>
                                 <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}' attrs="{'readonly': [('state','!=', 'draft')]}" required="1"/>
-                                <field name="antecedente_paciente"/>
+                                <field name="ost"/>
+                                <field name="card"/>
+                                <field name="hta"/>
+                                <field name="epoc"/>
                                 <field name="embarazada"/>
                                 <field name="motivo" placeholder="describe los motivos de consulta..."  />
                             </group>
                             <group>
                                 <field name="nro_socio"/>
+                                <field name="asm"/>
+                                <field name="acv"/>
+                                <field name="conv"/>
+                                <field name="otro"/>
                                 <field name="alergico"/>
                                 <field name="tipo_alergico"/>
                             </group>
@@ -234,13 +241,27 @@
             <field name="model">clinic.history.line</field>
             <field name="arch" type="xml">
                 <tree string="Lista de Pedidos" editable="bottom">
-                    <field name="description" required="1"/>
+                    <field name="product_id" required="1"/>
                     <field name="brand" string="Cantidad" required="1"/>
                     <field name="number" string="Logrado" required="1"/>
                 </tree>
             </field>
         </record>
 
+        <!-- tree view -->
+
+        <record id="tree_clinic_insumos_line_sis" model="ir.ui.view">
+            <field name="name">clinic.insumos.line.tree</field>
+            <field name="model">clinic.insumos.line</field>
+            <field name="arch" type="xml">
+                <tree string="Lista de Insumos Utilizados" editable="bottom">
+                    <field name="product_id" required="1"/>
+                    <field name="quantity" string="Cantidad" required="1"/>
+                    <field name="number" string="Logrado" required="1"/>
+                </tree>
+            </field>
+        </record>
+
         <!-- search view -->
 
         <record id="search_clinic_history_line_sis" model="ir.ui.view">
@@ -248,7 +269,7 @@
             <field name="model">clinic.history.line</field>
             <field name="arch" type="xml">
                 <search string="Línea de servicios realizados">
-                    <field name="description"/>
+                    <field name="product_id"/>
                     <field name="quantity"/>
                     <newline />
                     <group expand="0" string="Agrupado por...">
@@ -264,7 +285,7 @@
                 <form string="Línea de servicios realizados">
                     <sheet>
                         <group>
-                            <field name="description" required="1"/>
+                            <field name="product_id" required="1"/>
                             <field name="brand" required="1"/>
                             <field name="number" required="1"/>
                         </group>
@@ -273,6 +294,22 @@
             </field>
         </record>
 
+        <record id="form_clinic_insumos_line_sis" model="ir.ui.view">
+            <field name="name">clinic.insumos.line.form</field>
+            <field name="model">clinic.insumos.line</field>
+            <field name="arch" type="xml">
+                <form string="Línea de servicios realizados">
+                    <sheet>
+                        <group>
+                            <field name="product_id" required="1"/>
+                            <field name="quantity" required="1"/>
+                            <field name="number" required="1"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
         <record id="action_clinic_history_line_sis" model="ir.actions.act_window">
             <field name="name">Línea de servicios realizados</field>
             <field name="type">ir.actions.act_window</field>