ecology-kq/src/com/engine/kq/biz/KQEmailRemindComInfo.java

167 lines
6.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.engine.kq.biz;
import weaver.cache.*;
import weaver.conn.RecordSet;
import weaver.general.ThreadVarLanguage;
import weaver.systeminfo.SystemEnv;
/**
* 考勤提醒,邮件提醒模板缓存类
*/
public class KQEmailRemindComInfo extends CacheBase {
/**
* 数据来源
*/
protected static String TABLE_NAME = " kq_emailRemindTemplate ";
/**
* sql中的where信息不要以where开始
*/
protected static String TABLE_WHERE = "";
/**
* sql中的order by信息不要以order by开始
*/
protected static String TABLE_ORDER = "id";
/**
* 主键
*/
@PKColumn(type = CacheColumnType.NUMBER)
protected static String PK_NAME = "id";
/**
* ID
*/
@CacheColumn(name = "id")
protected static int id;
/**
* 班次ID
*/
@CacheColumn(name = "serialId")
protected static int serialId;
/**
* 签到还是签退
*/
@CacheColumn(name = "signInOrSignOut")
protected static int signInOrSignOut;
/**
* 邮件标题
*/
@CacheColumn(name = "emailTitle")
protected static int emailTitle;
/**
* 邮件内容
*/
@CacheColumn(name = "emailContent")
protected static int emailContent;
@Override
public CacheMap initCache() throws Exception {
CacheMap localData = super.createCacheMap();
RecordSet recordSet = new RecordSet();
String sql = "select * from kq_emailRemindTemplate";
recordSet.executeQuery(sql);
while (recordSet.next()) {
String _id = recordSet.getString("id");
String _serialId = recordSet.getString("serialId");
String _signInOrSignOut = recordSet.getString("signInOrSignOut");
String _emailTile = recordSet.getString("emailTtle");
String _emailContent = recordSet.getString("emailContent");
String PK = _serialId + "-" + _signInOrSignOut;
CacheItem cacheItem = createCacheItem();
cacheItem.set(PK_INDEX, PK);
cacheItem.set(id, _id);
cacheItem.set(serialId, _serialId);
cacheItem.set(signInOrSignOut, _signInOrSignOut);
cacheItem.set(emailTitle, _emailTile);
cacheItem.set(emailContent, _emailContent);
modifyCacheItem(PK, cacheItem);
localData.put(PK, cacheItem);
}
return localData;
}
@Override
public CacheItem initCache(String key) {
if (key == null || "".equals(key.trim())) {
return null;
}
String[] keyArr = key.split("-");
if (keyArr.length != 2) {
return null;
}
String sql = "select * from kq_emailRemindTemplate where serialId=? and signInOrSignOut=?";
RecordSet recordSet = new RecordSet();
recordSet.executeQuery(sql, keyArr[0], keyArr[1]);
if (recordSet.next()) {
String _id = recordSet.getString("id");
String _serialId = recordSet.getString("serialId");
String _signInOrSignOut = recordSet.getString("signInOrSignOut");
String _emailTile = recordSet.getString("emailTtle");
String _emailContent = recordSet.getString("emailContent");
String PK = _serialId + "-" + _signInOrSignOut;
CacheItem cacheItem = createCacheItem();
cacheItem.set(PK_INDEX, PK);
cacheItem.set(id, _id);
cacheItem.set(serialId, _serialId);
cacheItem.set(signInOrSignOut, _signInOrSignOut);
cacheItem.set(emailTitle, _emailTile);
cacheItem.set(emailContent, _emailContent);
modifyCacheItem(key, cacheItem);
return cacheItem;
} else {
CacheItem cacheItem = createCacheItem();
return cacheItem;
}
}
private String getEmailTitle(String key) {
return (String) getValue(emailTitle, key);
}
public String getEmailTitle(String serialId, String signInOrSignOut) {
String PK = serialId + "-" + signInOrSignOut;
String emailTitle = getEmailTitle(PK);
if ("".equals(emailTitle)) {
if ("1".equals(signInOrSignOut)) {
emailTitle = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005295,weaver.general.ThreadVarLanguage.getLang())+"";
} else {
emailTitle = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005296,weaver.general.ThreadVarLanguage.getLang())+"";
}
}
return emailTitle;
}
private String getEmailContent(String key) {
return (String) getValue(emailContent, key);
}
public String getEmailContent(String serialId, String signInOrSignOut) {
String PK = serialId + "-" + signInOrSignOut;
String emailContent = getEmailContent(PK);
if ("".equals(emailContent)) {
if ("1".equals(signInOrSignOut)) {
emailContent = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005295,weaver.general.ThreadVarLanguage.getLang())+"";
} else {
emailContent = ""+weaver.systeminfo.SystemEnv.getHtmlLabelName(10005296,weaver.general.ThreadVarLanguage.getLang())+"";
}
}
if (emailContent.contains("["+ SystemEnv.getHtmlLabelName(18843, ThreadVarLanguage.getLang())+"]") && "1".equals(signInOrSignOut)) {
KQShiftManagementComInfo shiftManagementComInfo = new KQShiftManagementComInfo();
String minsBeforeSignIn = shiftManagementComInfo.getMinsBeforeSignIn(serialId);
emailContent = emailContent.replace("["+ SystemEnv.getHtmlLabelName(18843, ThreadVarLanguage.getLang())+"]", minsBeforeSignIn + ""+ SystemEnv.getHtmlLabelName(15049, ThreadVarLanguage.getLang())+"");
}
if (emailContent.contains("["+ SystemEnv.getHtmlLabelName(10005342, ThreadVarLanguage.getLang())+"]") && "2".equals(signInOrSignOut)) {
KQShiftManagementComInfo shiftManagementComInfo = new KQShiftManagementComInfo();
String minsAfterSignOut = shiftManagementComInfo.getMinsAfterSignOut(serialId);
emailContent = emailContent.replace("["+ SystemEnv.getHtmlLabelName(10005342, ThreadVarLanguage.getLang())+"]", minsAfterSignOut + ""+ SystemEnv.getHtmlLabelName(15049, ThreadVarLanguage.getLang())+"");
}
return emailContent;
}
}