def processForm(self, REQUEST, RESPONSE): if self.form.has_key('fallid'): fallid = self.form.get('fallid') else: self.last_error_message = "Keine ID fuer den Fall erhalten" return self.EBKuSError(REQUEST, RESPONSE) fall = Fall(fallid) zustaendigkeiten_list = fall['zustaendigkeiten'] beginndatum = h.FieldsetInputTable( legend='Beginndatum', daten=[[h.DatumItem(label='Fallbeginn', name='bg', tip='Fallbeginn', date=fall.getDate('bg')), ]], ) res = h.FormPage( title='Beginndatum ändern', name='akteform',action="klkarte",method="post", breadcrumbs = (('Hauptmenü', 'menu'), ('Klientenkarte', 'klkarte?akid=%(akte_id)s' % fall), ), hidden=(("fallid", fallid), ("file", 'updfall'), ), rows=(beginndatum, self.get_zustaendigkeiten(zustaendigkeiten_list), h.SpeichernZuruecksetzenAbbrechen(), ), ) return res.display()
def fachstatistik_beschaeftigung_unter_14(self): fs_list = FachstatistikList(where='') count = 0 for fs in fs_list: upd = {} try: fall = Fall(fs['fall_id']) alter = calc_age(fall['akte__gb'], fall.getDate('bg')) if alter < 14: upd['qualij'] = cc('fsqualij', '7') except: pass if upd: count += 1 fs.update(upd) logging.info("Fachstatistik Beschaeftigung Jugendlicher %s mal auf 'entfaellt (unter 14)'" % count)
def processForm(self, REQUEST, RESPONSE): if self.form.has_key('fallid'): fallid = self.form.get('fallid') else: self.last_error_message = "Keine ID fuer den Fall erhalten" return self.EBKuSError(REQUEST, RESPONSE) fall = Fall(fallid) zustaendigkeiten_list = fall['zustaendigkeiten'] zustaendigkeiten_list.sort('bgd', 'bgm', 'bgy') aktuell_zustaendig = fall['zustaendig'] falldaten = h.FieldsetInputTable( legend='Falldaten', daten=[[h.DatumItem(label='Beginndatum', name='bg', tip='Fallbeginn', date=fall.getDate('bg')), h.DatumItem(label='Abschlussdatum', name='zda', tip='Fallabschlussdatum', date=today()), ]], ) res = h.FormPage( title='Abschlussdatum eintragen', name='akteform',action="klkarte",method="post", breadcrumbs = (('Hauptmenü', 'menu'), ('Klientenkarte', 'klkarte?akid=%(akte_id)s' % fall), ), hidden=(("fallid", fallid), ("file", 'zdaeinf'), ("aktuellzustid", aktuell_zustaendig['id']), ("aktuellmitid", aktuell_zustaendig['mit_id__id']), ), rows=(falldaten, self.get_bisherige_zustaendigkeit( aktuell_zustaendig, legend='Bisherige Zuständigkeit wird ausgetragen'), self.get_zustaendigkeiten(zustaendigkeiten_list), h.SpeichernZuruecksetzenAbbrechen(), ), ) return res.display()
def processForm(self, REQUEST, RESPONSE): fallid = self.form.get('fallid') jghiddel = self.form.get('jghiddel') typ = self.form.get('typ') logging.info('JGHNEU %s %s %s' % (fallid, jghiddel, typ)) if jghiddel and typ == 'jgh07' and fallid: logging.info('JGHNEU upgrading %s %s %s' % (fallid, jghiddel, typ)) # neue Statistik auf alte 'upgraden' upgrade_jgh(jghiddel, old2new=False) ## fall = Fall(fallid) ## # diese Fall ist noch unzureichend initialisiert ## jghstat = fall['jgh'] if not fallid: raise EE('Bundesstatistik nur für einen gültigen Fall') fall = Fall(fallid) akte = fall['akte'] fn = fall['fn'] bgd = fall['bgd'] bgm = fall['bgm'] bgy = fall['bgy'] ex_jgh = fall['jgh'] if ex_jgh: raise EE('Bundesstatistik bereits vorhanden') alter_klient = calc_age(akte['gb'],fall.getDate('bg')) geschwisterfaelle = get_codes('gfall') stellenzeichen = get_codes('stzei') bezirke = get_codes('rbz') kreise = get_codes('kr') gemeinde = get_codes('gm') gemeindeteile = get_codes('gmt') traeger = get_codes('traeg') beendigungsgruende = get_codes('bgr') geschlechter = get_codes('gs') altersgruppen = get_codes('ag') lebtbeipersonen = get_codes('fs') staatsangehoerigkeiten = get_codes('hke') erstekontaktaufnahmel = get_codes('zm') berschwerpunkte = get_codes('schw') geschwister = get_codes('gsa') hidden ={'file': 'jgheinf'} jghid = Jugendhilfestatistik().getNewId() hiddenid ={'name': 'jghid', 'value': jghid} hiddenid2 ={'name': 'stz', 'value': self.stelle['id']} mitarb_data = {'mit_id': self.mitarbeiter['id'],'mit_name' : self.mitarbeiter['ben']} res = [] res.append(head_normal_t % 'Neue Bundesstatistik erstellen') res.append(jghstatneu_t % ({'id':fallid})) res.append(jghstatneufn_t %({'fall_fn' : fn} )) res.append(jghstatneugemeinde_t %(Code(cc('gm','000'))['id'])) res.append(jghstatneugemeindeteil_t %(Code(cc('gmt','000'))['id'])) res.append(formhiddenvalues_t % hidden) res.append(formhiddennamevalues_t % hiddenid) res.append(formhiddennamevalues_t % hiddenid2) res.append(jghstatneumit_t % mitarb_data) res.append(jghstatneubeginn_t % ({'bgd': bgd, 'bgm': bgm , 'bgy' : bgy} )) mksel(res, codeliste_t, bezirke) res.append(jghstatneuende_t %(today())) res.append(jghstatneukreis_t) mksel(res, codeliste_t, kreise) if config.BERLINER_VERSION: res.append(jghstatneuwbz_berlin_t) res.append(jghstatneugfall_berlin_t) else: res.append(jghstatneuwbz_t) res.append(jghstatneugfall_t) mksel(res,codeliste_t, geschwisterfaelle, 'name', 'Nein') res.append(jghstatneutraeger_t) mksel(res, codeliste_t, traeger) res.append(jghstatneukontakt_t) mksel(res, codeliste_t, erstekontaktaufnahmel) res.append(jghstatneuendegrund_t) mksel(res, codeliste_t, beendigungsgruende) res.append(jghstatneuanlass_t) res.append(codelisteos_t % Code(cc('ba0', '1')) ) res.append(codelisteos_t % Code(cc('ba1', '1')) ) res.append(codelisteos_t % Code(cc('ba2', '1')) ) res.append(codelisteos_t % Code(cc('ba3', '1')) ) res.append(codelisteos_t % Code(cc('ba4', '1')) ) res.append(codelisteos_t % Code(cc('ba5', '1')) ) res.append(codelisteos_t % Code(cc('ba6', '1')) ) res.append(codelisteos_t % Code(cc('ba7', '1')) ) res.append(codelisteos_t % Code(cc('ba8', '1')) ) res.append(codelisteos_t % Code(cc('ba9', '1')) ) res.append(jgstatneuschwerpunkt_t) mksel(res, codeliste_t, berschwerpunkte) res.append(jghstatneulebtbei_t) mksel(res, codeliste_t, lebtbeipersonen) res.append(jghstatneugeschlecht_t) mksel(res, codeliste_t, geschlechter) res.append(jghstatneualter_t) if(alter_klient < 3): altersgruppe_kat = cc('ag', '1') elif(alter_klient >= 3 and alter_klient < 6): altersgruppe_kat = cc('ag', '2') elif(alter_klient >= 6 and alter_klient < 9): altersgruppe_kat = cc('ag', '3') elif(alter_klient >= 9 and alter_klient < 12): altersgruppe_kat = cc('ag', '4') elif(alter_klient >= 12 and alter_klient < 15): altersgruppe_kat = cc('ag', '5') elif(alter_klient >= 15 and alter_klient < 18): altersgruppe_kat = cc('ag', '6') elif(alter_klient >= 18 and alter_klient < 21): altersgruppe_kat = cc('ag', '7') elif(alter_klient >= 21 and alter_klient < 24): altersgruppe_kat = cc('ag', '8') elif(alter_klient >= 24 and alter_klient < 27): altersgruppe_kat = cc('ag', '9') else: altersgruppe_kat = " " mksel(res, codeliste_t, altersgruppen, 'id', altersgruppe_kat) res.append(jghstatneu_t2a) res.append(jghstatneu_t2b) mksel(res, codeliste_t, staatsangehoerigkeiten) res.append(jghstatneu_t3 % Code(cc('gsu', '1'))) res.append(radio_t % Code(cc('fbe0', '1' )) ) res.append(jghstatneu_t4) res.append(radio_t % Code(cc('fbe0', '2' )) ) res.append(jghstatneu_t5) res.append(radio_t % Code(cc('fbe1', '1')) ) res.append(jghstatneu_t6) res.append(radio_t % Code(cc('fbe1', '2')) ) res.append(jghstatneu_t7) res.append(jghansaetzefamilie_t % Code(cc('fbe2', '1')) ) res.append(jghstatneu_t8) res.append(jghansaetzeumfeld_t % Code(cc('fbe3', '1')) ) res.append(jghstatneu_t9) return string.join(res, '')
def processForm(self, REQUEST, RESPONSE): fallid = self.form.get('fallid') if not fallid: raise EE('Erstellen einer Fachstatistik nur für einen Fall moeglich.') fall = Fall(fallid) akte = fall['akte'] geschlecht = akte['gs'] if not geschlecht: raise EE("Bitte zuerst das Geschlecht in die Klientenkarte eintragen!") # Ich kanns mir nicht anders vorstellen: if akte['aktueller_fall']: assert fall['id'] == akte['aktueller_fall']['id'] == akte['letzter_fall']['id'] # das geht nicht immer weil Gleichheit nicht richtig definiert ist #assert fall == akte['letzter_fall'] == akte['aktueller_fall'] leistungen = fall['leistungen'] jahresl = ebapi.FachstatistikList(where = "fall_fn = '%s'" % fall['fn']) if jahresl: raise EE('Fachstatistik für den Fall schon vorhanden') fs = Fachstatistik() # Alter relativ zum Fallbeginn alter = calc_age(akte['gb'], fall.getDate('bg')) def altersgruppe(): ag = cc('fsag','999') try: ag = bcode('fsag', alter)['id'] except: pass # kein bereich gefunden return ag def altersgruppeeltern(verwcode): ag = cc('fsagel','999') try: for b in akte['bezugspersonen']: if b['verw__code'] == verwcode: if b['gb']: alter = calc_age(b['gb'], fall.getDate('bg')) ag = bcode('fsagel', alter)['id'] except: pass # kein valides Geburtsdatum gefunden return ag if config.STRASSENKATALOG: strasse = get_strasse(akte) else: strasse = {} fs.init( id=Fachstatistik().getNewId(), mit_id=fall['zustaendig__mit_id'], fall_id=fall['id'], fall_fn=fall['fn'], jahr=str(today().year), stz=akte['stzbg'], plraum=akte['plraum'], ort=akte['ort'], plz=akte['plz'], ortsteil=strasse.get('ortsteil', ''), bezirk=strasse.get('bezirk', ''), samtgemeinde=strasse.get('samtgemeinde', ''), gs=akte['gs'], ag=altersgruppe(), agkm=altersgruppeeltern('1'), # code klerv für Mutter agkv=altersgruppeeltern('2'), # code klerv für Vater fs=akte['fs'], anmprobleme=None, kindprobleme=None, elternprobleme=None, ) fs['eleistungen'] = ' '.join([str(leist['le']) for leist in leistungen]) single_kat_felder = ('zm', 'qualij', 'hkm', 'hkv', 'bkm', 'bkv', 'qualikm', 'qualikv', 'ba1', 'ba2', 'pbe', 'pbk', ) for f in single_kat_felder: fs[f] = ' ' # leere, selektierte Option, es muss aktiv ausgewählt werden # falls unter 14 Beschäftigung vorbelegen try: if alter < 14: fs['qualij'] = cc('fsqualij', '7') except: pass anm = fall['anmeldung'] if anm: fs['zm'] = anm[0]['zm'] joker_felder = ('joka1', 'joka2', 'joka3', 'joka4', 'jokf5', 'jokf6', 'jokf7', 'jokf8',) for f in joker_felder: if fs_customize.multifeld(f): fs[f] = None else: fs[f] = ' ' # leere, selektierte Option, es muss aktiv ausgewählt werden termin_felder = ('kkm', 'kkv', 'kki', 'kpa', 'kfa', 'ksoz', 'kleh', 'kerz', 'kkonf', 'kson', 'kat',) if config.BERATUNGSKONTAKTE and not config.BERATUNGSKONTAKTE_BS: from ebkus.html.beratungskontakt import get_fs_kontakte get_fs_kontakte(fall, fs) else: for f in termin_felder: fs[f] = 0 #print '***********FSNEU', fs return self._process(title='Neue Fachstatistik erstellen', file='fseinf', fs=fs, )