Index: trunk/WEB-INF/src/com/showcase/actions/PostShowSummaryReportAction.java =================================================================== diff -u -r218 -r245 --- trunk/WEB-INF/src/com/showcase/actions/PostShowSummaryReportAction.java (.../PostShowSummaryReportAction.java) (revision 218) +++ trunk/WEB-INF/src/com/showcase/actions/PostShowSummaryReportAction.java (.../PostShowSummaryReportAction.java) (revision 245) @@ -22,137 +22,138 @@ import com.showcase.util.StatusUtil; public class PostShowSummaryReportAction extends ShowCaseBaseAction { - public static final Logger logger = Logger.getLogger(PostShowSummaryReportAction.class); + public static final Logger logger = Logger.getLogger(PostShowSummaryReportAction.class); - @SuppressWarnings("unchecked") - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + @SuppressWarnings("unchecked") + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - String postShowForward = ""; - String eventCode = ""; - String repId= null; - String invitedDealerId = null; - String megaDealerId = null; - - StatusUtil statusUtil = new StatusUtil(); - - AllAttendeesObject[] allAttendeesObjectArray = null; - - List allAttendeesList = new ArrayList(); - List tempAttendeesList = new ArrayList(); - List sisterAttendeesList = new ArrayList(); - List sisterDealerList = new ArrayList(); - List allAttendeesSignedUpList = new ArrayList(); - List megaDealersProcessedList = new ArrayList(); - - AllAttendeesObject allAttendeesObject = new AllAttendeesObject(); - - ShowCaseDetailObject showCaseDetailObject = new ShowCaseDetailObject(); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - List specialEvents = showCaseDelegate.getSpecialEvents(); - - // start with the Event Id - int eventId = Integer.parseInt(request.getParameter("event_id")); - request.setAttribute("showcaselist", showCaseDelegate.getShowCaseList()); - // get the showcase details from the event id - showCaseDetailObject = showCaseDelegate.getShowCaseInfo(eventId); - // get the eventcode from the showcase details - eventCode = showCaseDetailObject.getEventCode(); - - allAttendeesObjectArray = showCaseDelegate.getAllAttendeesSignedUpList(eventId); - if (allAttendeesObjectArray != null) { - allAttendeesList = new ArrayList( Arrays.asList( allAttendeesObjectArray) ); - logger.info("allAttendeesList.size=>"+allAttendeesList.size()); - } - - // Iterate over all the attendees to see if their dealer has a mega-dealer. - // If they are a member of a mega-dealership, - // then test if we have already added these sister stores to the tempAttendeesList. - // If we have not processed sister stores for this megadealer yet, - // then find their sister stores. - - for (ListIterator iterAttendeesList = allAttendeesList.listIterator(); iterAttendeesList.hasNext();) { - allAttendeesObject = (AllAttendeesObject) iterAttendeesList.next(); - //rebuild attendees list into tempAttendeesList in order to add sister sites after attending attendee - tempAttendeesList.add(allAttendeesObject); - megaDealerId = allAttendeesObject.getMegaDealerId(); //might be null - invitedDealerId = allAttendeesObject.getDealerId(); // should never be null - //logger.info("Attendee ID=>"+allAttendeesObject.getAttendeeId()); - if (allAttendeesObject.getCheckIn().equalsIgnoreCase("Y") && - (megaDealerId != null) && (megaDealerId.length() >0) && - (! megaDealersProcessedList.contains(megaDealerId))&& - (invitedDealerId != null) && (invitedDealerId.length()>0)) { - logger.info("Checked In=>"+allAttendeesObject.getCheckIn()); - // get list of sister sites - sisterDealerList = showCaseDelegate.getSisterDealerList(megaDealerId); - megaDealersProcessedList.add(megaDealerId); - // merge lists together - if (sisterDealerList.size()>0){ - tempAttendeesList = seekSisterSites(invitedDealerId, tempAttendeesList, sisterDealerList); - } - } - } - - request.setAttribute("showattendees", tempAttendeesList); - - postShowForward = statusUtil.getPostShowForward(showCaseDetailObject, specialEvents, eventCode); - return mapping.findForward(postShowForward); - } - //private AllAttendeesObject getAllAttendeesObject( List sisterDealerList){ - private List seekSisterSites(String invitedDealerId, List tempAttendeesList, List sisterDealerList){ - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - AllAttendeesObject allAttendeesObject = new AllAttendeesObject(); - List repList = new ArrayList(); - Rep rep = new Rep(); - String repId = null; - String codedDealerId = null; - String megaDealerId = null; - DealerInfo dealerInfo = new DealerInfo(); - DealerInfo sisterDealerInfo = new DealerInfo(); - for (ListIterator iterSisterDealerList = sisterDealerList.listIterator(); iterSisterDealerList.hasNext();) { - codedDealerId = (String) iterSisterDealerList.next(); - allAttendeesObject = new AllAttendeesObject(); - if ((codedDealerId != null)&& (!(codedDealerId.equalsIgnoreCase(invitedDealerId)))){ - logger.info("codedDealerId=>"+codedDealerId+" invitedDealerId=>"+invitedDealerId); - try{ - // dealer - dealerInfo = showCaseDelegate.getDealerInfo(codedDealerId); - allAttendeesObject.setDealerId(codedDealerId); - logger.info("Dealer Id=>"+codedDealerId); - allAttendeesObject.setGivenDealerName(dealerInfo.getGivenDealerName()); - allAttendeesObject.setAddress1(dealerInfo.getAddress1()); - logger.info("Address 1=>"+dealerInfo.getAddress1()); - allAttendeesObject.setAddress2(dealerInfo.getAddress2()); - logger.info("Address 2=>"+dealerInfo.getAddress2()); - allAttendeesObject.setCity(dealerInfo.getCity()); - allAttendeesObject.setState(dealerInfo.getState()); - allAttendeesObject.setZipCode(dealerInfo.getZipCode()); - allAttendeesObject.setSalesman(dealerInfo.getSalesman()); - logger.info("Salesman=>"+dealerInfo.getSalesman()); - allAttendeesObject.setDealerLevel( dealerInfo.getLevel()); - logger.info("DealerLevel=>"+dealerInfo.getLevel()); - - // rep - repId = showCaseDelegate.getRepByDealer(codedDealerId); - rep = showCaseDelegate.getRepInfo(repId); - allAttendeesObject.setRegionCode(rep.getRegionCode()); - logger.info("Region Code=>"+rep.getRegionCode()); - - // megaDealer - megaDealerId = showCaseDelegate.getMegaDealerByDealer(codedDealerId); - allAttendeesObject.setMegaDealerId(megaDealerId); - - }catch (Exception e){ - logger.info("dealerInfo Exception ",e); - } - - //attendee - allAttendeesObject.setAttendeeName("N/A"); - allAttendeesObject.setRole("SisterSite"); - - tempAttendeesList.add(allAttendeesObject); - }//End if - } - - return tempAttendeesList; - } + String postShowForward = ""; + String eventCode = ""; + String repId = null; + String invitedDealerId = null; + String megaDealerId = null; + + StatusUtil statusUtil = new StatusUtil(); + + AllAttendeesObject[] allAttendeesObjectArray = null; + + List allAttendeesList = new ArrayList(); + List tempAttendeesList = new ArrayList(); + List sisterAttendeesList = new ArrayList(); + List sisterDealerList = new ArrayList(); + List allAttendeesSignedUpList = new ArrayList(); + List megaDealersProcessedList = new ArrayList(); + + AllAttendeesObject allAttendeesObject = new AllAttendeesObject(); + + ShowCaseDetailObject showCaseDetailObject = new ShowCaseDetailObject(); + ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); + List specialEvents = showCaseDelegate.getSpecialEvents(); + + // start with the Event Id + int eventId = Integer.parseInt(request.getParameter("event_id")); + request.setAttribute("showcaselist", showCaseDelegate.getShowCaseList()); + // get the showcase details from the event id + showCaseDetailObject = showCaseDelegate.getShowCaseInfo(eventId); + // get the eventcode from the showcase details + eventCode = showCaseDetailObject.getEventCode(); + + allAttendeesObjectArray = showCaseDelegate.getAllAttendeesSignedUpList(eventId); + if (allAttendeesObjectArray != null) { + allAttendeesList = new ArrayList(Arrays.asList(allAttendeesObjectArray)); + logger.info("allAttendeesList.size=>" + allAttendeesList.size()); + } + + // Iterate over all the attendees to see if their dealer has a mega-dealer. + // If they are a member of a mega-dealership, + // then test if we have already added these sister stores to the tempAttendeesList. + // If we have not processed sister stores for this megadealer yet, + // then find their sister stores. + + for (ListIterator iterAttendeesList = allAttendeesList.listIterator(); iterAttendeesList.hasNext(); ) { + allAttendeesObject = (AllAttendeesObject) iterAttendeesList.next(); + //rebuild attendees list into tempAttendeesList in order to add sister sites after attending attendee + tempAttendeesList.add(allAttendeesObject); + megaDealerId = allAttendeesObject.getMegaDealerId(); //might be null + invitedDealerId = allAttendeesObject.getDealerId(); // should never be null + //logger.info("Attendee ID=>"+allAttendeesObject.getAttendeeId()); + if ((allAttendeesObject.getCheckIn().equalsIgnoreCase("Y") || allAttendeesObject.getCheckIn2ndDay().equalsIgnoreCase("Y")) && + (megaDealerId != null) && (megaDealerId.length() > 0) && + (!megaDealersProcessedList.contains(megaDealerId)) && + (invitedDealerId != null) && (invitedDealerId.length() > 0)) { + logger.info("Checked In=>" + allAttendeesObject.getCheckIn()); + // get list of sister sites + sisterDealerList = showCaseDelegate.getSisterDealerList(megaDealerId); + megaDealersProcessedList.add(megaDealerId); + // merge lists together + if (sisterDealerList.size() > 0) { + tempAttendeesList = seekSisterSites(invitedDealerId, tempAttendeesList, sisterDealerList); + } + } + } + + request.setAttribute("showattendees", tempAttendeesList); + + postShowForward = statusUtil.getPostShowForward(showCaseDetailObject, specialEvents, eventCode); + return mapping.findForward(postShowForward); + } + + //private AllAttendeesObject getAllAttendeesObject( List sisterDealerList){ + private List seekSisterSites(String invitedDealerId, List tempAttendeesList, List sisterDealerList) { + ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); + AllAttendeesObject allAttendeesObject = new AllAttendeesObject(); + List repList = new ArrayList(); + Rep rep = new Rep(); + String repId = null; + String codedDealerId = null; + String megaDealerId = null; + DealerInfo dealerInfo = new DealerInfo(); + DealerInfo sisterDealerInfo = new DealerInfo(); + for (ListIterator iterSisterDealerList = sisterDealerList.listIterator(); iterSisterDealerList.hasNext(); ) { + codedDealerId = (String) iterSisterDealerList.next(); + allAttendeesObject = new AllAttendeesObject(); + if ((codedDealerId != null) && (!(codedDealerId.equalsIgnoreCase(invitedDealerId)))) { + logger.info("codedDealerId=>" + codedDealerId + " invitedDealerId=>" + invitedDealerId); + try { + // dealer + dealerInfo = showCaseDelegate.getDealerInfo(codedDealerId); + allAttendeesObject.setDealerId(codedDealerId); + logger.info("Dealer Id=>" + codedDealerId); + allAttendeesObject.setGivenDealerName(dealerInfo.getGivenDealerName()); + allAttendeesObject.setAddress1(dealerInfo.getAddress1()); + logger.info("Address 1=>" + dealerInfo.getAddress1()); + allAttendeesObject.setAddress2(dealerInfo.getAddress2()); + logger.info("Address 2=>" + dealerInfo.getAddress2()); + allAttendeesObject.setCity(dealerInfo.getCity()); + allAttendeesObject.setState(dealerInfo.getState()); + allAttendeesObject.setZipCode(dealerInfo.getZipCode()); + allAttendeesObject.setSalesman(dealerInfo.getSalesman()); + logger.info("Salesman=>" + dealerInfo.getSalesman()); + allAttendeesObject.setDealerLevel(dealerInfo.getLevel()); + logger.info("DealerLevel=>" + dealerInfo.getLevel()); + + // rep + repId = showCaseDelegate.getRepByDealer(codedDealerId); + rep = showCaseDelegate.getRepInfo(repId); + allAttendeesObject.setRegionCode(rep.getRegionCode()); + logger.info("Region Code=>" + rep.getRegionCode()); + + // megaDealer + megaDealerId = showCaseDelegate.getMegaDealerByDealer(codedDealerId); + allAttendeesObject.setMegaDealerId(megaDealerId); + + } catch (Exception e) { + logger.info("dealerInfo Exception ", e); + } + + //attendee + allAttendeesObject.setAttendeeName("N/A"); + allAttendeesObject.setRole("SisterSite"); + + tempAttendeesList.add(allAttendeesObject); + }//End if + } + + return tempAttendeesList; + } }