package frame.file;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Set;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import frame.persist.NamedSQL;
|
import frame.persist.SQLRunner;
|
import frame.util.Util;
|
|
public class UploadResult {
|
|
private Map<String, String> parameterProvider;
|
private String id;
|
private Boolean success;
|
private Boolean showDetail;
|
private List<String> messages;
|
private List<String> details;
|
private int errorCount;
|
private int successCount;
|
private Date begintime;
|
private Date endtime;
|
|
private String typeCode;
|
public NamedSQL workingSQL;
|
|
public UploadResult(HttpServletRequest request) {
|
messages = new ArrayList<String>();
|
details = new ArrayList<String>();
|
|
id = Util.newShortGUID();
|
success = true;
|
showDetail = false;
|
|
parameterProvider = new HashMap<String, String>();
|
parameterProvider.put("taskid", id);
|
|
Set<String> nameSet = request.getParameterMap().keySet();
|
for (String name : nameSet) {
|
parameterProvider.put("@" + name, request.getParameter(name));
|
}
|
}
|
|
public void succeed() {
|
success = true;
|
errorCount = 0;
|
successCount = 0;
|
begintime = new Date();
|
}
|
|
public void fail(String code, String message) {
|
success = false;
|
showDetail = true;
|
messages.add(message);
|
}
|
|
public void fail(String code, String message, int count) {
|
success = false;
|
messages.add(message);
|
errorCount = count;
|
}
|
|
public boolean isSuccess() {
|
return success;
|
}
|
|
public int getErrorCount() {
|
return errorCount;
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public void writeBegin() throws Exception {
|
String sql = "insert into BLUE_TT_UploadRecord (id, begintime) values ('" + id + "', GETDATE())";
|
SQLRunner.execSQL(sql);
|
}
|
|
public void writeEnd() throws Exception {
|
String errorMessage = null;
|
if (messages.size() > 0) {
|
errorMessage = messages.get(0);
|
}
|
|
if (errorMessage != null) {
|
if (errorMessage.length() > 254) {
|
errorMessage = errorMessage.substring(0, 230);
|
}
|
errorMessage = errorMessage.replace("'", "\"");
|
}
|
|
String sql = "update BLUE_TT_UploadRecord set "
|
+ "errormessage=" + Util.quotedStr(errorMessage) + ","
|
+ "errorCount=" + errorCount + ","
|
+ "endtime=GETDATE()"
|
+ " where id=" + Util.quotedStr(id);
|
SQLRunner.execSQL(sql);
|
|
endtime = new Date();
|
}
|
|
public int getSuccessCount() {
|
return successCount;
|
}
|
|
public List<String> getMessages() {
|
return messages;
|
}
|
|
public void setSuccessCount(int cnt) {
|
successCount = cnt;
|
}
|
|
public String getTypeCode() {
|
return typeCode;
|
}
|
|
public void setTypeCode(String value) {
|
typeCode = value;
|
}
|
|
public Date getBeginTime() {
|
return begintime;
|
}
|
|
public Date getEndTime() {
|
return endtime;
|
}
|
|
public void setWorkingSQL(NamedSQL namedSql) {
|
workingSQL = namedSql;
|
}
|
|
public void addMessage(String message) {
|
messages.add(message);
|
}
|
|
public void addDetail(String detail) {
|
details.add(detail);
|
}
|
|
public Map<String, String> getParameterProvider() {
|
return parameterProvider;
|
}
|
}
|