[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