示例#1
0
    def crear(self, form, form_persona, user_crea, sec_id):

        tticket = TTicket()

        persona_dao = TPersonaDao(self.dbsession)

        tticket.tk_nro = form['tk_nro']
        tticket.tk_fechahora = datetime.now()

        per_id = form_persona['per_id']
        if per_id is None or per_id == 0:
            per_id = persona_dao.crear(form_persona, permit_ciruc_null=True)
        else:
            persona_dao.actualizar(per_id, form_persona)

        tticket.tk_perid = per_id
        tticket.tk_observacion = form['tk_obs']
        tticket.tk_usercrea = user_crea
        tticket.tk_costo = form['tk_costo']
        tticket.tk_dia = fechas.parse_cadena(form['tk_dia'])
        tticket.tk_estado = 1
        tticket.tk_servicios = form['tk_servicios']
        tticket.sec_id = sec_id

        self.dbsession.add(tticket)

        self.dbsession.flush()
        return tticket.tk_id
示例#2
0
 def post(self):
     # per_id = self.get_request_matchdict('per_id')
     tpersonadao = TPersonaDao(self.dbsession)
     form = self.get_json_body()
     per_id_gen = tpersonadao.crear(form=form)
     return {
         'status': 200,
         'msg': u'Registrado exitosamente',
         'per_id': per_id_gen
     }
示例#3
0
    def create_withpersonform(self, ev_id, person_form):
        tpersonadao = TPersonaDao(self.dbsession)
        tperson = tpersonadao.buscar_porciruc(
            per_ciruc=person_form['per_ciruc'])
        if tperson is not None:
            per_id = tperson['per_id']
        else:
            per_id = tpersonadao.crear(person_form)

        self.crear(ev_id=ev_id, per_id=per_id)
示例#4
0
 def collection_get(self):
     accion = self.get_request_param('accion')
     if accion == 'buscaperevent':
         ev_id = self.get_request_param('ev_id')
         per_ciruc = self.get_request_param('ciruc')
         personadao = TPersonaDao(self.dbsession)
         person = personadao.buscar_porciruc(per_ciruc=per_ciruc)
         if person is not None:
             personaeventdao = TPersonaEventDao(self.dbsession)
             isregistered = personaeventdao.ya_esta_registrado(ev_id=ev_id, per_id=person['per_id'])
             return {'status': 200, 'registrado': isregistered}
         else:
             return {'status': 404}
示例#5
0
    def collection_get(self):
        accion = self.get_request_param('accion')
        ticket_dao = TTicketDao(self.dbsession)
        if 'form' == accion:
            persona_dao = TPersonaDao(self.dbsession)
            tk_dia = fechas.parse_fecha(datetime.now())
            form = ticket_dao.get_form(tk_dia, self.get_sec_id())
            formcli = persona_dao.getform()
            return {'status': 200, 'form': form, 'formcli': formcli}

        if 'servticktes' == accion:
            itemconfigdao = TItemConfigDao(self.dbsession)
            prods = itemconfigdao.get_prods_for_tickets()
            return {'status': 200, 'items': prods}

        if 'forml' == accion:
            return {'dia': fechas.parse_fecha(datetime.now())}

        if 'listar' == accion:
            res = ticket_dao.listar(dia=self.get_request_param('dia'),
                                    sec_id=self.get_sec_id())
            return {'status': 200, 'res': res}
示例#6
0
 def put(self):
     per_id = self.get_request_matchdict('per_id')
     tpersonadao = TPersonaDao(self.dbsession)
     form = self.get_json_body()
     res = tpersonadao.actualizar(per_id=per_id, form=form)
     return {'status': 200, 'msg': u'Actualizado exitosamente'}
