[Mpuls-commits] r240 - in waska/trunk: . waskaweb/controllers waskaweb/lib waskaweb/templates waskaweb/templates/casemanagement/evaluation
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Feb 5 14:27:53 CET 2009
Author: torsten
Date: 2009-02-05 14:27:53 +0100 (Thu, 05 Feb 2009)
New Revision: 240
Modified:
waska/trunk/ChangeLog.txt
waska/trunk/waskaweb/controllers/evaluate.py
waska/trunk/waskaweb/lib/adelexml.py
waska/trunk/waskaweb/lib/evaluation.py
waska/trunk/waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako
waska/trunk/waskaweb/templates/main.mako
Log:
Completed adele evaluation
Modified: waska/trunk/ChangeLog.txt
===================================================================
--- waska/trunk/ChangeLog.txt 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/ChangeLog.txt 2009-02-05 13:27:53 UTC (rev 240)
@@ -18,6 +18,15 @@
* waskaweb/controllers/administration.py: Changed ordering of first
and lastname
+ Completed adele evaluation
+
+ * waskaweb/controllers/evaluate.py: Fixed timeframe
+ * waskaweb/lib/adelexml.py: Added descritpions and headers
+ * waskaweb/lib/evaluation.py: Fixed generation of where clauses
+ * waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako,
+ waskaweb/templates/main.mako: Renamed "quartalsbericht" to
+ Zwischenbericht.
+
2009-02-04 Torsten Irlaender <torsten.irlaender at intevation.de>
Added new evalution adele stammblatt.
Modified: waska/trunk/waskaweb/controllers/evaluate.py
===================================================================
--- waska/trunk/waskaweb/controllers/evaluate.py 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/waskaweb/controllers/evaluate.py 2009-02-05 13:27:53 UTC (rev 240)
@@ -137,7 +137,7 @@
def evaluateAdele(self):
params = {}
params['start_date'] = '2008-09-01'
- params['end_date'] = '2008-12-01'
+ params['end_date'] = '2008-12-31'
params['agencyid'] = 'inte0002'
evaluation = AdeleXML(params)
c.eval = evaluation.perform()
Modified: waska/trunk/waskaweb/lib/adelexml.py
===================================================================
--- waska/trunk/waskaweb/lib/adelexml.py 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/waskaweb/lib/adelexml.py 2009-02-05 13:27:53 UTC (rev 240)
@@ -20,7 +20,7 @@
SQL_TABLE = "master_tbl_view"
SQL_GENDER_FIELD = 'geschlecht'
-SQL_FKZ = """(fkz = '%s')"""
+SQL_FKZ = """(TRUE)"""
SQL_CM = """(kompetenzfeststellung = '1' or (kompetenzfeststellung = '-1' and
phase in (2,3,4,5)))"""
@@ -48,7 +48,7 @@
SQL_BEHINDERUNG = """(anerkannte_behinderung = 1)"""
SQL_SONST_BEEINTRAECHTIGUNG = """(physische_beeintraechtigungen = 1 or psychische_beeintraechtigungen = 1)"""
SQL_OHNEABSCHLUSS = """(schulabschluss_1 = 1)"""
-SQL_ISCED1_2 = """(schulabschluss_1 in (3,4,5,9))"""
+SQL_ISCED1_2 = """(schulabschluss_1 in (3,4,5,9,10))"""
SQL_ISCED3 = """(schulabschluss_1 in (6))"""
SQL_ISCED4 = """(schulabschluss_1 in (8))"""
SQL_AUSBLIDBUNG = """(bei_eintritt_ist_der_jugendliche = 1)"""
@@ -76,61 +76,61 @@
'24': SQL_ISCED3,
'25': SQL_ISCED4,
'27': SQL_AUSBLIDBUNG,
- '28': SQL_CMKUNDEN
+ '0': SQL_CMKUNDEN
}
-DEFAULT_EVALUATIONS = ['1','2','3','4','7','8','9','10','12','13','14','15','16','17','19','20','21','22','23','24','25','27','28']
+DEFAULT_EVALUATIONS = ['1','2','3','4','7','8','9','10','12','13','14','15','16','17','19','20','21','22','23','24','25','27','0']
-EVAL_NAMES = {'1': 'Eintritte gesamt',
- '2': 'Austritte gesamt',
- '3': 'Vorzeitig ausgetreten',
- '4': 'Abbrecher/innen',
- '7': SQL_ALTER_15_24,
- '8': SQL_ALTER,
- '9': SQL_ALTER_55_64,
- '10': SQL_ERWERBSTAETIG,
- '11': SQL_SELBSTSTAENDIG,
- '12': SQL_ARBEITSLOSIGKEIT,
- '13': SQL_ARBEITSLOSIGKEIT_LANG,
- '14': SQL_ARBEITSLOSIGKEIT_SGBII,
- '15': SQL_ARBEITSLOSIGKEIT_SGBIII,
- '16': SQL_NICHTERWERBSTAETIG,
- '17': SQL_NICHTERWERBSTAETIG_SCHULE,
- '19': SQL_MIGRATIONSHINTERGRUND,
- '20': SQL_BEHINDERUNG,
- '21': SQL_SONST_BEEINTRAECHTIGUNG,
- '22': SQL_OHNEABSCHLUSS,
- '23': SQL_ISCED1_2,
- '24': SQL_ISCED3,
- '25': SQL_ISCED4,
- '27': SQL_AUSBLIDBUNG,
- '28': SQL_CMKUNDEN
+EVAL_NAMES = {'1': u'Eintritte gesamt',
+ '2': u'Austritte gesamt',
+ '3': u'Vorzeitig ausgetreten',
+ '4': u'Abbrecher/innen',
+ '7': u'Jüngere Alterklassen (15-24)',
+ '8': u'Andere Altersklassen (<15, 25-54, >64)',
+ '9': u'Ältere Alterklassen (55-64)',
+ '10': u'Erwerbstätige',
+ '11': u'Selbstständige',
+ '12': u'Gemeldete Arbeitslose',
+ '13': u'Langzeitarbeitslose',
+ '14': u'Arbeitslose SGBII-Bezug',
+ '15': u'Arbeitslose SGBIII-Bezug',
+ '16': u'Nicht-Erwerbspersonen',
+ '17': u'Nicht-Erwerbspersonen in Ausbildung',
+ '19': u'Menschen mit Migrationshintergrund',
+ '20': u'Menschen mit Behinderung',
+ '21': u'Menschen mit sonstiger Benachteiligung',
+ '22': u'Ohne Schulabschluss',
+ '23': u'ISCED 1, ISCED 2 (Nur Hauptschule/Realschule/BGJ/BVJ)',
+ '24': u'ISCED 3 (Hochschulzugangsberechtigt 1. Bildungsweg)',
+ '25': u'ISCED 4 (Hochschulzugangsberechtigt 2. Bildungsweg)',
+ '27': u'Auszubildender/Auszubildende im Betrieb',
+ '0': u'Gesamt CM-Kunden'
}
-EVAL_DESCRIPTIONS = {'1': 'Anzahl der Jugendlichen die im Bereichszeitraum neu in das CM aufgenommen wurden.',
- '2': 'Gesamtanzahl der Jugendlichen, die im Bereichszeitraum das CM beendet haben.',
- '3': 'Anzahl der Jugendlichen, die im Bereichszeitraum das CM mit der Art "vorzeitige Beendigung" beendet haben',
- '4': SQL_AUSTRITTE_ABBRUCH,
- '7': SQL_ALTER_15_24,
- '8': SQL_ALTER,
- '9': SQL_ALTER_55_64,
- '10': SQL_ERWERBSTAETIG,
- '11': SQL_SELBSTSTAENDIG,
- '12': SQL_ARBEITSLOSIGKEIT,
- '13': SQL_ARBEITSLOSIGKEIT_LANG,
- '14': SQL_ARBEITSLOSIGKEIT_SGBII,
- '15': SQL_ARBEITSLOSIGKEIT_SGBIII,
- '16': SQL_NICHTERWERBSTAETIG,
- '17': SQL_NICHTERWERBSTAETIG_SCHULE,
- '19': SQL_MIGRATIONSHINTERGRUND,
- '20': SQL_BEHINDERUNG,
- '21': SQL_SONST_BEEINTRAECHTIGUNG,
- '22': SQL_OHNEABSCHLUSS,
- '23': SQL_ISCED1_2,
- '24': SQL_ISCED3,
- '25': SQL_ISCED4,
- '27': SQL_AUSBLIDBUNG,
- '28': SQL_CMKUNDEN
+EVAL_DESCRIPTIONS = {'1': u'Anzahl der Teilnehmer/innen die im Bereichszeitraum neu in das CM aufgenommen wurden (Datum der Entscheidung zur Übernahme in das CM liegt innerhalb des Auswertungszeitraums).',
+ '2': u'Gesamtanzahl der Teilnehmer/innen, die im Bereichszeitraum das CM beendet haben.',
+ '3': u'Anzahl der Teilnehmer/innen, die im Bereichszeitraum das CM mit der Art "vorzeitige Beendigung" beendet haben.',
+ '4': u'Anzahl der Teilnehmer/innen, die im Bereichszeitraum das CM mit der Art "Abbruch" beendet haben.',
+ '7': u'Anzahl der Teilnehmer/innen in der Altersklasse 15-24 Jahre.',
+ '8': u'Anazhl der Teilnehmer/innen in den Altersklassen <15, 25-54, >64 Jahre.',
+ '9': u'Anzahl der Teilnehmer/innen in der Altersklasse 55-64 Jahre.',
+ '10': u'Anzahl der Teilnehmer/innen, die erwerbstätig sind (Biographische Daten).',
+ '11': u'Anzahl der Teilnehmer/innen, die selbständige sind (Biographische Daten).',
+ '12': u'Anazhl der Teilnehmer/innen, die als arbeitslos gemeldet sind (Biographische Daten).',
+ '13': u'Anzahl der Teilnehmer/innen, die länger als 12 Monate arbeitslos gemeldet sind.',
+ '14': u'Anzahl der Teilnehmer/innen, die Unterstützunsleistungen nach SGBII beziehen.',
+ '15': u'Anzahl der Teilnehmer/innen, die Unterstützunsleistungen nach SGBIII beziehen.',
+ '16': u'Anzahl der Teilnehmer/innen, die weder erwerbstätig noch arbeitslos gemeldet sind.',
+ '17': u'Anzahl der nicht erwerbstätigen Teilnehmer/innen, die sich bei Eintritt in einer Ausbildung befanden (Zuständigkeiten, Eingansdaten).',
+ '19': u'Anzahl der Teilnehmer/innen mit Migrationshintergrund.',
+ '20': u'Anzahl der Teilnehmer/innen mit annerkannter Behinderung.',
+ '21': u'Anzahl der Teilnehmer/innen mit sonstiger Beeinträchtigung (physische oder psychische).',
+ '22': u'Anzahl der Teilnehmer/innen ohne Schulabschluss.',
+ '23': u'Anzahl der Teilnehmer/innen, die einen Schulabschluss nach dem internationalen ISCED 1 oder ISCED 2 Standard haben.',
+ '24': u'Anzahl der Teilnehmer/innen, die einen Schulabschluss nach dem internationalen ISCED 3 Standard haben.',
+ '25': u'Anzahl der Teilnehmer/innen, die einen Schulabschluss nach dem internationalen ISCED 4 Standard haben.',
+ '27': u'Anzahl der Teilnehmer/innen, die sich beim Zugang in der Ausbildung befunden haben (Zuständigkeiten, Eingansdaten).',
+ '0': u'Anzahl der Teilnehmer/innen, die sich während des Auswertungszeitraums im CM befunden haben.'
}
class AdeleXML(Evaluation):
@@ -152,17 +152,18 @@
def _build_sql(self, where):
out = []
try:
- out.append(self.sql_fkz % self.agency)
+ #out.append(self.sql_fkz % self.agency)
out.append(self.sql_cm)
out.append(self.sql_time_frame % (self.end_date, self.start_date))
except StandardError, err:
- pass
+ print err
try:
out.append(where % (self.start_date, self.end_date))
except StandardError, err:
out.append(where)
pass # Maybe the where clause does not have any time restrictions
where = " and ".join(out)
+ print where
sql = Evaluation._build_sql(self, where)
return sql
Modified: waska/trunk/waskaweb/lib/evaluation.py
===================================================================
--- waska/trunk/waskaweb/lib/evaluation.py 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/waskaweb/lib/evaluation.py 2009-02-05 13:27:53 UTC (rev 240)
@@ -52,7 +52,7 @@
try:
conn = db.getConnection()
c1 = conn.cursor()
-
+
# All cases (including invalid)
c1.execute("""SELECT count(id) from master_tbl_eval_total_view m""")
self.allcases = c1.fetchone()[0]
@@ -117,19 +117,22 @@
interval_end_date = options.get('interval_end_date', d.strftime('%Y-%m-%d'))
fields = {'start_field': interval_start_field, 'start_date': interval_start_date, 'end_field': interval_end_field, 'end_date': interval_end_date}
if interval_start_date != '1970-01-01':
- time_interval = "(coalesce(%(start_field)s, '1970-01-01'::date) <= '%(end_date)s'::date AND \
- coalesce(%(start_field)s, '1970-01-01'::date) <= coalesce(%(end_field)s, st.zugriff) AND \
- ((m.id in (SELECT id from master_tbl_incm_view) AND \
- (coalesce(%(end_field)s, now()) >= '%(start_date)s'::date)) OR \
- (st.zugriff >= '%(start_date)s'::date)))" % fields
+ time_interval = "(coalesce(%(start_field)s, '1970-01-01'::date) <= '%(end_date)s'::date \
+ AND (coalesce(%(end_field)s, now()) >= '%(start_date)s'::date))" % fields
+ #time_interval = "(coalesce(%(start_field)s, '1970-01-01'::date) <= '%(end_date)s'::date AND \
+ #coalesce(%(start_field)s, '1970-01-01'::date) <= coalesce(%(end_field)s, st.zugriff) AND \
+ #((m.id in (SELECT id from master_tbl_incm_view) AND \
+ #(coalesce(%(end_field)s, now()) >= '%(start_date)s'::date)) OR \
+ #(st.zugriff >= '%(start_date)s'::date)))" % fields
+
# Indicator for inconsistent cases (only for evaluation server)
if c.isEvaluationServer and time_interval != 'TRUE':
valid_data = "freie_dokumentation_abschlussbewertung IS NULL"
else:
valid_data = "TRUE"
- where = "AND ".join([fkz, '%s ' % gender, '%s ' % phases, '%s ' % time_interval, '%s ' % valid_data])
+ where = " AND ".join([fkz, '%s ' % gender, '%s ' % phases, '%s ' % time_interval, '%s ' % valid_data])
return where
def perform(self):
Modified: waska/trunk/waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako
===================================================================
--- waska/trunk/waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako 2009-02-05 13:27:53 UTC (rev 240)
@@ -4,9 +4,9 @@
<%def name="buildNavipath()">
${parent.buildNavipath()}
<li><a href="/case">${_('cm_np_root')}</a></li>
- <li><a href="/evaluate/evaluateAdele">Quartalsauswertung</a></li>
+ <li><a href="/evaluate/evaluateAdele">Zwischenbericht</a></li>
</%def>
-<h1>Quartalsauswertung vom 01.09.2008 bis zum 31.12.2008</h1>
+<h1>Auswertung Zwischenbericht vom 01.09.2008 bis zum 31.12.2008</h1>
##% for k, r in c.eval['evaluations'].iteritems():
% for key in sorted([int(s) for s in c.eval['evaluations'].keys()]):
<% r = c.eval['evaluations'][str(key)] %>
@@ -21,12 +21,12 @@
<tr>
<td>männlich</td>
<td class="num">${r['result'][0]}</td>
- <td class="num">${float(r['result'][0]) and float(r['result'][2])/float(r['result'][1])*100}%</td>
+ <td class="num">${h.formatNumber(float(r['result'][0]) /float(r['result'][2] or 1)*100)}%</td>
</tr>
<tr>
<td>weiblich</td>
<td class="num">${r['result'][1]}</td>
- <td class="num">${float(r['result'][1]) and float(r['result'][2])/float(r['result'][1])*100}%</td>
+ <td class="num">${h.formatNumber(float(r['result'][1]) /float(r['result'][2] or 1)*100)}%</td>
</tr>
<tr>
<td>gesamt</td>
@@ -34,4 +34,5 @@
<td class="num">100%</td>
<tr>
</table>
+<hr>
% endfor
Modified: waska/trunk/waskaweb/templates/main.mako
===================================================================
--- waska/trunk/waskaweb/templates/main.mako 2009-02-05 13:11:42 UTC (rev 239)
+++ waska/trunk/waskaweb/templates/main.mako 2009-02-05 13:27:53 UTC (rev 240)
@@ -70,7 +70,7 @@
<li><a href="${h.url_for(controller='/case', action='new')}"> ${_('menu_cm_link_new')}</a> </li>
<li><a href="${h.url_for(controller='/case', action='importCase')}"> ${_('menu_cm_link_import')}</a> </li>
% endif
- <li><a href="${h.url_for(controller='/evaluate', action='evaluateAdele')}">Quartalsauswertung</a></li>
+ <li><a href="${h.url_for(controller='/evaluate', action='evaluateAdele')}">Zwischenbericht</a></li>
<li><a href="${h.url_for(controller='/evaluate', action='evaluate', id=1, reset=1)}"> ${_('cm_actions_link_evaluate')}</a></li>
%if session.get('hascaseerrors'):
<li><a href="${h.url_for(controller='/case_overview', action='listBadCases')}">Inkonsistente Fallakten</a></li>
More information about the Mpuls-commits
mailing list