⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leadupload.jsp

📁 国外的一套开源CRM
💻 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 + -