📄 contactupload.jsp
字号:
<%@ page import="org.ofbiz.entity.*" %>
<%@ page import="org.ofbiz.entity.model.*" %>
<%@ page import="java.lang.reflect.Method" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="org.ofbiz.entity.util.SequenceUtil" %>
<%@ page import="http.utils.multipartrequest.ServletMultipartRequest"%>
<%@ page import="http.utils.multipartrequest.MultipartRequest"%>
<%@ page import="com.sourcetap.sfa.util.CsvConverter"%>
<%@ page import="com.sourcetap.sfa.replication.*" %>
<%@ include file="/includes/header.jsp" %>
<%
String ENTITY = "";
CsvConverter csvConverter = null;
String action = "";
action = (request.getParameter("action") == null ? "" : request.getParameter("action"));
if(!action.equals("upload")){
try{
MultipartRequest parser = new MultipartRequest(new PrintWriter(System.out), request.getContentType(), request.getContentLength(), request.getInputStream(), MultipartRequest.MAX_READ_BYTES);
ENTITY = parser.getURLParameter("entity");
for (Enumeration e = parser.getFileParameterNames() ; e.hasMoreElements() ;) {
String name = (String) e.nextElement();
InputStream in = parser.getFileContents(name);
if (in!=null) {
csvConverter = new CsvConverter(new BufferedReader(new InputStreamReader(parser.getFileContents(name))));
csvConverter.writeToFile(session.getAttribute("userName") + "." + ENTITY + ".txt");
}
}
} catch (Exception e) { e.printStackTrace();
}
}
ModelEntity entity = delegator.getModelEntity(ENTITY);
%>
<table width="100%" class="viewManyHeader" cellspacing="0" cellpadding="2"><tr><td>Import <%=ENTITY%></td></tr></table>
<table width="100%" height="100%" class="viewOneHeader">
<% if(action.equals("upload")) { %>
<table>
<%
ENTITY = request.getParameter("entity");
if(csvConverter == null){
File file = new File(session.getAttribute("userName") + "." + ENTITY + ".txt");
if(file.exists()){
csvConverter = new CsvConverter(new BufferedReader(new FileReader(file)));
file.delete();
}
}
ArrayList data = null;
if(csvConverter != null){
entity = delegator.getModelEntity(ENTITY);
String headers[] = csvConverter.getHeader();
data = csvConverter.getData();
GenericValue genericValue = null;
Vector entityFields = null;
ModelField modelField = null;
Enumeration params = null;
String dataValues[] = null;
for(int ix=0;ix<data.size();ix++){
dataValues = (String[])data.get(ix);
genericValue = new GenericValue(entity);
genericValue.setDelegator(delegator);
entityFields = entity.getFieldsCopy();
Enumeration enum2 = request.getParameterNames();
String next = "";
String param = "";
while(enum2.hasMoreElements()){
param = (String)enum2.nextElement();
next = (String)request.getParameter(param);
for(int iz=0;iz<entityFields.size();iz++){
modelField = (ModelField)entityFields.get(iz);
if(modelField.getName().equals(next)){
genericValue = setCorrectDataType( genericValue, modelField, dataValues[Integer.valueOf(param).intValue()]);
} else {
if((entityFields.contains(next)) && (genericValue.get(next) != null))
genericValue = setCorrectDataType( genericValue, modelField, "");
}
}
}
String id = GenericReplicator.getNextSeqId("Party", delegator);
genericValue.set("contactId", id);
genericValue.set("contactOwnerId", session.getAttribute("partyId"));
genericValue.set("createdBy", (String)session.getAttribute("userName"));
genericValue.set("createdDate", new Timestamp(new java.util.Date().getTime()));
genericValue.set("modifiedBy", (String)session.getAttribute("userName"));
genericValue.set("modifiedDate", new Timestamp(new java.util.Date().getTime()));
delegator.create(genericValue);
}
} else {
out.write("csv Null error");
}
%>
<tr><td><%=((data == null) ? 0 : data.size() )%> <%=ENTITY%> records imported </td></tr>
</table>
<%} else {%>
<%
csvConverter = new CsvConverter(new BufferedReader(new FileReader(new File( session.getAttribute("userName") + "." + ENTITY + ".txt" ))));
String heads[] = (String[])csvConverter.getHeader();
Vector fields = entity.getFieldsCopy();
int colCount = ((heads.length > fields.size()) ? heads.length : fields.size());
int minColCount = ((heads.length > fields.size()) ? fields.size() : heads.length);
%>
<tr>
<td colspan="<%=colCount%>">Step 2. Match fields from file to fields in the <%=ENTITY%></td>
</tr>
</table>
<form method="post" action="<ofbiz:url>/contactUpload</ofbiz:url>">
<input type="hidden" name="action" value="upload">
<input type="hidden" name="entity" value="<%=ENTITY%>">
<table>
<tr>
<td>File Field</td><td>Data Field</td>
</tr>
<% HashMap props = new HashMap();
props.put("EMPTY_FIRST", "None Selected");
for(int ix=0;ix<minColCount;ix++) { %>
<tr>
<td><%=heads[ix]%></td> <!-- field -->
<td>
<%=buildFieldDropDown(fields, String.valueOf(ix), props)%>
</td> <!-- drop-down -->
</tr>
<% } %>
<tr>
<td><input type="submit" value="import"></td>
</tr>
</table>
</form>
<% } %>
<%@ include file="/includes/footer.jsp" %>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -