weaver-zhuyou/src/com/engine/kq/biz/KQLeaveRulesDetailComInfo.java

1330 lines
48 KiB
Java
Raw Normal View History

2025-05-23 16:10:43 +08:00
package com.engine.kq.biz;
import weaver.cache.*;
import weaver.common.StringUtil;
import weaver.conn.RecordSet;
import weaver.general.Util;
/**
* @Auther: Administrator
* @Date: 2019-03-08 16:23
* @Description:
*/
public class KQLeaveRulesDetailComInfo extends CacheBase {
/**
* 数据来源
*/
protected static String TABLE_NAME = "kq_leaveRulesDetail";
/**
* sql中的where信息不要以where开始
*/
protected static String TABLE_WHERE = " (isDelete is null or isDelete !=1) ";
/**
* 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 = "ruleId")
protected static int ruleId;
/**
* 假期规则名称
*/
@CacheColumn(name = "ruleName")
protected static int ruleName;
/**
* 应用范围0-总部1-分部
*/
@CacheColumn(name = "scopeType")
protected static int scopeType;
/**
* 分部ID(当应用范围为分部时选择的分部ID)
*/
@CacheColumn(name = "scopeValue")
protected static int scopeValue;
/**
* 余额发放方式
* 1-手动发放
* 2-按司龄自动发放
* 3-按工龄自动发放
* 4-每年自动发放固定天数
* 5-加班时长自动计入余额
* 6-按司龄+工龄自动发放
*/
@CacheColumn(name = "distributionMode")
protected static int distributionMode;
/**
* 每人发放小时
* 当余额发放方式为"4-每年自动发放固定天数"时有效
*/
@CacheColumn(name = "annualAmount")
protected static int annualAmount;
/**
* 法定年假的规则(余额发放方式选择6-按司龄+工龄自动发放才有效)
* 0-工龄(默认)
* 1-司龄
* 2-司龄+工龄
*/
@CacheColumn(name = "legalKey")
protected static int legalKey;
/**
* 福利年假的规则(余额发放方式选择6-按司龄+工龄自动发放才有效)
* 0-工龄
* 1-司龄(默认)
* 2-司龄+工龄
*/
@CacheColumn(name = "welfareKey")
protected static int welfareKey;
/**
* 扣减优先级(余额发放方式选择6-按司龄+工龄自动发放才有效)
* 1-法定年假
* 2-福利年假
*/
@CacheColumn(name = "priority")
protected static int priority;
/**
* 计算方式
*/
@CacheColumn(name = "calcMethod")
protected static int calcMethod;
/**
* //假期基数的发放日期
* //1--每年的1月1号
* //2--入职日期
* //3--参加工作日期
*/
@CacheColumn(name = "baseAmountReleaseDate")
protected static int baseAmountReleaseDate;
/**
* //假期基数的变动日期
* //1--每年的1月1号
* //2--入职日期
* //3--参加工作日期
*/
@CacheColumn(name = "baseAmountChangeDate")
protected static int baseAmountChangeDate;
/**
* 假期基数折算方式
* 0--不折算
* 1--四舍五入
* 2--向上取整
* 3--向下取整
* 4--向上取0.5的倍数
* 5--向下取0.5的倍数
*/
@CacheColumn(name = "convertMode")
protected static int convertMode;
/**
* 折算后保留的小数点位数
*/
@CacheColumn(name = "decimalDigit")
protected static int decimalDigit;
/**
* 有效期规则
* 0-永久有效
* 1-按自然年(1月1日-12月31日)
* 2-按入职日期起12个月
* 3-自定义次年失效日期
* 4-按天数失效
* 5-按季度失效
* 6-按月数失效
*/
@CacheColumn(name = "validityRule")
protected static int validityRule;
/**
* 失效日期-
*/
@CacheColumn(name = "expirationMonth")
protected static int expirationMonth;
/**
* 失效日期-
*/
@CacheColumn(name = "expirationDay")
protected static int expirationDay;
/**
* 有效天数
*/
@CacheColumn(name = "effectiveDays")
protected static int effectiveDays;
/**
* 有效月数
*/
@CacheColumn(name = "effectiveMonths")
protected static int effectiveMonths;
/**
* 是否允许延长有效期
* 0-不允许
* 1-允许
*/
@CacheColumn(name = "extensionEnable")
protected static int extensionEnable;
/**
* 允许延长的有效期天数
*/
@CacheColumn(name = "extendedDays")
protected static int extendedDays;
/**
* 释放规则
* 0-不限制
* 1-按天释放
* 2-按月释放
*/
@CacheColumn(name = "releaseRule")
protected static int releaseRule;
/**
* 假期类型
*/
@CacheColumn(name = "leaveCode")
protected static int leaveCode;
/**
* 是否需要排除次账号
* 0--不排除即次账号正常享受年假
* 1--排除即次账号不能享受年假
*/
@CacheColumn(name = "excludeSubAccount")
protected static int excludeSubAccount;
/**
* 转正之前是否允许发放假期余额
* 0--不允许
* 1--允许
*/
@CacheColumn(name = "beforeFormal")
protected static int beforeFormal;
/**
* 多孩叠加开关
* 0--
* 1--
*/
@CacheColumn(name = "severalChildren")
protected static int severalChildren;
/**
* 孩子多少周岁前发放
*/
@CacheColumn(name = "yearsOld")
protected static int yearsOld;
/**
*是否按照省份发放育儿假1否2是
*/
@CacheColumn(name = "isprovince")
protected static int isprovince;
/**
*是否按照省份发放育儿假1否2是
*/
@CacheColumn(name = "carryOver")
protected static int carryOver;
private static final String[] SCOPE_TYPES = {"3", "2", "1"};
@Override
public CacheMap initCache() throws Exception {
CacheMap localData = super.createCacheMap();
RecordSet rs = new RecordSet();
String sql = "select * from kq_leaveRulesDetail where (isDelete is null or isDelete<>1) order by id";
rs.executeQuery(sql);
while (rs.next()) {
String _id = rs.getString("id");
String _ruleId = rs.getString("ruleId");//假期类型的ID
String _ruleName = rs.getString("ruleName");//假期类型的ID
String _scopeType = rs.getString("scopeType");//假期类型的流程可见范围
String _scopeValue = rs.getString("scopeValue");//流程可见范围为分部时勾选的分部ID
String _distributionMode = rs.getString("distributionMode");
String _annualAmount = rs.getString("annualAmount");
String _legalKey = rs.getString("legalKey");
String _welfareKey = rs.getString("welfareKey");
String _priority = rs.getString("priority");
String _calcMethod = rs.getString("calcMethod");
String _baseAmountReleaseDate = rs.getString("baseAmountReleaseDate");
String _baseAmountChangeDate = rs.getString("baseAmountChangeDate");
String _convertMode = rs.getString("convertMode");
String _decimalDigit = rs.getString("decimalDigit");
String _validityRule = rs.getString("validityRule");
String _expirationMonth = rs.getString("expirationMonth");
String _expirationDay = rs.getString("expirationDay");
String _effectiveDays = rs.getString("effectiveDays");
String _effectiveMonths = rs.getString("effectiveMonths");
String _extensionEnable = rs.getString("extensionEnable");
String _extendedDays = rs.getString("extendedDays");
String _releaseRule = rs.getString("releaseRule");
String _leaveCode = rs.getString("leaveCode");
String _excludeSubAccount = rs.getString("excludeSubAccount");
String _beforeFormal = rs.getString("beforeFormal");
String _severalChildren = rs.getString("severalChildren");
String _yearsOld = rs.getString("yearsOld");
String _isprovince = rs.getString("isprovince");
String _carryOver = rs.getString("carryOver");
if (_scopeType.equals("1") || _scopeType.equals("2") || _scopeType.equals("3")) {
String[] scopeValueArr = _scopeValue.split(",");
for (int i = 0; i < scopeValueArr.length; i++) {
String PK = _ruleId + "|" + _scopeType + "|" + scopeValueArr[i];
CacheItem row = createCacheItem();
row.set(PK_INDEX, PK);
row.set(id, _id);
row.set(ruleId, _ruleId);
row.set(ruleName, _ruleName);
row.set(scopeType, _scopeType);
row.set(scopeValue, _scopeValue);
row.set(distributionMode, _distributionMode);
row.set(annualAmount, _annualAmount);
row.set(legalKey, _legalKey);
row.set(welfareKey, _welfareKey);
row.set(priority, _priority);
row.set(calcMethod, _calcMethod);
row.set(baseAmountReleaseDate, _baseAmountReleaseDate);
row.set(baseAmountChangeDate, _baseAmountChangeDate);
row.set(convertMode, _convertMode);
row.set(decimalDigit, _decimalDigit);
row.set(validityRule, _validityRule);
row.set(expirationMonth, _expirationMonth);
row.set(expirationDay, _expirationDay);
row.set(effectiveDays, _effectiveDays);
row.set(effectiveMonths, _effectiveMonths);
row.set(extensionEnable, _extensionEnable);
row.set(extendedDays, _extendedDays);
row.set(releaseRule, _releaseRule);
row.set(leaveCode, _leaveCode);
row.set(excludeSubAccount, _excludeSubAccount);
row.set(beforeFormal, _beforeFormal);
row.set(severalChildren, _severalChildren);
row.set(yearsOld, _yearsOld);
row.set(isprovince, _isprovince);
row.set(carryOver, _carryOver);
modifyCacheItem(PK, row);
localData.put(PK, row);
}
} else {
String PK = ruleId + "|" + scopeType;
CacheItem row = createCacheItem();
row.set(PK_INDEX, PK);
row.set(id, _id);
row.set(ruleId, _ruleId);
row.set(ruleName, _ruleName);
row.set(scopeType, _scopeType);
row.set(scopeValue, _scopeValue);
row.set(distributionMode, _distributionMode);
row.set(annualAmount, _annualAmount);
row.set(legalKey, _legalKey);
row.set(welfareKey, _welfareKey);
row.set(priority, _priority);
row.set(calcMethod, _calcMethod);
row.set(baseAmountReleaseDate, _baseAmountReleaseDate);
row.set(baseAmountChangeDate, _baseAmountChangeDate);
row.set(convertMode, _convertMode);
row.set(decimalDigit, _decimalDigit);
row.set(validityRule, _validityRule);
row.set(expirationMonth, _expirationMonth);
row.set(expirationDay, _expirationDay);
row.set(effectiveDays, _effectiveDays);
row.set(effectiveMonths, _effectiveMonths);
row.set(extensionEnable, _extensionEnable);
row.set(extendedDays, _extendedDays);
row.set(releaseRule, _releaseRule);
row.set(leaveCode, _leaveCode);
row.set(excludeSubAccount, _excludeSubAccount);
row.set(beforeFormal, _beforeFormal);
row.set(severalChildren, _severalChildren);
row.set(yearsOld, _yearsOld);
row.set(isprovince, _isprovince);
row.set(carryOver, _carryOver);
modifyCacheItem(PK, row);
localData.put(PK, row);
}
}
return localData;
}
@Override
public CacheItem initCache(String key) {
if (key == null || "".equals(key.trim())) {
return null;
}
String ruleIdTemp = "";//假期类型的ID
String scopeTypeTemp = "";//假期类型的流程可见范围
String scopeValueTemp = "";//流程可见范围为分部时勾选的分部ID
String PK = "";
String[] keyArr = key.split("\\|");
String sql = "";
RecordSet rs = new RecordSet();
if (keyArr.length == 2) {
ruleIdTemp = keyArr[0];
scopeTypeTemp = keyArr[1];
PK = ruleIdTemp + "|0";
sql = "select * from kq_leaveRulesDetail where (isDelete is null or isDelete<>1) and ruleId=" + ruleIdTemp + " and scopeType=" + scopeTypeTemp + " order by id";
}
if (keyArr.length == 3) {
ruleIdTemp = keyArr[0];
scopeTypeTemp = keyArr[1];
scopeValueTemp = keyArr[2];
PK = ruleIdTemp + "|1|" + scopeValueTemp;
sql = "select * from kq_leaveRulesDetail where (isDelete is null or isDelete<>1) and ruleId=" + ruleIdTemp + " and scopeType=" + scopeTypeTemp;
if (rs.getDBType().equalsIgnoreCase("sqlserver")) {
sql += " and ','+scopeValue+',' like '%," + scopeValueTemp + ",%'";
} else if (rs.getDBType().equalsIgnoreCase("mysql")) {
sql += " and concat(',',scopeValue,',') like '%," + scopeValueTemp + ",%'";
} else {
sql += " and ','||scopeValue||',' like '%," + scopeValueTemp + ",%'";
}
sql += " order by id ";
}
rs.executeQuery(sql);
if (rs.next()) {
String _id = rs.getString("id");
String _ruleId = rs.getString("ruleId");//假期类型的ID
String _ruleName = rs.getString("ruleName");//假期类型的ID
String _scopeType = rs.getString("scopeType");//假期类型的流程可见范围
String _scopeValue = rs.getString("scopeValue");//流程可见范围为分部时勾选的分部ID
String _distributionMode = rs.getString("distributionMode");
String _annualAmount = rs.getString("annualAmount");
String _legalKey = rs.getString("legalKey");
String _welfareKey = rs.getString("welfareKey");
String _priority = rs.getString("priority");
String _calcMethod = rs.getString("calcMethod");
String _baseAmountReleaseDate = rs.getString("baseAmountReleaseDate");
String _baseAmountChangeDate = rs.getString("baseAmountChangeDate");
String _convertMode = rs.getString("convertMode");
String _decimalDigit = rs.getString("decimalDigit");
String _validityRule = rs.getString("validityRule");
String _expirationMonth = rs.getString("expirationMonth");
String _expirationDay = rs.getString("expirationDay");
String _effectiveDays = rs.getString("effectiveDays");
String _effectiveMonths = rs.getString("effectiveMonths");
String _extensionEnable = rs.getString("extensionEnable");
String _extendedDays = rs.getString("extendedDays");
String _releaseRule = rs.getString("releaseRule");
String _leaveCode = rs.getString("leaveCode");
String _excludeSubAccount = rs.getString("excludeSubAccount");
String _beforeFormal = rs.getString("beforeFormal");
String _severalChildren = rs.getString("severalChildren");
String _yearsOld = rs.getString("yearsOld");
String _isprovince = rs.getString("isprovince");
String _carryOver = rs.getString("carryOver");
CacheItem row = createCacheItem();
row.set(PK_INDEX, PK);
row.set(id, _id);
row.set(ruleId, _ruleId);
row.set(ruleName, _ruleName);
row.set(scopeType, _scopeType);
row.set(scopeValue, _scopeValue);
row.set(distributionMode, _distributionMode);
row.set(annualAmount, _annualAmount);
row.set(legalKey, _legalKey);
row.set(welfareKey, _welfareKey);
row.set(priority, _priority);
row.set(calcMethod, _calcMethod);
row.set(baseAmountReleaseDate, _baseAmountReleaseDate);
row.set(baseAmountChangeDate, _baseAmountChangeDate);
row.set(convertMode, _convertMode);
row.set(decimalDigit, _decimalDigit);
row.set(validityRule, _validityRule);
row.set(expirationMonth, _expirationMonth);
row.set(expirationDay, _expirationDay);
row.set(effectiveDays, _effectiveDays);
row.set(effectiveMonths, _effectiveMonths);
row.set(extensionEnable, _extensionEnable);
row.set(extendedDays, _extendedDays);
row.set(releaseRule, _releaseRule);
row.set(leaveCode, _leaveCode);
row.set(excludeSubAccount, _excludeSubAccount);
row.set(beforeFormal, _beforeFormal);
row.set(severalChildren, _severalChildren);
row.set(yearsOld, _yearsOld);
row.set(isprovince, _isprovince);
row.set(carryOver, _carryOver);
modifyCacheItem(key, row);
return row;
} else {
CacheItem row = createCacheItem();
modifyCacheItem(key, row);
return row;
}
}
private String getId(String key) {
return (String) getValue(id, key);
}
// public String getId(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String id = getId(PK);
// if (id == null || id == "") {
// PK = ruleId + "|0";
// id = getId(PK);
// }
// return id;
// }
private String getRuleId(String key) {
return (String) getValue(ruleId, key);
}
private String getRuleName(String key) {
return (String) getValue(ruleName, key);
}
// public String getRuleName(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String ruleName = getRuleName(PK);
// if (ruleName == null || ruleName == "") {
// PK = ruleId + "|0";
// ruleName = getRuleName(PK);
// }
// return ruleName;
// }
private String getScopeType(String key) {
return (String) getValue(scopeType, key);
}
// public String getScopeType(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String scopeType = getScopeType(PK);
// if (scopeType == null || scopeType == "") {
// PK = ruleId + "|0";
// scopeType = getScopeType(PK);
// }
// return scopeType;
// }
private String getScopeValue(String key) {
return (String) getValue(scopeValue, key);
}
// public String getScopeValue(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String scopeValue = getScopeValue(PK);
// if (scopeValue == null || scopeValue == "") {
// PK = ruleId + "|0";
// scopeValue = getScopeValue(PK);
// }
// return scopeValue;
// }
private String getDistributionMode(String key) {
return (String) getValue(distributionMode, key);
}
// public String getDistributionMode(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String distributionMode = getDistributionMode(PK);
// if (distributionMode == null || distributionMode == "") {
// PK = ruleId + "|0";
// distributionMode = getDistributionMode(PK);
// }
// return distributionMode;
// }
private String getAnnualAmount(String key) {
return (String) getValue(annualAmount, key);
}
// public String getAnnualAmount(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String annualAmount = getAnnualAmount(PK);
// if (annualAmount == null || annualAmount == "") {
// PK = ruleId + "|0";
// annualAmount = getAnnualAmount(PK);
// }
// return annualAmount;
// }
private String getLegalKey(String key) {
return (String) getValue(legalKey, key);
}
// public String getLegalKey(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String legalKey = getLegalKey(PK);
// if (legalKey == null || legalKey == "") {
// PK = ruleId + "|0";
// legalKey = getLegalKey(PK);
// }
// return legalKey;
// }
private String getWelfareKey(String key) {
return (String) getValue(welfareKey, key);
}
// public String getWelfareKey(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String welfareKey = getWelfareKey(PK);
// if (welfareKey == null || welfareKey == "") {
// PK = ruleId + "|0";
// welfareKey = getWelfareKey(PK);
// }
// return welfareKey;
// }
private String getPriority(String key) {
return (String) getValue(priority, key);
}
// public String getPriority(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String priority = getPriority(PK);
// if (priority == null || priority == "") {
// PK = ruleId + "|0";
// priority = getPriority(PK);
// }
// return priority;
// }
private String getValidityRule(String key) {
return (String) getValue(validityRule, key);
}
// public String getValidityRule(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String validityRule = getValidityRule(PK);
// if (validityRule == null || validityRule == "") {
// PK = ruleId + "|0";
// validityRule = getValidityRule(PK);
// }
// return validityRule;
// }
private String getExpirationMonth(String key) {
return (String) getValue(expirationMonth, key);
}
// public String getExpirationMonth(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String expirationMonth = getExpirationMonth(PK);
// if (expirationMonth == null || expirationMonth == "") {
// PK = ruleId + "|0";
// expirationMonth = getExpirationMonth(PK);
// }
// if (expirationMonth.length() == 1) {
// expirationMonth = "0" + expirationMonth;
// }
// return expirationMonth;
// }
private String getExpirationDay(String key) {
return (String) getValue(expirationDay, key);
}
// public String getExpirationDay(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String expirationDay = getExpirationDay(PK);
// if (expirationDay == null || expirationDay == "") {
// PK = ruleId + "|0";
// expirationDay = getExpirationDay(PK);
// }
// if (expirationDay.length() == 1) {
// expirationDay = "0" + expirationDay;
// }
// return expirationDay;
// }
private String getEffectiveDays(String key) {
return (String) getValue(effectiveDays, key);
}
// public String getEffectiveDays(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String effectiveDays = getEffectiveDays(PK);
// if (effectiveDays == null || effectiveDays == "") {
// PK = ruleId + "|0";
// effectiveDays = getEffectiveDays(PK);
// }
// if (Util.getIntValue(effectiveDays, 0) < 1) {
// effectiveDays = "1";
// }
// return effectiveDays;
// }
private String getEffectiveMonths(String key) {
return (String) getValue(effectiveMonths, key);
}
// public String getEffectiveMonths(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String effectiveMonths = getEffectiveMonths(PK);
// if (effectiveMonths == null || effectiveMonths == "") {
// PK = ruleId + "|0";
// effectiveMonths = getEffectiveMonths(PK);
// }
// if (Util.getIntValue(effectiveMonths, 0) < 1) {
// effectiveMonths = "1";
// }
// return effectiveMonths;
// }
private String getExtensionEnable(String key) {
return (String) getValue(extensionEnable, key);
}
// public String getExtensionEnable(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String extensionEnable = getExtensionEnable(PK);
// if (extensionEnable == null || extensionEnable == "") {
// PK = ruleId + "|0";
// extensionEnable = getExtensionEnable(PK);
// }
// return extensionEnable;
// }
private String getExtendedDays(String key) {
return (String) getValue(extendedDays, key);
}
// public String getExtendedDays(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String extendedDays = getExtendedDays(PK);
// if (extendedDays == null || extendedDays == "") {
// PK = ruleId + "|0";
// extendedDays = getExtendedDays(PK);
// }
// return extendedDays;
// }
private String getReleaseRule(String key) {
return (String) getValue(releaseRule, key);
}
// public String getReleaseRule(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String releaseRule = getReleaseRule(PK);
// if (releaseRule == null || releaseRule == "") {
// PK = ruleId + "|0";
// releaseRule = getReleaseRule(PK);
// }
// return releaseRule;
// }
private String getLeaveCode(String key) {
return (String) getValue(leaveCode, key);
}
// public String getLeaveCode(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String leaveCode = getLeaveCode(PK);
// if (leaveCode == null || leaveCode == "") {
// PK = ruleId + "|0";
// leaveCode = getLeaveCode(PK);
// }
// return leaveCode;
// }
private String getCalcMethod(String key) {
return (String) getValue(calcMethod, key);
}
// public String getCalcMethod(String ruleId, String subcompanyId) {
// String PK = ruleId + "|1|" + subcompanyId;
// String calcMethod = getCalcMethod(PK);
// if (calcMethod == null || calcMethod == "") {
// PK = ruleId + "|0";
// calcMethod = getCalcMethod(PK);
// }
// return calcMethod;
// }
private String getBaseAmountReleaseDate(String key) {
return (String) getValue(baseAmountReleaseDate, key);
}
// public String getBaseAmountReleaseDate(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String baseAmountReleaseDate = getBaseAmountReleaseDate(PK);
// if (baseAmountReleaseDate == null || baseAmountReleaseDate == "") {
// PK = ruleId + "|0";
// baseAmountReleaseDate = getBaseAmountReleaseDate(PK);
// }
// return baseAmountReleaseDate;
// }
private String getBaseAmountChangeDate(String key) {
return (String) getValue(baseAmountChangeDate, key);
}
// public String getBaseAmountChangeDate(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String baseAmountChangeDate = getBaseAmountChangeDate(PK);
// if (baseAmountChangeDate == null || baseAmountChangeDate == "") {
// PK = ruleId + "|0";
// baseAmountChangeDate = getBaseAmountChangeDate(PK);
// }
// return baseAmountChangeDate;
// }
private String getConvertMode(String key) {
return (String) getValue(convertMode, key);
}
// public String getConvertMode(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String convertMode = getConvertMode(PK);
// if (convertMode == null || convertMode == "") {
// PK = ruleId + "|0";
// convertMode = getConvertMode(PK);
// }
// if (convertMode == null || convertMode.equals("")) {
// convertMode = "1";
// }
// return convertMode;
// }
private String getDecimalDigit(String key) {
return (String) getValue(decimalDigit, key);
}
// public String getDecimalDigit(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String decimalDigit = getDecimalDigit(PK);
// if (decimalDigit == null || decimalDigit == "") {
// PK = ruleId + "|0";
// decimalDigit = getDecimalDigit(PK);
// }
// if (decimalDigit == null || decimalDigit == "" || Util.getIntValue(decimalDigit, 0) < 2) {
// decimalDigit = "2";
// }
// return decimalDigit;
// }
private String getExcludeSubAccount(String key) {
return (String) getValue(excludeSubAccount, key);
}
// public String getExcludeSubAccount(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String excludeSubAccount = getExcludeSubAccount(PK);
// if (excludeSubAccount == null || excludeSubAccount == "") {
// PK = ruleId + "|0";
// excludeSubAccount = getExcludeSubAccount(PK);
// }
// return excludeSubAccount;
// }
private String getBeforeFormal(String key) {
return (String) getValue(beforeFormal, key);
}
// public String getBeforeFormal(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String beforeFormal = getBeforeFormal(PK);
// if (beforeFormal == null || beforeFormal == "") {
// PK = ruleId + "|0";
// beforeFormal = getBeforeFormal(PK);
// }
// return beforeFormal;
// }
private String getSeveralChildren(String key) {
return (String) getValue(severalChildren, key);
}
// public String getSeveralChildren(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String severalChildren = getSeveralChildren(PK);
// if (severalChildren == null || severalChildren == "") {
// PK = ruleId + "|0";
// severalChildren = getSeveralChildren(PK);
// }
// return severalChildren;
// }
private String getYearsOld(String key) {
return (String) getValue(yearsOld, key);
}
// public String getYearsOld(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String yearsOld = getYearsOld(PK);
// if (yearsOld == null || yearsOld == "") {
// PK = ruleId + "|0";
// yearsOld = getYearsOld(PK);
// }
// return yearsOld;
// }
private String getIsProvince(String key) {
return (String) getValue(isprovince, key);
}
private String getCarryOver(String key) {
return (String) getValue(carryOver, key);
}
// public String getIsProvince(String ruleId, String subcompanyId){
// String PK = ruleId + "|1|" + subcompanyId;
// String isprovince = getIsProvince(PK);
// if (isprovince == null || isprovince == "") {
// PK = ruleId + "|0";
// isprovince = getIsProvince(PK);
// }
// return isprovince;
// }
public String getId(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getId(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getId(ruleId + "|0");
}
return value;
}
public String getRuleName(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getRuleName(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getRuleName(ruleId + "|0");
}
return value;
}
public String getScopeType(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getScopeType(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getScopeType(ruleId + "|0");
}
return value;
}
public String getScopeValue(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getScopeValue(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getScopeValue(ruleId + "|0");
}
return value;
}
public String getDistributionMode(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getDistributionMode(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getDistributionMode(ruleId + "|0");
}
return value;
}
public String getAnnualAmount(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getAnnualAmount(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getAnnualAmount(ruleId + "|0");
}
return value;
}
public String getLegalKey(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getLegalKey(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getLegalKey(ruleId + "|0");
}
return value;
}
public String getWelfareKey(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getWelfareKey(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getWelfareKey(ruleId + "|0");
}
return value;
}
public String getPriority(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getPriority(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getPriority(ruleId + "|0");
}
return value;
}
public String getValidityRule(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getValidityRule(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getValidityRule(ruleId + "|0");
}
return value;
}
public String getExpirationMonth(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getExpirationMonth(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getExpirationMonth(ruleId + "|0");
}
if (value.length() == 1) {
value = "0" + value;
}
return value;
}
public String getExpirationDay(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getExpirationDay(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getExpirationDay(ruleId + "|0");
}
if (value.length() == 1) {
value = "0" + value;
}
return value;
}
public String getEffectiveDays(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getEffectiveDays(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getEffectiveDays(ruleId + "|0");
}
if (Util.getIntValue(value, 0) < 1) {
value = "1";
}
return value;
}
public String getEffectiveMonths(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getEffectiveMonths(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getEffectiveMonths(ruleId + "|0");
}
if (Util.getIntValue(value, 0) < 1) {
value = "1";
}
return value;
}
public String getExtensionEnable(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getExtensionEnable(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getExtensionEnable(ruleId + "|0");
}
return value;
}
public String getExtendedDays(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getExtendedDays(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getExtendedDays(ruleId + "|0");
}
return value;
}
public String getReleaseRule(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getReleaseRule(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getReleaseRule(ruleId + "|0");
}
return value;
}
public String getLeaveCode(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getLeaveCode(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getLeaveCode(ruleId + "|0");
}
return value;
}
public String getCalcMethod(String ruleId, String subcompanyId, String departmentId, String resourceId) {
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getCalcMethod(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getCalcMethod(ruleId + "|0");
}
return value;
}
public String getBaseAmountReleaseDate(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getBaseAmountReleaseDate(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getBaseAmountReleaseDate(ruleId + "|0");
}
return value;
}
public String getBaseAmountChangeDate(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getBaseAmountChangeDate(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getBaseAmountChangeDate(ruleId + "|0");
}
return value;
}
public String getConvertMode(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getConvertMode(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getConvertMode(ruleId + "|0");
}
if (value == null || value.equals("")) {
value = "1";
}
return value;
}
public String getDecimalDigit(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getDecimalDigit(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getDecimalDigit(ruleId + "|0");
}
if (value == null || value == "" || Util.getIntValue(value, 0) < 2) {
value = "2";
}
return value;
}
public String getExcludeSubAccount(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getExcludeSubAccount(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getExcludeSubAccount(ruleId + "|0");
}
return value;
}
public String getBeforeFormal(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getBeforeFormal(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getBeforeFormal(ruleId + "|0");
}
return value;
}
public String getSeveralChildren(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getSeveralChildren(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getSeveralChildren(ruleId + "|0");
}
return value;
}
public String getYearsOld(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getYearsOld(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getYearsOld(ruleId + "|0");
}
return value;
}
public String getIsProvince(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getIsProvince(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getIsProvince(ruleId + "|0");
}
return value;
}
public String getCarryOver(String ruleId, String subcompanyId, String departmentId, String resourceId){
String value = "";
String[] scopeValue = {resourceId, departmentId, subcompanyId};
for(int i=0; i<SCOPE_TYPES.length; i++) {
String PK = ruleId + "|"+SCOPE_TYPES[i]+"|" + scopeValue[i];
if(StringUtil.isNotNull(value = getCarryOver(PK))) break;
}
if(StringUtil.isNull(value)) {
value = getCarryOver(ruleId + "|0");
}
return value;
}
}