Fixed null values returned from SQL query.

This commit is contained in:
ouellette
2023-10-13 13:06:33 -07:00
parent cc4cb9f304
commit 00042711dd
6 changed files with 48 additions and 12 deletions

View File

@ -574,13 +574,49 @@ public class ScrapeDatabaseRepository : IScrapeDatabaseRepository
SqlCommand cmd = _connection.CreateCommand();
string query = "SELECT SUM(WFRS_OUT) AS OUTS, " +
" SUM(CUST_TOT_REJ) AS CUST, " +
" SUM(LSL_TOT_REJ) AS MANU, " +
" SUM(CASE WHEN REACTOR_TYPE <> 'EPP' THEN TW_PROD ELSE 0 END) AS PROD " +
" FROM RDS " +
" WHERE DATE_OUT >= @startDate " +
" AND DATE_OUT < @endDate";
//string query = "SELECT SUM(WFRS_OUT) AS OUTS, " +
// " SUM(CUST_TOT_REJ) AS CUST, " +
// " SUM(LSL_TOT_REJ) AS MANU, " +
// " SUM(CASE WHEN REACTOR_TYPE <> 'EPP' THEN TW_PROD ELSE 0 END) AS PROD " +
// " FROM RDS " +
// " WHERE DATE_OUT >= @startDate " +
// " AND DATE_OUT < @endDate";
string query = "SELECT " +
"CASE " +
"WHEN SUM(WFRS_OUT) IS NULL THEN 0 " +
"WHEN SUM(WFRS_OUT) IS NOT NULL THEN SUM(WFRS_OUT) END " +
"AS OUTS, " +
"CASE " +
"WHEN SUM(CUST_TOT_REJ) IS NULL THEN 0 " +
"WHEN SUM(CUST_TOT_REJ) IS NOT NULL THEN SUM(CUST_TOT_REJ) END " +
"AS CUST, " +
"CASE " +
"WHEN SUM(LSL_TOT_REJ) IS NULL THEN 0 " +
"WHEN SUM(LSL_TOT_REJ) IS NOT NULL THEN SUM(LSL_TOT_REJ) END " +
"AS MANU, " +
"CASE WHEN( " +
"CASE " +
"WHEN SUM(CASE WHEN REACTOR_TYPE <> 'EPP' " +
"THEN TW_PROD ELSE 0 END) IS NULL THEN 0 " +
"WHEN " +
"SUM(CASE WHEN REACTOR_TYPE <> 'EPP' " +
"THEN TW_PROD ELSE 0 END) > 0 THEN SUM(CASE WHEN REACTOR_TYPE<> 'EPP' " +
"THEN TW_PROD ELSE 0 END) END " +
") IS NULL THEN 0 ELSE " +
"(" +
"CASE " +
"WHEN SUM(CASE WHEN REACTOR_TYPE<> 'EPP' " +
"THEN TW_PROD ELSE 0 END) IS NULL THEN 0 " +
"WHEN " +
"SUM(CASE WHEN REACTOR_TYPE <> 'EPP' " +
"THEN TW_PROD ELSE 0 END) > 0 THEN SUM(CASE WHEN REACTOR_TYPE<> 'EPP' " +
"THEN TW_PROD ELSE 0 END) END" +
")" +
"END " +
"AS PROD " +
"FROM RDS " +
"WHERE DATE_OUT >= @startDate " +
"AND DATE_OUT< @endDate";
cmd.CommandText = query;
_ = cmd.Parameters.AddWithValue("@startDate", startDate);