📄 leadupload.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.*" %>
<%@ page import="com.sourcetap.sfa.ui.*"%>
<%@ page import="com.sourcetap.sfa.event.*"%>
<%@ include file="/includes/header.jsp" %>
<jsp:useBean id="leadEventProcessor" class="com.sourcetap.sfa.lead.LeadEventProcessor" scope="application" />
<jsp:useBean id="leadImportEventProcessor" class="com.sourcetap.sfa.event.GenericImportEventProcessor" scope="application" />
<%
String screen = "LEAD";
String screenSection = "LeadHeader";
CsvConverter csvConverter = null;
String action = "";
action = (request.getParameter("action") == null ? "" : request.getParameter("action"));
String fileName = session.getAttribute("userName") + "." + screen + "." + screenSection + ".txt";
if(!action.equals("upload")){
try{
MultipartRequest parser = new MultipartRequest(new PrintWriter(System.out), request.getContentType(), request.getContentLength(), request.getInputStream(), MultipartRequest.MAX_READ_BYTES);
screen = parser.getURLParameter("screen");
screenSection = parser.getURLParameter("screenSection");
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(fileName);
}
}
} catch (Exception e) { e.printStackTrace();
}
}
ModelEntity entity = delegator.getModelEntity("Lead");
%>
<table width="100%" class="viewManyHeader" cellspacing="0" cellpadding="2"><tr><td>Import Leads</td></tr></table>
<table width="100%" class="viewOneHeader">
<% if(action.equals("upload")) { %>
<table>
<%
screen = request.getParameter("screen");
screenSection = request.getParameter("screenSection");
if(csvConverter == null){
File file = new File(fileName);
if(file.exists()){
csvConverter = new CsvConverter(new BufferedReader(new FileReader(file)));
file.delete();
}
else
{
out.write("cant find file: " + fileName);
}
}
ArrayList data = null;
if(csvConverter != null){
String headers[] = csvConverter.getHeader();
data = csvConverter.getData();
GenericValue genericValue = null;
UIWebScreenSection uiWebScreenSection = leadImportEventProcessor.getUiWebScreenSection(userInfo, "LEAD", "LeadHeader", delegator, uiCache);
List fields = uiWebScreenSection.getDisplayFields(uiCache);
Enumeration params = null;
String dataValues[] = null;
int numImportFields = Integer.valueOf( request.getParameter("numFields") ).intValue();
Vector importFields = new Vector();
for ( int i=0;i<numImportFields;i++)
{
String fieldName = request.getParameter("importField" + i );
importFields.add(fieldName);
}
for(int ix=0;ix<data.size();ix++){
dataValues = (String[])data.get(ix);
Vector dataV = new Vector();
int numValues = dataValues.length;
for (int j=0; j < numValues; j++ )
dataV.add(dataValues[j]);
DataMatrix dataMatrix = new DataMatrix(delegator, uiWebScreenSection.getEntityParamVector());
leadImportEventProcessor.processInsert( userInfo, uiWebScreenSection, request, response, delegator, leadEventProcessor, dataMatrix, dataV, importFields, uiCache);
}
} else {
out.write("csv Null error");
}
%>
<tr><td><%=((data == null) ? 0 : data.size() )%> Lead records imported </td></tr>
</table>
<%} else {%>
<%
csvConverter = new CsvConverter(new BufferedReader(new FileReader(new File( fileName ))));
String heads[] = (String[])csvConverter.getHeader();
UIWebScreenSection uiWebScreenSection = new UIWebScreenSection(userInfo, "LEAD", "LeadHeader", delegator, uiCache);
List fields = uiWebScreenSection.getDisplayFields(uiCache);
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 Lead</td>
</tr>
</table>
<form method="post" action="<ofbiz:url>/leadUpload</ofbiz:url>" target=importWizard>
<input type="hidden" name="action" value="upload">
<input type="hidden" name="screen" value="<%=screen%>">
<input type="hidden" name="screenSection" value="<%=screenSection%>">
<input type="hidden" name="numFields" value="<%=minColCount%>">
<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>
<%=buildUIFieldDropDown(screenSection, fields, "importField" + 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 + -