示例#7
0
    def collection_get(self):
        accion = self.get_request_param('accion')
        if 'form' == accion:
            tpersonadao = TPersonaDao(self.dbsession)
            form = tpersonadao.getform()
            return {'status': 200, 'form': form}
        elif 'buscaci' == accion:
            tpersonadao = TPersonaDao(self.dbsession)
            res = tpersonadao.buscar_porciruc(
                per_ciruc=self.get_request_param('ciruc'))
            if res is not None:
                return {'status': 200, 'persona': res}
            else:
                return {'status': 404}
        elif 'buscaemail' == accion:
            tpersonadao = TPersonaDao(self.dbsession)
            res = tpersonadao.buscar_poremail(
                per_ciruc=self.get_request_param('email'))
            if res is not None:
                return {'status': 200, 'persona': res}
            else:
                return {'status': 404}
        elif 'buscatipo' == accion:
            tpersonadao = TPersonaDao(self.dbsession)
            per_tipo = self.get_request_param('per_tipo')
            res = tpersonadao.listar_por_tipo(per_tipo)
            return {'status': 200, 'items': res}
        elif 'filtronomapel' == accion:
            filtro = self.get_request_param('filtro')
            tpersonadao = TPersonaDao(self.dbsession)
            res = tpersonadao.buscar_pornomapelci(filtro)
            return {'status': 200, 'items': res}
        elif 'filtropag' == accion:
            filtro = self.get_request_param('filtro')
            lastpage = self.get_request_param('pag')
            intlastpage = 0
            try:
                intlastpage = int(lastpage)
            except Exception as ex:
                log.error('Error al parsear a int la pagina', ex)

            tpersonadao = TPersonaDao(self.dbsession)
            limit = 10
            offset = intlastpage * limit
            items = tpersonadao.buscar_pornomapelci(filtro,
                                                    solo_cedulas=True,
                                                    limit=limit,
                                                    offsset=offset)
            hasMore = items is not None and len(items) == limit
            return {
                'status': 200,
                'items': items,
                'hasMore': hasMore,
                'nextp': intlastpage + 1
            }
    def registrar(self, form, usercrea):
        # 1 regstro de datos del paciente
        form_paciente = form['paciente']
        tpersonadao = TPersonaDao(self.dbsession)

        # Verificar si el paciente ya esta registrado:
        if tpersonadao.existe_ciruc(per_ciruc=form_paciente['per_ciruc']):
            per_id = form_paciente['per_id']
            tpersonadao.actualizar(per_id=per_id, form=form_paciente)
        else:
            per_id = tpersonadao.crear(form=form_paciente)

        # 2 registro de la cita medica
        datosconsulta = form['datosconsulta']

        #Verificar que se ingrese el motivo de la consulta
        if not cadenas.es_nonulo_novacio(datosconsulta['cosm_motivo']):
            raise ErrorValidacionExc(u"Debe ingresar el motivo de la consulta")

        tconsultamedica = TConsultaMedica()
        tconsultamedica.pac_id = per_id
        tconsultamedica.med_id = 0  # TODO: Se debe registrar tambien el codigo del medico al que se le va asignar la cita medica
        tconsultamedica.cosm_fechacita = datetime.now()
        tconsultamedica.cosm_fechacrea = datetime.now()
        tconsultamedica.cosm_motivo = datosconsulta['cosm_motivo']
        tconsultamedica.cosm_enfermactual = datosconsulta['cosm_enfermactual']
        tconsultamedica.cosm_hallazgoexamfis = datosconsulta[
            'cosm_hallazgoexamfis']
        tconsultamedica.cosm_exmscompl = datosconsulta['cosm_exmscompl']
        tconsultamedica.cosm_tratamiento = datosconsulta['cosm_tratamiento']
        tconsultamedica.cosm_receta = datosconsulta['cosm_receta']
        tconsultamedica.cosm_indicsreceta = datosconsulta['cosm_indicsreceta']
        tconsultamedica.cosm_recomendaciones = datosconsulta[
            'cosm_recomendaciones']

        if type(datosconsulta['cosm_diagnostico']) is dict:
            tconsultamedica.cosm_diagnostico = datosconsulta[
                'cosm_diagnostico']['cie_id']
        else:
            tconsultamedica.cosm_diagnostico = datosconsulta[
                'cosm_diagnostico']

        tconsultamedica.cosm_diagnosticoal = datosconsulta[
            'cosm_diagnosticoal']

        if 'cosm_fechaproxcita' in datosconsulta:
            cosm_fechaproxcita = datosconsulta['cosm_fechaproxcita']
            if cadenas.es_nonulo_novacio(cosm_fechaproxcita):
                cosm_fechaproxcita_parsed = fechas.parse_cadena(
                    cosm_fechaproxcita)
                tconsultamedica.cosm_fechaproxcita = cosm_fechaproxcita_parsed

        tconsultamedica.user_crea = usercrea
        self.dbsession.add(tconsultamedica)
        self.dbsession.flush()
        cosm_id = tconsultamedica.cosm_id

        # 3 Registro de antecendentes:
        # Esto se registra como lista de valores
        antecedentes = form['antecedentes']
        examsfisicos = form['examsfisicos']
        revxsistemas = form['revxsistemas']
        #diagnostico = form['diagnostico']

        self.registra_datosadc_consmedica(cosm_id, antecedentes)
        self.registra_datosadc_consmedica(cosm_id, examsfisicos)
        self.registra_datosadc_consmedica(cosm_id, revxsistemas)
        #self.registra_datosadc_consmedica(cosm_id, diagnostico)

        return u"Registrado exitósamente", cosm_id