Index: trunk/WEB-INF/src/com/showcase/delegate/ShowCaseDelegate.java =================================================================== diff -u -r234 -r250 --- trunk/WEB-INF/src/com/showcase/delegate/ShowCaseDelegate.java (.../ShowCaseDelegate.java) (revision 234) +++ trunk/WEB-INF/src/com/showcase/delegate/ShowCaseDelegate.java (.../ShowCaseDelegate.java) (revision 250) @@ -103,6 +103,11 @@ custService.setDealerSubmittedToMainframe(event_id, dealer_id, event_code); } + public void assignPlatformRegistrationToDealers(List dealers) throws DAOException { + ShowCaseControllerService custService = new ShowCaseControllerService(); + custService.assignPlatformRegistrationToDealers(dealers); + } + public void updateDealerAttendee(DealerAttendee attendee) throws DAOException { ShowCaseControllerService custService = new ShowCaseControllerService(); custService.updateDealerAttendee(attendee); Index: trunk/WEB-INF/src/com/showcase/dao/DealerAttendeesDAO.java =================================================================== diff -u -r234 -r250 --- trunk/WEB-INF/src/com/showcase/dao/DealerAttendeesDAO.java (.../DealerAttendeesDAO.java) (revision 234) +++ trunk/WEB-INF/src/com/showcase/dao/DealerAttendeesDAO.java (.../DealerAttendeesDAO.java) (revision 250) @@ -26,4 +26,5 @@ public List getDealerEventNoteList(int event_id, String dealer_id) throws DAOException; public boolean getIfDealerSubmittedToMainframe(int event_id, String dealer_id) throws DAOException; public void setDealerSubmittedToMainframe(int event_id, String dealer_id, String event_code) throws DAOException; + public void assignPlatformRegistrationToDealers(List dealers) throws DAOException; } Index: trunk/WEB-INF/src/com/showcase/sql/DealerAttendeesDAOImpl.java =================================================================== diff -u -r249 -r250 --- trunk/WEB-INF/src/com/showcase/sql/DealerAttendeesDAOImpl.java (.../DealerAttendeesDAOImpl.java) (revision 249) +++ trunk/WEB-INF/src/com/showcase/sql/DealerAttendeesDAOImpl.java (.../DealerAttendeesDAOImpl.java) (revision 250) @@ -1,20 +1,5 @@ package com.showcase.sql; -import java.sql.CallableStatement; -import java.sql.Connection; -import java.sql.Date; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import com.showcase.actions.DealerAttendee; import com.showcase.dao.DealerAttendeesDAO; import com.showcase.exception.DAOException; @@ -23,6 +8,14 @@ import com.showcase.model.DealerEventNote; import com.showcase.model.DealerInfo; import com.showcase.util.BaseDAO; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.sql.*; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; @SuppressWarnings("unchecked") public class DealerAttendeesDAOImpl extends BaseDAO implements DealerAttendeesDAO{ @@ -725,9 +718,34 @@ } private void addPlatFormRegistrationPermissionToDealerOnPNW(String dealer_id) throws DAOException { + + List sisterDealers = new ArrayList<>(); + EmailRepsDAOImpl emailRepsDAOImpl = new EmailRepsDAOImpl(); + try { + List megaDealers = megaDealersByDealerId(dealer_id); + if (megaDealers != null && !megaDealers.isEmpty()) { + for (String megaDealer : megaDealers) { + try { + sisterDealers.addAll(emailRepsDAOImpl.getSisterDealerList(megaDealer)); + } catch (DAOException e) { + log.error("Error Retrieving Sister dealers"); + e.printStackTrace(); + } + } + } + } catch (Exception e) { + log.error("Error Retrieving Mega Dealers and Sister dealers"); + } + sisterDealers.add(dealer_id); + assignPlatformRegistrationToDealers(sisterDealers); + } + + public void assignPlatformRegistrationToDealers(List dealers) throws DAOException { + EmailRepsDAOImpl emailRepsDAOImpl = new EmailRepsDAOImpl(); PreparedStatement pstmt = null; Connection con = null; try { + String dealersString = emailRepsDAOImpl.listToString(dealers); con = getPNWDBConnection(); StringBuffer buff = new StringBuffer(); buff.append(" INSERT INTO partsnetweb.dbo.user_functions (function_id, dealer_id, user_id)"); @@ -737,16 +755,14 @@ buff.append(" ON pu.dealer_id = uf.dealer_id "); buff.append(" AND pu.user_id = uf.user_id"); buff.append(" AND uf.function_id = 'platformRegistration'"); - buff.append(" WHERE pu.dealer_id IN ('"); - buff.append(dealer_id); - buff.append("') "); + buff.append(" WHERE pu.dealer_id IN ("); + buff.append(dealersString); + buff.append(") "); buff.append(" AND uf.function_id IS NULL"); - pstmt = con.prepareStatement(buff.toString()); @SuppressWarnings("unused") int i = pstmt.executeUpdate(); - - + log.error("Registered the following dealers to Platform: " + dealersString + " Create Count: " + i); } catch (SQLException sqlE) { log.error("SQLException while giving platformRegistartion permission to all the dealer attended", sqlE); throw new DAOException("SQLException while giving platformRegistartion permission to all the dealer attended" + sqlE.getMessage()); @@ -757,7 +773,42 @@ } } } - + + private List megaDealersByDealerId(String dealer_id) throws DAOException { + PreparedStatement pstmt = null; + ResultSet rs = null; + Connection con = null; + List dealerIds = new ArrayList<>(); + try { + con = getDBConnection(); + StringBuffer buff; + buff = new StringBuffer("SELECT DISTINCT md.mega_dealer_id\n" + + " FROM\n" + + " dealers dl\n" + + " LEFT OUTER JOIN mega_dealers md\n" + + " ON dl.dealer_id = md.dealer_id\n" + + " OR dl.dealer_id = md.mega_dealer_id\n" + + " WHERE dl.dealer_id ='"); + buff.append(dealer_id); + buff.append("'"); + + pstmt = con.prepareStatement(buff.toString()); + rs = pstmt.executeQuery(); + while (rs.next()) { + dealerIds.add(rs.getString("mega_dealer_id")); + } + } catch (SQLException sqlE) { + log.error("SQLException while getting dealer event mainframe submission status", sqlE); + throw new DAOException("SQLException while getting dealer event mainframe submission status " + sqlE.getMessage()); + } finally { + try { + con.close(); + } catch (SQLException sq) { + } + } + return dealerIds; + } + protected DealerAttendee extractDealerAttendeesFromResultSetRoles(ResultSet rs) throws SQLException { DealerAttendee report = new DealerAttendee(); Index: trunk/WEB-INF/src/com/showcase/model/ShowCaseControllerService.java =================================================================== diff -u -r234 -r250 --- trunk/WEB-INF/src/com/showcase/model/ShowCaseControllerService.java (.../ShowCaseControllerService.java) (revision 234) +++ trunk/WEB-INF/src/com/showcase/model/ShowCaseControllerService.java (.../ShowCaseControllerService.java) (revision 250) @@ -110,6 +110,12 @@ dao.setDealerSubmittedToMainframe(event_id, dealer_id, event_code); } + public void assignPlatformRegistrationToDealers(List dealers) throws DAOException{ + DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.SQL); + DealerAttendeesDAO dao = daoFactory.getDealerAttendeesDAO(); + dao.assignPlatformRegistrationToDealers(dealers); + } + public void updateDealerAttendee(DealerAttendee attendee) throws DAOException{ DAOFactory daoFactory =DAOFactory.getDAOFactory(DAOFactory.SQL); DealerAttendeesDAO dao = daoFactory.getDealerAttendeesDAO(); Index: trunk/WEB-INF/src/com/showcase/actions/EditShowCaseAction.java =================================================================== diff -u -r208 -r250 --- trunk/WEB-INF/src/com/showcase/actions/EditShowCaseAction.java (.../EditShowCaseAction.java) (revision 208) +++ trunk/WEB-INF/src/com/showcase/actions/EditShowCaseAction.java (.../PlatformRegistrationAction.java) (revision 250) @@ -1,81 +1,28 @@ package com.showcase.actions; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.showcase.delegate.ShowCaseDelegate; +import com.showcase.util.ShowCaseBaseAction; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.DynaActionForm; -import com.showcase.delegate.ShowCaseDelegate; -import com.showcase.model.ShowCaseDetailObject; -import com.showcase.util.ShowCaseBaseAction; -import com.showcase.util.StatusUtil; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; -public class EditShowCaseAction extends ShowCaseBaseAction { +public class PlatformRegistrationAction extends ShowCaseBaseAction { - /** - * Executes the proper method based on showcase_cmd request parameter. - */ - int event_id; ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - String attendanceRegistrationForward = null; - StatusUtil statusUtil = new StatusUtil(); - ShowCaseDetailObject showCaseDetailObject = new ShowCaseDetailObject(); - - - if (request.getParameter("selected") != null && request.getParameter("selected").equals("edit_showcase")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - return mapping.findForward("updateshowcase"); - + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { + DynaActionForm platForm = (DynaActionForm) form; + String dealerString = platForm.get("dealerList").toString(); + if (!dealerString.trim().equals("")) { + List dealers = Arrays.asList(dealerString.split(",")); + showCaseDelegate.assignPlatformRegistrationToDealers(dealers); } - if (request.getParameter("selected") != null && request.getParameter("selected").equals("att_registration")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - showCaseDetailObject = showCaseDelegate.getShowCaseInfo(event_id); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - //return mapping.findForward("attendanceregistration"); - attendanceRegistrationForward = statusUtil.getAttendanceRegistrationForward(showCaseDetailObject); - return mapping.findForward(attendanceRegistrationForward); - } - - if (request.getParameter("selected") != null && request.getParameter("selected").equals("sum_report")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - request.setAttribute("sumrep", showCaseDelegate.getSummaryReport(event_id)); - return mapping.findForward("summaryreport"); - } - if (request.getParameter("selected") != null && request.getParameter("selected").equals("com_report")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - request.setAttribute("sumrep", showCaseDelegate.getSummaryReport(event_id)); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - request.setAttribute("reports", showCaseDelegate.getCompleteReport(event_id)); - request.setAttribute("showtotals", showCaseDelegate.getShowTotals(event_id, null)); - return mapping.findForward("completereport"); - } - if (request.getParameter("selected") != null && request.getParameter("selected").equals("perrep_report")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - request.setAttribute("perRepReport", showCaseDelegate.getPerRepReport(event_id)); - request.setAttribute("perRepRadiusReport", showCaseDelegate.getPerRepRadiusReport(event_id)); - return mapping.findForward("perrepreport"); - } - if (request.getParameter("selected") != null && request.getParameter("selected").equals("fin_showcase")) { - int event_id = Integer.parseInt(request.getParameter("event_id")); - ShowCaseDelegate showCaseDelegate = new ShowCaseDelegate(); - request.setAttribute("showcaseinfo", showCaseDelegate.getShowCaseInfo(event_id)); - request.setAttribute("showtotals", showCaseDelegate.getSummaryReport(event_id)); - return mapping.findForward("finalizeshowcase"); - } - return mapping.findForward("summaryreport"); + return mapping.findForward("platformregistration"); } - - //private void setEventType } Index: trunk/WEB-INF/struts-showcase.xml =================================================================== diff -u -r214 -r250 --- trunk/WEB-INF/struts-showcase.xml (.../struts-showcase.xml) (revision 214) +++ trunk/WEB-INF/struts-showcase.xml (.../struts-showcase.xml) (revision 250) @@ -19,6 +19,9 @@ + + + @@ -153,9 +156,18 @@ - - + + + + + + -<%@include file="/common/header.jsp"%> - +<%@include file="/common/header.jsp" %> - - - - - -
- - - - - - - - - - - -
Edit ShowcaseAttendance RegistrationSummary ReportComplete Reportper Rep ReportFinalize Showcase
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - - - - - - - - -
- Dealer Search
- -
- Ticket ID: - - - Dealership Name: - - - Dealership ID: - - - Zip Code: - - - -
-
- -
- - - ALL DEALERS - - - - ATTENDEES SIGNED UP - - - - - - -
IDNAME - DEALER ID - DEALER NAME - 2nd - 1st - ATTENDEE -
- - - <%@include file="/ver3/dealerSearch.jsp"%> - - - - <%@include file="/ver3/allAttendeesSignedUp.jsp"%> - - -
- + + +
+ + +
+ +
+ + \ No newline at end of file Index: trunk/WEB-INF/src/com/showcase/sql/EmailRepsDAOImpl.java =================================================================== diff -u -r208 -r250 --- trunk/WEB-INF/src/com/showcase/sql/EmailRepsDAOImpl.java (.../EmailRepsDAOImpl.java) (revision 208) +++ trunk/WEB-INF/src/com/showcase/sql/EmailRepsDAOImpl.java (.../EmailRepsDAOImpl.java) (revision 250) @@ -973,7 +973,7 @@ } - private String listToString(List theList){ + public String listToString(List theList){ StringBuffer buff = new StringBuffer(); if (theList.size() > 0){ Index: trunk/WEB-INF/tiles-showcase.xml =================================================================== diff -u -r208 -r250 --- trunk/WEB-INF/tiles-showcase.xml (.../tiles-showcase.xml) (revision 208) +++ trunk/WEB-INF/tiles-showcase.xml (.../tiles-showcase.xml) (revision 250) @@ -168,4 +168,8 @@ + + + + \ No newline at end of file