Rev 21238 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.server;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.getAttribute("logisticsTransactionId"));System.out.println("PackageDimensions"+request.getAttribute("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();}ProcessShipmentDelay processShipmentDelay = new ProcessShipmentDelay();List<ShipmentDelayDetail> notUpdated = processShipmentDelay.processReport(fileName);response.setContentType("text/html");if (notUpdated == null){response.getWriter().write("Service error.");}else if (notUpdated.size() == 0){response.getWriter().write("All records updated.");}else{response.getWriter().write(notUpdated.size()+" "+"orders not updated.Check with report.");}}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;}}