package foundation.code.segment;
|
|
import foundation.code.CodeRule;
|
import foundation.code.SegmentCreator;
|
import foundation.persist.NamedSQL;
|
import foundation.persist.SQLRunner;
|
import foundation.variant.provider.IVariantsProvider;
|
|
|
public class NoSegment extends SegmentCreator {
|
|
public static String SQLName_NextVal = "code_next_sequence";
|
public static String SQLName_CurrVal = "code_curr_sequence";
|
private String ruleCode;
|
private NamedSQL nextvalSQL;
|
private NamedSQL currvalSQL;
|
private String cachedValue;
|
|
public NoSegment() {
|
|
}
|
|
@Override
|
protected void init(CodeRule rule) {
|
ruleCode = rule.getCode();
|
|
try {
|
nextvalSQL = NamedSQL.getInstance(SQLName_NextVal);
|
nextvalSQL.setParam("code", ruleCode);
|
|
currvalSQL = NamedSQL.getInstance(SQLName_CurrVal);
|
currvalSQL.setParam("code", ruleCode);
|
}
|
catch(Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
@Override
|
public String getNextSequenceValue(String dynamic, IVariantsProvider... entitys) {
|
try {
|
int value = SQLRunner.getInteger(nextvalSQL);
|
String result = String.valueOf(value);
|
result = format(result);
|
|
cachedValue = result;
|
return result;
|
}
|
catch (Exception e) {
|
return null;
|
}
|
}
|
|
@Override
|
public String getCurrSequenceValue(String dynamic, IVariantsProvider... entitys) {
|
try {
|
int value = SQLRunner.getInteger(nextvalSQL);
|
String result = String.valueOf(value);
|
result = format(result);
|
|
cachedValue = result;
|
return result;
|
}
|
catch (Exception e) {
|
return null;
|
}
|
}
|
|
@Override
|
public String getTempValue(String dynamic, IVariantsProvider... entitys) {
|
String result = format("#");
|
return result;
|
}
|
|
@Override
|
protected void setCodeRule(CodeRule codeRule) {
|
ruleCode = codeRule.getCode();
|
super.setCodeRule(codeRule);
|
}
|
|
@Override
|
public String toString() {
|
return codeRule.getCode() + " : " + cachedValue;
|
}
|
|
}
|