[Ils-source] r1625 - trunk/src/com/resolutions/ils/data
scribe at crosswire.org
scribe at crosswire.org
Mon Nov 12 07:29:54 MST 2018
Author: scribe
Date: 2018-11-12 07:29:54 -0700 (Mon, 12 Nov 2018)
New Revision: 1625
Modified:
trunk/src/com/resolutions/ils/data/CourseAttempt.java
Log:
Fixed email warn rules logic
Modified: trunk/src/com/resolutions/ils/data/CourseAttempt.java
===================================================================
--- trunk/src/com/resolutions/ils/data/CourseAttempt.java 2018-11-07 22:57:03 UTC (rev 1624)
+++ trunk/src/com/resolutions/ils/data/CourseAttempt.java 2018-11-12 14:29:54 UTC (rev 1625)
@@ -90,7 +90,7 @@
" AND CA2.CASTATUSID=1" +
" AND CA2.CAEXPIREDON IS NULL" +
" AND CC.COURSPASSEXPDAYS > 0" +
- " AND CA2.CACOMPLETEDATE <= ({CURRENT_TIMESTAMP} - (CC.COURSPASSEXPDAYS - COALESCE(CC.COURSREASBEFDAYS,0)))";
+ " AND DATEDIFF(day, CA2.CACOMPLETEDATE, {CURRENT_TIMESTAMP}) >= (CC.COURSPASSEXPDAYS - COALESCE(CC.COURSREASBEFDAYS,0))";
static String LOOKUPEXPCOURSE = LOOKUPEXP + " AND CA2.COURSID={COURSID}";
@@ -107,7 +107,7 @@
" AND CA2.CASTATUSID=1" +
" AND CA2.CAEXPIREDON IS NOT NULL" +
" AND CC.COURSPASSEXPDAYS > 0" +
- " AND CA2.CACOMPLETEDATE <= ({CURRENT_TIMESTAMP} - (CC.COURSPASSEXPDAYS - {WARNDAYS}))";
+ " AND DATEDIFF(day, CA2.CACOMPLETEDATE, {CURRENT_TIMESTAMP}) >= (CC.COURSPASSEXPDAYS - {WARNDAYS})";
static String LOOKUPPENDINGEXPCOURSE = LOOKUPPENDINGEXP + " AND CA2.COURSID={COURSID}";
@@ -241,6 +241,7 @@
* @return
*/
static public synchronized int warnAllPendingExpired(int companyID, int courseID, ServletContext context, int warningNumber) {
+logger.debug("Begin warnAllPendingExpired(companyID: " + companyID + ", courseID: " + courseID + "; warningNumber: " + warningNumber);
Properties sysConfig = Utils.getSysConfig(context, companyID);
CourseAttempt query = new CourseAttempt();
query.setCompanyID(companyID);
@@ -252,12 +253,16 @@
switch (warningNumber) {
case 1:
try { warnDays = Integer.parseInt(sysConfig.getProperty("EmailBeforeDueDate1", "0")); } catch (Exception e) { e.printStackTrace(); }
+ break;
case 2:
try { warnDays = Integer.parseInt(sysConfig.getProperty("EmailBeforeDueDate2", "0")); } catch (Exception e) { e.printStackTrace(); }
+ break;
case 3:
- try { warnDays = Integer.parseInt(sysConfig.getProperty("EmailPastDueDate1", "0")); } catch (Exception e) { e.printStackTrace(); }
+ try { warnDays = -1 * Integer.parseInt(sysConfig.getProperty("EmailPastDueDate1", "0")); } catch (Exception e) { e.printStackTrace(); }
+ break;
case 4:
- try { warnDays = Integer.parseInt(sysConfig.getProperty("EmailPastDueDate2", "0")); } catch (Exception e) { e.printStackTrace(); }
+ try { warnDays = -1 * Integer.parseInt(sysConfig.getProperty("EmailPastDueDate2", "0")); } catch (Exception e) { e.printStackTrace(); }
+ break;
}
query.setIntValue("WARNDAYS", warnDays);
query.setTSValue("CURRENT_TIMESTAMP", Utils.getNow());
@@ -285,7 +290,7 @@
try {
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("SITEURL", sysConfig.getProperty("SiteURL", "your training site"));
- params.put("WARNDAYS", Integer.toString(warnDays));
+ params.put("WARNDAYS", Integer.toString(Math.abs(warnDays)));
params.putAll(ca.getData());
String subject = Utils.replaceParams(subjectTemplate, params);
String body = Utils.replaceParams(bodyTemplate, params);
@@ -298,6 +303,7 @@
}
SMTPMail.closeMailConnection();
}
+logger.debug("End warnAllPendingExpired(companyID: " + companyID + ", courseID: " + courseID + "; warningNumber: " + warningNumber + ") : " + count);
return count;
}
More information about the Ils-source
mailing list