Exemple #1
0
def get_list(request):
    if 'logged' not in request.session:
        return HTTPFound(location='/signin')
    else:
        if request.is_xhr:  # is ajax request
            csrf_token = request.params['csrf_token']
            is_token = (csrf_token == unicode(
                request.session.get_csrf_token()))

            if is_token:

                start_date = request.params['start_date']
                end_date = request.params['end_date']

                code506 = request.params['code506']
                ptstatus = request.params['ptstatus']

                start_date = start_date.split('/')
                end_date = end_date.split('/')

                sy = int(start_date[2]) - 543
                ey = int(end_date[2]) - 543

                start_date = str(sy) + start_date[1] + start_date[0]
                end_date = str(ey) + end_date[1] + end_date[0]

                start = request.params['start']
                stop = request.params['stop']

                limit = int(stop) - int(start)

                epidem = EpidemModel(request)
                person = PersonModel(request)

                if code506 and not ptstatus:
                    rs = epidem.get_list_by_code506(
                        request.session['hospcode'], code506, start_date,
                        end_date, int(start), int(limit))
                elif ptstatus and not code506:
                    rs = epidem.get_list_by_ptstatus(
                        request.session['hospcode'], ptstatus, start_date,
                        end_date, int(start), int(limit))
                elif ptstatus and code506:
                    rs = epidem.get_list_by_code506_ptstatus(
                        request.session['hospcode'], code506, ptstatus,
                        start_date, end_date, int(start), int(limit))
                else:
                    rs = epidem.get_list(request.session['hospcode'],
                                         start_date, end_date, int(start),
                                         int(limit))

                rows = []

                if rs:
                    for r in rs:

                        p = person.get_person_detail(r['pid'], r['hospcode'])

                        if p:

                            village = '0%s' % r['illvillage'] if len(
                                r['illvillage']) < 2 else r['illvillage']
                            catm = '%s%s%s%s' % (r['illchanwat'],
                                                 r['illampur'], r['illtambon'],
                                                 village)

                            obj = {
                                'pid':
                                r['pid'],
                                'cid':
                                p['cid'],
                                'fullname':
                                p['name'] + '  ' + p['lname'],
                                'birth':
                                h.to_thai_date(p['birth']),
                                'age':
                                h.count_age(p['birth']),
                                'sex':
                                p['sex'],
                                'ill_address':
                                '%s %s' %
                                (r['illhouse'],
                                 h.get_address_from_catm(request, catm)),
                                'illdate':
                                h.to_thai_date(r['illdate']),
                                'date_serv':
                                h.to_thai_date(r['date_serv']),
                                'code506':
                                r['code506'],
                                'code506_name':
                                h.get_code506_name(request, r['code506']),
                                'ptstatus':
                                r['ptstatus'],
                                'seq':
                                r['seq'],
                                'diagcode':
                                r['diagcode'],
                                'diagname':
                                h.get_diag_name(request, r['diagcode']),
                                'hospcode':
                                r['hospcode']
                            }
                        else:
                            obj = {
                                'pid': '-',
                                'cid': '-',
                                'fullname': '-',
                                'birth': '-',
                                'age': '-',
                                'sex': '-',
                                'ill_address': '-',
                                'illdate': '-',
                                'code506': '-',
                                'code506_name': '-',
                                'ptstatus': '-'
                            }
                        rows.append(obj)

                    return {'ok': 1, 'rows': rows}
                else:
                    return {'ok': 0, 'msg': u'ไม่พบข้อมูล'}
            else:
                return {'ok': 0, 'msg': 'Token not found.'}

        else:
            return {'ok': 0, 'msg': 'Not ajax request.'}
Exemple #2
0
def get_list(request):
    if 'logged' not in request.session:
        return HTTPFound(location='/signin')
    else:
        if request.is_xhr:  # is ajax request
            csrf_token = request.params['csrf_token']
            is_token = (csrf_token == unicode(request.session.get_csrf_token()))

            if is_token:

                start_date = request.params['start_date']
                end_date = request.params['end_date']

                code506 = request.params['code506']
                ptstatus = request.params['ptstatus']

                start_date = start_date.split('/')
                end_date = end_date.split('/')

                sy = int(start_date[2]) - 543
                ey = int(end_date[2]) - 543

                start_date = str(sy) + start_date[1] + start_date[0]
                end_date = str(ey) + end_date[1] + end_date[0]

                start = request.params['start']
                stop = request.params['stop']

                limit = int(stop) - int(start)

                epidem = EpidemModel(request)
                person = PersonModel(request)

                if code506 and not ptstatus:
                    rs = epidem.get_list_by_code506(request.session['hospcode'], code506, start_date, end_date, int(start), int(limit))
                elif ptstatus and not code506:
                    rs = epidem.get_list_by_ptstatus(request.session['hospcode'], ptstatus, start_date, end_date, int(start), int(limit))
                elif ptstatus and code506:
                    rs = epidem.get_list_by_code506_ptstatus(request.session['hospcode'], code506, ptstatus, start_date, end_date, int(start), int(limit))
                else:
                    rs = epidem.get_list(request.session['hospcode'], start_date, end_date, int(start), int(limit))

                rows = []

                if rs:
                    for r in rs:

                        p = person.get_person_detail(r['pid'], r['hospcode'])

                        if p:

                            village = '0%s' % r['illvillage'] if len(r['illvillage']) < 2 else r['illvillage']
                            catm = '%s%s%s%s' % (r['illchanwat'], r['illampur'], r['illtambon'], village)

                            obj = {
                                'pid': r['pid'],
                                'cid': p['cid'],
                                'fullname': p['name'] + '  ' + p['lname'],
                                'birth': h.to_thai_date(p['birth']),
                                'age': h.count_age(p['birth']),
                                'sex': p['sex'],
                                'ill_address': '%s %s' % (r['illhouse'], h.get_address_from_catm(request, catm)),
                                'illdate': h.to_thai_date(r['illdate']),
                                'date_serv': h.to_thai_date(r['date_serv']),
                                'code506': r['code506'],
                                'code506_name': h.get_code506_name(request, r['code506']),
                                'ptstatus': r['ptstatus'],
                                'seq': r['seq'],
                                'diagcode': r['diagcode'],
                                'diagname': h.get_diag_name(request, r['diagcode']),
                                'hospcode': r['hospcode']
                            }
                        else:
                            obj = {
                                'pid': '-',
                                'cid': '-',
                                'fullname': '-',
                                'birth': '-',
                                'age': '-',
                                'sex': '-',
                                'ill_address': '-',
                                'illdate': '-',
                                'code506': '-',
                                'code506_name': '-',
                                'ptstatus': '-'
                            }
                        rows.append(obj)

                    return {'ok': 1, 'rows': rows}
                else:
                    return {'ok': 0, 'msg': u'ไม่พบข้อมูล'}
            else:
                return {'ok': 0, 'msg': 'Token not found.'}

        else:
            return {'ok': 0, 'msg': 'Not ajax request.'}