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

167 lines
6.3 KiB
Java
Raw Normal View History

2026-03-19 13:39:04 +08:00
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;
}
}