@@ -822,7 +822,7 @@ private static KpiValueExecLog computeKpi(ParsedKpi parsedKpi, List<AggregateMea
822822 Object theQuarter = ifNull (temporalValues .get ("QUARTER" ), CARDINALITY_ALL );
823823 Object theYear = ifNull (temporalValues .get ("YEAR" ), CARDINALITY_ALL );
824824 String insertSql = "INSERT INTO SBI_KPI_VALUE (id, kpi_id, kpi_version, logical_key, time_run, computed_value,"
825- + " the_day, the_week, the_month, the_quarter, the_year, state) VALUES (?, ?, ?, ?" + ",?, coalesce(? , 0 ) ,?,?,?,?,?,?)" ;
825+ + " the_day, the_week, the_month, the_quarter, the_year, state) VALUES (?, ?, ?, ?" + ",?, coalesce(? , ? ) ,?,?,?,?,?,?)" ;
826826 String whereCondition = "kpi_id = " + parsedKpi .id + " AND kpi_version = " + parsedKpi .version + " AND logical_key = '"
827827 + logicalKey .toString ().replaceAll ("'" , "''" ) + "'" + " AND the_day = '" + theDay + "' AND the_week = '" + theWeek + "'"
828828 + " AND the_month = '" + theMonth + "' AND the_quarter = '" + theQuarter + "' AND the_year = '" + theYear + "'" ;
@@ -835,10 +835,17 @@ private static KpiValueExecLog computeKpi(ParsedKpi parsedKpi, List<AggregateMea
835835
836836 logger .debug ("PERFORMING INSERT: " + insertSql );
837837
838- session .createSQLQuery (insertSql ).setParameter (0 , ++lastId ).setParameter (1 , parsedKpi .id ).setParameter (2 , parsedKpi .version )
839- .setParameter (3 , logicalKey .toString ().replaceAll ("'" , "''" )).setParameter (4 , timeRun ).setParameter (5 , (nullValue ? "0" : value ))
840- .setParameter (6 , theDay ).setParameter (7 , theWeek ).setParameter (8 , theMonth ).setParameter (9 , theQuarter ).setParameter (10 , theYear )
841- .setParameter (11 , (nullValue ? "1" : "0" )).executeUpdate ();
838+ try {
839+ session .createSQLQuery (insertSql ).setParameter (0 , ++lastId ).setParameter (1 , parsedKpi .id ).setParameter (2 , parsedKpi .version )
840+ .setParameter (3 , logicalKey .toString ().replaceAll ("'" , "''" )).setParameter (4 , timeRun ).setParameter (5 , (nullValue ? "0" : value ))
841+ .setParameter (6 , 0 ).setParameter (7 , theDay ).setParameter (8 , theWeek ).setParameter (9 , theMonth ).setParameter (10 , theQuarter ).setParameter (11 , theYear )
842+ .setParameter (12 , (nullValue ? "1" : "0" )).executeUpdate ();
843+ } catch (Exception ex ) {
844+ session .createSQLQuery (insertSql ).setParameter (0 , ++lastId ).setParameter (1 , parsedKpi .id ).setParameter (2 , parsedKpi .version )
845+ .setParameter (3 , logicalKey .toString ().replaceAll ("'" , "''" )).setParameter (4 , timeRun ).setParameter (5 , (nullValue ? "0" : value ))
846+ .setParameter (6 , '0' ).setParameter (7 , theDay ).setParameter (8 , theWeek ).setParameter (9 , theMonth ).setParameter (10 , theQuarter ).setParameter (11 , theYear )
847+ .setParameter (12 , (nullValue ? "1" : "0" )).executeUpdate ();
848+ }
842849 session .getTransaction ().commit ();
843850 }
844851
0 commit comments