Rev 21247 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.server;import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;import in.shop2020.model.v1.order.ShipmentDelayDetail;import java.io.File;import java.io.IOException;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Iterator;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileItemFactory;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.google.gwt.core.client.impl.AsyncFragmentLoader.Logger;/*** Servlet to read xls and process it.*/@SuppressWarnings("serial")public class BulkBillingServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponseresponse) throws ServletException, IOException {System.out.println("LogisticsTransactionId"+request.getParameter("logisticsTransactionId"));System.out.println("PackageDimensions"+request.getParameter("packageDimensions"));FileItem uploadItem = getFileItem(request);if (uploadItem == null) {response.getWriter().write("NO-SCRIPT-DATA");return;}String fileName = "/tmp/"+getTimeInMilliseconds()+".xls";File file;try {file = new File(fileName);if(file.exists()){response.getWriter().write("File already exists.");return;}uploadItem.write(file);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}ProcessBulkBilling processBulkBilling = new ProcessBulkBilling(fileName,request.getParameter("logisticsTransactionId")+"",request.getParameter("packageDimensions")+"",in.shop2020.model.v1.inventory.BillingType.valueOf(request.getParameter("billingType")),request.getParameter("username"));String result = "";if (processBulkBilling.processReport()){result = processBulkBilling.checkBillingDetails();}else{result = "Unable to validate uploaded sheet or duplicate serial numbers in sheet.";}response.setContentType("text/html");response.getWriter().write(result);}private long getTimeInMilliseconds(){Calendar cal=GregorianCalendar.getInstance();return cal.getTimeInMillis();}private FileItem getFileItem(HttpServletRequest request){FileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);try {List items = upload.parseRequest(request);Iterator it = items.iterator();while (it.hasNext()) {FileItem item = (FileItem) it.next();if (!item.isFormField() && "file".equals(item.getFieldName())){return item;}}} catch (FileUploadException e){return null;}return null;}}