def beratungen_bezugsperson(self, mitarbeiter=None, bzpname=None): join=[('zustaendigkeit', 'zustaendigkeit.fall_id=fall.id'), ('akte', 'bezugsperson.akte_id=akte.id'), ('fall', 'fall.akte_id=akte.id'), ('mitarbeiter', 'zustaendigkeit.mit_id=mitarbeiter.id')] # nur die eigene Stelle where = "akte.stzbg=%s" % self.stelle['id'] # nur die letzte Zuständigkeit deren Endedatum gleich dem ZDA-Datum ist where += """ and fall.zday = zustaendigkeit.ey and fall.zdam = zustaendigkeit.em and fall.zdad = zustaendigkeit.ed""" if bzpname: expr = escape('%' + bzpname + '%') where += " and (bezugsperson.vn like %s or bezugsperson.na like %s)" % \ (expr, expr) if mitarbeiter: where += " and mitarbeiter.id = %s" % mitarbeiter['id'] bezugsperson_list = BezugspersonList( where=where, join=join, ) sort = ('na', 'vn', 'bezugsperson__akte__letzter_fall__bgy', 'bezugsperson__akte__letzter_fall__bgm', 'bezugsperson__akte__letzter_fall__bgd', ) bezugsperson_list.sort(*sort) return bezugsperson_list
def get_aktuelle_bezugspersonen(self, order=None): res = [] for z in self.get_aktuelle_zustaendigkeiten(): for b in z['fall__akte__bezugspersonen']: b['fn'] = z['fall__fn'] # drangepappt für das Template unten, # was Fallnummer braucht res.append(b) if not res: return bezugsperson_list = BezugspersonList(data=res) if order == 'bp_na': bezugsperson_list.sort('na', 'vn') for b in bezugsperson_list: yield b
def beratungen_bezugsperson(self, mitarbeiter=None, bzpname=None): join = [ ("zustaendigkeit", "zustaendigkeit.fall_id=fall.id"), ("akte", "bezugsperson.akte_id=akte.id"), ("fall", "fall.akte_id=akte.id"), ("mitarbeiter", "zustaendigkeit.mit_id=mitarbeiter.id"), ] # nur die eigene Stelle where = "akte.stzbg=%s" % self.stelle["id"] # nur die letzte Zuständigkeit deren Endedatum gleich dem ZDA-Datum ist where += """ and fall.zday = zustaendigkeit.ey and fall.zdam = zustaendigkeit.em and fall.zdad = zustaendigkeit.ed""" if bzpname: expr = escape("%" + bzpname + "%") where += " and (bezugsperson.vn like %s or bezugsperson.na like %s)" % (expr, expr) if mitarbeiter: where += " and mitarbeiter.id = %s" % mitarbeiter["id"] bezugsperson_list = BezugspersonList(where=where, join=join) sort = ("na", "vn", "akte__letzter_fall__bgy", "akte__letzter_fall__bgm", "akte__letzter_fall__bgd") bezugsperson_list.sort(*sort) return bezugsperson_list