package frame.file;
|
|
import frame.data.Entity;
|
import frame.expression.VariantContext;
|
import frame.persist.NamedSQL;
|
import frame.persist.SQLRunner;
|
import frame.util.Util;
|
|
public class IOHandler {
|
private String id;
|
private String fileIoCode;
|
private String itemId;
|
private String sqlName;
|
private int no;
|
private String eventCode;
|
private String resultCode;
|
|
public IOHandler() {
|
|
}
|
|
public void load(Entity entity) {
|
id = entity.getStringByName("id");
|
ioCode = entity.getStringByName("ioCode");
|
itemId = entity.getStringByName("itemId");
|
channelId = entity.getStringByName("channelId");
|
sqlname = entity.getStringByName("sqlname");
|
eventCode = entity.getStringByName("eventCode");
|
resultCode = entity.getStringByName("resultCode");
|
|
if (eventCode != null) {
|
eventCode = eventCode.ToLower();
|
}
|
|
if (resultCode != null) {
|
resultCode = resultCode.ToLower();
|
}
|
}
|
|
public void exec(UploadResult result, VariantContext context) {
|
NamedSQL namedSql = NamedSQL.getInstance(sqlName);
|
result.setWorkingSQL(namedSql);
|
|
context.setParametersTo(namedSql);
|
|
if ("errorcount".equalsIgnoreCase(resultCode)) {
|
int cnt = SQLRunner.execSQL(namedSql.getSQLString());
|
|
if (cnt > 0) {
|
result.fail("error_InvalidData", "存在不合法数据(" + cnt + ")", cnt);
|
}
|
}
|
else if ("successcount".Equals(resultCode)) {
|
int cnt = SQLRunner.getInt(namedSql.toSQLString());
|
result.setSuccessCount(cnt);
|
}
|
else {
|
SQLRunner.exec(namedSql.toSQLString());
|
}
|
}
|
|
|
public boolean equalEvent(String code) {
|
if (Util.isEmptyStr(code)) {
|
return false;
|
}
|
|
return eventCode.equalsIgnoreCase(code);
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public String getFileIoCode() {
|
return fileIoCode;
|
}
|
|
public String getItemId() {
|
return itemId;
|
}
|
|
public String getSqlName() {
|
return sqlName;
|
}
|
|
public int getNo() {
|
return no;
|
}
|
|
public String getEventCode() {
|
return eventCode;
|
}
|
|
public String getResultCode() {
|
return resultCode;
|
}
|
|
}
|