def do_process_list(self, hospcode, start_date, end_date): reducer = Code(""" function(curr, result) { //result.total++; } """) data = self.request.db['labor'].group(key={ 'hospcode': 1, 'pid': 1, 'gravida': 1, 'bdate': 1 }, condition={ 'hospcode': hospcode, 'bdate': { '$gte': start_date, '$lte': end_date } }, initial={}, reduce=reducer) if data: self.request.db['labor_other'].remove( {'process_hospcode': self.request.session['hospcode']}) person = PersonModel(self.request) for r in data: typearea = person.get_type_area(r['pid'], r['hospcode']) if typearea in ['2', '4']: address = person.get_vid_from_address( r['pid'], r['hospcode']) else: hid = person.get_hid_from_pid(r['pid'], r['hospcode']) address = person.get_vid_from_home(hid, r['hospcode']) obj = { 'hospcode': r['hospcode'], 'process_hospcode': self.request.session['hospcode'], 'pid': r['pid'], 'gravida': r['gravida'], 'bdate': r['bdate'], 'address': address, 'typearea': person.get_type_area(r['pid'], r['hospcode']) } self.request.db['labor_other'].insert(obj) else: return False
def do_process_list(self, hospcode, start_date, end_date): reducer = Code(""" function(curr, result) { //result.total++; } """) data = self.request.db['labor'].group( key={ 'hospcode': 1, 'pid': 1, 'gravida': 1, 'bdate': 1 }, condition={ 'hospcode': hospcode, 'bdate': { '$gte': start_date, '$lte': end_date } }, initial={}, reduce=reducer) if data: self.request.db['labor_other'].remove({'process_hospcode': self.request.session['hospcode']}) person = PersonModel(self.request) for r in data: typearea = person.get_type_area(r['pid'], r['hospcode']) if typearea in ['2', '4']: address = person.get_vid_from_address(r['pid'], r['hospcode']) else: hid = person.get_hid_from_pid(r['pid'], r['hospcode']) address = person.get_vid_from_home(hid, r['hospcode']) obj = { 'hospcode': r['hospcode'], 'process_hospcode': self.request.session['hospcode'], 'pid': r['pid'], 'gravida': r['gravida'], 'bdate': r['bdate'], 'address': address, 'typearea': person.get_type_area(r['pid'], r['hospcode']) } self.request.db['labor_other'].insert(obj) else: return False
def update_pcare(self, hospcode, pid, gravida, pcares): self.request.db['labor'].ensure_index('hospcode', pymongo.ASCENDING) self.request.db['labor'].ensure_index('pid', pymongo.ASCENDING) self.request.db['labor'].ensure_index('gravida', pymongo.ASCENDING) person = PersonModel(self.request) typearea = person.get_type_area(pid, hospcode) self.request.db['labor'].update({ 'hospcode': hospcode, 'pid': pid, 'gravida': gravida }, { '$set': { 'ppcares': pcares, 'typearea': typearea } })