[Ils-source] r1624 - in trunk: src/com/resolutions/ils/data src/com/resolutions/jobs webapp/WEB-INF/lib
scribe at crosswire.org
scribe at crosswire.org
Wed Nov 7 15:57:04 MST 2018
Author: scribe
Date: 2018-11-07 15:57:03 -0700 (Wed, 07 Nov 2018)
New Revision: 1624
Modified:
trunk/src/com/resolutions/ils/data/CourseAttempt.java
trunk/src/com/resolutions/ils/data/UserProfile.java
trunk/src/com/resolutions/jobs/MgrComplianceEMails.java
trunk/webapp/WEB-INF/lib/crosswire.jar
Log:
update to include new Utils.getNow() method, used for staging time sensitive events
Modified: trunk/src/com/resolutions/ils/data/CourseAttempt.java
===================================================================
--- trunk/src/com/resolutions/ils/data/CourseAttempt.java 2018-11-07 00:01:51 UTC (rev 1623)
+++ trunk/src/com/resolutions/ils/data/CourseAttempt.java 2018-11-07 22:57:03 UTC (rev 1624)
@@ -90,11 +90,11 @@
" 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 CA2.CACOMPLETEDATE <= ({CURRENT_TIMESTAMP} - (CC.COURSPASSEXPDAYS - COALESCE(CC.COURSREASBEFDAYS,0)))";
static String LOOKUPEXPCOURSE = LOOKUPEXP + " AND CA2.COURSID={COURSID}";
- static String REVOKE = "UPDATE COURSEATTEMPT SET CAEXPIREDON=current_timestamp, CAEXPREASON='Recurrent Training Assigned'";
+ static String REVOKE = "UPDATE COURSEATTEMPT SET CAEXPIREDON={CURRENT_TIMESTAMP}, CAEXPREASON='Recurrent Training Assigned'";
static String REVOKEEXPCOURSE = REVOKE + " WHERE COURSATTID IN (" + LOOKUPEXPCOURSE + ")";
static String REVOKEEXP = REVOKE + " WHERE COURSATTID IN (" + LOOKUPEXP + ")";
@@ -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 CA2.CACOMPLETEDATE <= ({CURRENT_TIMESTAMP} - (CC.COURSPASSEXPDAYS - {WARNDAYS}))";
static String LOOKUPPENDINGEXPCOURSE = LOOKUPPENDINGEXP + " AND CA2.COURSID={COURSID}";
@@ -163,6 +163,7 @@
Properties sysConfig = Utils.getSysConfig(context, companyID);
CourseAttempt query = new CourseAttempt();
query.setCompanyID(companyID);
+ query.setTSValue("CURRENT_TIMESTAMP", Utils.getNow());
List<CourseAttempt> results = null;
int count = 0;
Course course = null;
@@ -243,7 +244,7 @@
Properties sysConfig = Utils.getSysConfig(context, companyID);
CourseAttempt query = new CourseAttempt();
query.setCompanyID(companyID);
- String WARN = "UPDATE COURSEATTEMPT SET CAWARNEDON"+warningNumber+"=current_timestamp";
+ String WARN = "UPDATE COURSEATTEMPT SET CAWARNEDON"+warningNumber+"={CURRENT_TIMESTAMP}";
List<CourseAttempt> results = null;
int count = 0;
@@ -259,6 +260,7 @@
try { warnDays = Integer.parseInt(sysConfig.getProperty("EmailPastDueDate2", "0")); } catch (Exception e) { e.printStackTrace(); }
}
query.setIntValue("WARNDAYS", warnDays);
+ query.setTSValue("CURRENT_TIMESTAMP", Utils.getNow());
if (courseID > 0) {
query.setCourseAttemptCourseID(courseID);
@@ -717,7 +719,7 @@
}
public void setCourseAttemptExpired(String reason) {
- setTSValue("CAEXPIREDON", new Date());
+ setTSValue("CAEXPIREDON", Utils.getNow());
setValue("CAEXPREASON", reason);
}
@@ -734,7 +736,7 @@
}
public void setCourseAttemptForcePass(String reason) {
- Date now = new Date();
+ Date now = Utils.getNow();
setTSValue("CAFORCEPASSON", now);
if (getCourseAttemptCompleteDate() == null) {
setCourseAttemptCompleteDate(now);
@@ -766,7 +768,7 @@
public void defaultAll() {
setCourseAttemptScore(-1);
- setCourseAttemptStartDate(new Date());
+ setCourseAttemptStartDate(Utils.getNow());
setCourseAttemptStatusID(STATUS_IN_PROGRESS);
}
Modified: trunk/src/com/resolutions/ils/data/UserProfile.java
===================================================================
--- trunk/src/com/resolutions/ils/data/UserProfile.java 2018-11-07 00:01:51 UTC (rev 1623)
+++ trunk/src/com/resolutions/ils/data/UserProfile.java 2018-11-07 22:57:03 UTC (rev 1624)
@@ -28,7 +28,8 @@
import com.resolutions.ils.ILSSession;
import com.resolutions.ils.ILSDataObject;
-import com.resolutions.ils.Utils;
+import org.crosswire.utils.Utils;
+import org.crosswire.utils.SMTPMail;
import java.util.HashMap;
import java.io.StringWriter;
import org.owasp.html.HtmlPolicyBuilder;
@@ -89,14 +90,14 @@
+ " UP.USERPRLNAME, UP.USERPRFNAME, UP.USERPRNUM, "
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=UP.USERPRID AND GROUPTYPEID=2) WORKGROUP,"
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=UP.USERPRID AND GROUPTYPEID=1) ROLE, "
- + " C.COURSNAME, CA.CACOMPLETEDATE, CASE C.COURSPASSEXPDAYS WHEN 0 THEN CA.CAEXPIREDON ELSE COALESCE(CA.CAEXPIREDON, CA.CACOMPLETEDATE+C.COURSPASSEXPDAYS) END AS CAEXPIREDON, DATEDIFF(day, CA.CAEXPIREDON, CURRENT_TIMESTAMP) as DAYSEXPIRED, CASE C.COURSPASSEXPDAYS WHEN 0 THEN NULL ELSE C.COURSPASSEXPDAYS - DATEDIFF(day, CA.CACOMPLETEDATE, CURRENT_TIMESTAMP) END as DAYSSHOULDEXPIRE "
+ + " C.COURSNAME, CA.CACOMPLETEDATE, CASE C.COURSPASSEXPDAYS WHEN 0 THEN CA.CAEXPIREDON ELSE COALESCE(CA.CAEXPIREDON, CA.CACOMPLETEDATE+C.COURSPASSEXPDAYS) END AS CAEXPIREDON, DATEDIFF(day, CA.CAEXPIREDON, {CURRENT_TIMESTAMP}) as DAYSEXPIRED, CASE C.COURSPASSEXPDAYS WHEN 0 THEN NULL ELSE C.COURSPASSEXPDAYS - DATEDIFF(day, CA.CACOMPLETEDATE, {CURRENT_TIMESTAMP}) END as DAYSSHOULDEXPIRE "
+ " FROM USERCOURSEASSIGNMENTSWITHGROUPS CASS "
+ " LEFT JOIN COURSE C ON C.COURSID = CASS.COURSID "
+ " LEFT JOIN COURSE CURDET ON CURDET.COURSID = CASS.FROMCURRICULUM "
+ " LEFT JOIN COURSEATTEMPT CA ON CA.USERPRID=CASS.USERPRID AND CA.COURSID=CASS.COURSID "
+ " INNER JOIN (SELECT USERPRID, COURSID, MAX(CACOMPLETEDATE) as max_date FROM COURSEATTEMPT GROUP BY USERPRID, COURSID)a on a.USERPRID = CA.USERPRID AND a.COURSID=CA.COURSID and a.max_date = CA.CACOMPLETEDATE "
+ " LEFT JOIN USERPROFILE UP ON UP.COMPANYID=CASS.COMPANYID AND UP.USERPRID = CASS.USERPRID "
- + " WHERE CASS.COMPANYID={COMPANYID} AND (DATEDIFF(day, CA.CAEXPIREDON, CURRENT_TIMESTAMP) >= 0 OR CASE C.COURSPASSEXPDAYS WHEN 0 THEN NULL ELSE C.COURSPASSEXPDAYS - DATEDIFF(day, CA.CACOMPLETEDATE, CURRENT_TIMESTAMP) END <={DAYSTILEXP}) AND UP.USERPRSTATUSID=" + STATUS_ACTIVE
+ + " WHERE CASS.COMPANYID={COMPANYID} AND (DATEDIFF(day, CA.CAEXPIREDON, {CURRENT_TIMESTAMP}) >= 0 OR CASE C.COURSPASSEXPDAYS WHEN 0 THEN NULL ELSE C.COURSPASSEXPDAYS - DATEDIFF(day, CA.CACOMPLETEDATE, {CURRENT_TIMESTAMP}) END <={DAYSTILEXP}) AND UP.USERPRSTATUSID=" + STATUS_ACTIVE
+ " AND (CURDET.COURSISCURRICCERT IS NULL OR CURDET.COURSISCURRICCERT = 'F')"
+ "";
static String RECURRENT_TRAINING_REPORT_LIMIT_TO_MANAGER = " AND CASS.USERPRID IN (SELECT DISTINCT UG.USERPRID FROM MANAGERGROUP MG LEFT JOIN USERGROUP UG ON UG.COMPANYID = MG.COMPANYID AND UG.ILSGROUPID=MG.ILSGROUPID WHERE MG.COMPANYID={COMPANYID} AND MG.USERPRID={USERPRID}) AND (GROUPTYPEID <> 2 OR ILSGROUPID IN (SELECT ILSGROUPID FROM MANAGERGROUP WHERE COMPANYID={COMPANYID} AND USERPRID={USERPRID}))";
@@ -152,14 +153,14 @@
static public int deleteExpiredUserProfiles(ILSSession session, int olderThanDays) {
Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
+ cal.setTime(Utils.getNow());
cal.add(Calendar.DAY_OF_YEAR, olderThanDays*-1);
return deleteExpiredUserProfiles(session, cal.getTime());
}
static public int getCountOfExpiredUserProfiles(ILSSession session, int olderThanDays) {
Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
+ cal.setTime(Utils.getNow());
cal.add(Calendar.DAY_OF_YEAR, olderThanDays*-1);
return getCountOfExpiredUserProfiles(session, cal.getTime());
}
@@ -221,7 +222,7 @@
subject = Utils.replaceParams(subject, params);
body = Utils.replaceParams(body, params);
body += Utils.getSysConfig(email).getProperty("SendMailSig", "");
- Utils.sendEmail(email, Utils.getSysConfig(email).getProperty("SendMailFrom"), getUserProfileEMail(), subject, body, false);
+ SMTPMail.sendEmail(email, Utils.getSysConfig(email).getProperty("SendMailFrom"), getUserProfileEMail(), subject, body, false);
}
catch (Exception e) {
e.printStackTrace();
@@ -272,7 +273,7 @@
subject = Utils.replaceParams(subject, params);
body = Utils.replaceParams(body, params);
body += sysConfig.getProperty("SendMailSig", "");
- Utils.sendEmail(email, sysConfig.getProperty("SendMailFrom"), retVal.getUserProfileEMail(), subject, body, false);
+ SMTPMail.sendEmail(email, sysConfig.getProperty("SendMailFrom"), retVal.getUserProfileEMail(), subject, body, false);
}
}
catch (Exception e) {
@@ -579,6 +580,7 @@
UserProfile retVal = new UserProfile();
String sql = RECURRENT_TRAINING_REPORT;
retVal.setCompanyID(companyID);
+ retVal.setTSValue("CURRENT_TIMESTAMP", Utils.getNow());
retVal.setIntValue("DAYSTILEXP", daysTilExpire);
if (limitToManagerID != -1) {
sql += RECURRENT_TRAINING_REPORT_LIMIT_TO_MANAGER;
@@ -692,7 +694,7 @@
Calendar cal = Calendar.getInstance();
cal.setTime(getUserProfileHireDate());
cal.add(Calendar.DAY_OF_YEAR, days);
- return cal.getTime().getTime() < new Date().getTime();
+ return cal.getTime().getTime() < Utils.getNowMillis();
}
public Date getUserProfileTermDate() {
@@ -819,7 +821,7 @@
public void setUserProfileStatusID(int userProfileStatusID) {
setIntValue("USERPRSTATUSID", userProfileStatusID);
if (userProfileStatusID == UserProfile.STATUS_INACTIVE) {
- setUserProfileInactiveDate(new Date());
+ setUserProfileInactiveDate(Utils.getNow());
}
}
@@ -1033,13 +1035,13 @@
body = Utils.replaceParams(body, params);
body += Utils.getSysConfig(httpSession).getProperty("SendMailSig", "");
try {
- Utils.sendEmail(httpSession, Utils.getSysConfig(httpSession).getProperty("SendMailFrom"), email, subject, body, true);
+ SMTPMail.sendEmail(httpSession, Utils.getSysConfig(httpSession).getProperty("SendMailFrom"), email, subject, body, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- Utils.closeMailConnection();
+ SMTPMail.closeMailConnection();
return results.size();
}
@@ -1095,7 +1097,7 @@
String companyName = Company.getCompany(getCompanyID()).getCompanyName();
out.write(companyName + "\n");
out.write(getUserProfileFirstName() + " " + getUserProfileLastName() + "\n");
- out.write("Report Run " + df.format(new Date()) + "\n\n");
+ out.write("Report Run " + df.format(Utils.getNow()) + "\n\n");
out.write("Compliance Report\n\n");
out.write(getGroupComplReport(getCompanyID(), groupID).toString());
Properties sysConfig = Utils.getSysConfig(context, getCompanyID());
@@ -1117,7 +1119,7 @@
catch (Exception e) {
e.printStackTrace();
}
- Utils.closeMailConnection();
+ SMTPMail.closeMailConnection();
}
@@ -1144,7 +1146,7 @@
String companyName = Company.getCompany(getCompanyID()).getCompanyName();
out.write(companyName + "\n");
out.write(getUserProfileFirstName() + " " + getUserProfileLastName() + "\n");
- out.write("Report Run " + df.format(new Date()) + "\n\n");
+ out.write("Report Run " + df.format(Utils.getNow()) + "\n\n");
out.write("Recurrent Training Management Report\n\n");
out.write("Past Due Training\n\n");
out.write("Last Name,");
@@ -1212,7 +1214,7 @@
catch (Exception e) {
e.printStackTrace();
}
- Utils.closeMailConnection();
+ SMTPMail.closeMailConnection();
}
public String toXML() {
Modified: trunk/src/com/resolutions/jobs/MgrComplianceEMails.java
===================================================================
--- trunk/src/com/resolutions/jobs/MgrComplianceEMails.java 2018-11-07 00:01:51 UTC (rev 1623)
+++ trunk/src/com/resolutions/jobs/MgrComplianceEMails.java 2018-11-07 22:57:03 UTC (rev 1624)
@@ -17,7 +17,7 @@
import org.apache.log4j.Logger;
-import com.resolutions.ils.Utils;
+import org.crosswire.utils.Utils;
import com.resolutions.ils.data.Company;
import com.resolutions.ils.data.Group;
import com.resolutions.ils.data.UserProfile;
@@ -71,15 +71,15 @@
else {
cal.add(Calendar.DAY_OF_MONTH, 1);
}
- cal.add(Calendar.HOUR, -4); // be sure we don't miss out date by just a few hours. report shouldn't take more than this long to run the reports.
-logger.debug("LastBatchRun: " + lastDate + "; Next Batch Run After: " + cal.getTime() + "; Now: " + new Date());
+ cal.add(Calendar.HOUR, -4); // be sure we don't miss our date by just a few hours. report shouldn't take more than this long to run the reports.
+logger.debug("LastBatchRun: " + lastDate + "; Next Batch Run After: " + cal.getTime() + "; Now: " + Utils.getNow());
lastDate = cal.getTime();
- if (new Date().after(lastDate)) {
+ if (Utils.getNow().after(lastDate)) {
logger.debug("running...");
UserProfile.runMgrComplReport(servletContext, complReportThresholdPercent, complReportManagersOlderThanNumDays);
- lastJobs.setProperty("LastBatchRun", df.format(new Date()));
+ lastJobs.setProperty("LastBatchRun", df.format(Utils.getNow()));
try {
FileOutputStream propFile = new FileOutputStream(propName);
lastJobs.store(propFile, "last saved from MgrComplEmail batch job");
Modified: trunk/webapp/WEB-INF/lib/crosswire.jar
===================================================================
(Binary files differ)
More information about the Ils-source
mailing list