%@ include file="../common/header.html" %>
<%@ page import="com.hypertechsolutions.ipm.utils.*,com.hypertechsolutions.ipm.custmgmt.*,java.util.*,com.hypertechsolutions.ipm.application.*"%>
<%@ page import="com.hypertechsolutions.ipm.productdefn.entities.*"%>
<%@ include file="../custmgmt/custmgmt_utils.jsp" %>
<%
UserController userController = sessionInfo.getUserController();
CustomerController custController = sessionInfo.getCustomerController();
// Creation Date:
// Author : Hypertech Solutions
String messageText = "";
String custId = request.getParameter("Customer_Id")==null?"":request.getParameter("Customer_Id");
String iataClia = request.getParameter("IATA_CLIA_NUMBER")==null?"":request.getParameter("IATA_CLIA_NUMBER");
String oldIataClia = request.getParameter("OLD_IATA")==null?"":request.getParameter("OLD_IATA");
String agencyName = request.getParameter("AGENCY_NAME")==null?"":request.getParameter("AGENCY_NAME");
String agencyNetworkName = request.getParameter("AGENCY_NETWORK_NAME")==null?"":request.getParameter("AGENCY_NETWORK_NAME");
String address1 = request.getParameter("ADDRESS1")==null?"":request.getParameter("ADDRESS1");
String address2 = request.getParameter("ADDRESS2")==null?"":request.getParameter("ADDRESS2");
String city = request.getParameter("CITY")==null?"":request.getParameter("CITY");
String state = request.getParameter("STATE")==null?"":request.getParameter("STATE");
String zip = request.getParameter("ZIP")==null?"":request.getParameter("ZIP");
String country = request.getParameter("COUNTRY")==null?"USA":request.getParameter("COUNTRY");
String busPhone = request.getParameter("BUS_PHONE")==null?"":request.getParameter("BUS_PHONE");
String email = request.getParameter("EMAIL")==null?"":request.getParameter("EMAIL");
String salesZone = request.getParameter("SALES_ZONE")==null?"0":request.getParameter("SALES_ZONE");
String commission = request.getParameter("COMMISSION")==null?"":request.getParameter("COMMISSION");
String commissionStructure = request.getParameter("COMM_STRUCT_CODE")==null?"":request.getParameter("COMM_STRUCT_CODE");
String faxNumber = request.getParameter("FAX_NUMBER")==null?"":request.getParameter("FAX_NUMBER");
String salutation = request.getParameter("SALUTATION")==null?"":request.getParameter("SALUTATION");
String firstName = request.getParameter("FIRST_NAME")==null?"":request.getParameter("FIRST_NAME");
String lastName = request.getParameter("LAST_NAME")==null?"":request.getParameter("LAST_NAME");
/* added by anirudh prabhudesai 08/nov/2005*/
String customerLevel = request.getParameter("CUSTOMER_LEVEL")==null?"":request.getParameter("CUSTOMER_LEVEL");
/* added by anirudh prabhudesai 08/nov/2005*/
String creditLimit = request.getParameter("agency_credit_limit")==null?"":request.getParameter("agency_credit_limit");
String backOfficeId = request.getParameter("BACK_OFFICE_ID")==null?"":request.getParameter("BACK_OFFICE_ID");
Money ZERO = new Money(0);
String process = request.getParameter("PROCESS")==null?"0":request.getParameter("PROCESS");
boolean isAdmin = sessionInfo.getUser().getIsAdministrator();
boolean status = false;
String focus = null;
String salesZoneWord = sessionInfo.translatePhrase("Area Code");
if(request.getParameter("status")!=null)
{
if((request.getParameter("status")).equals("true"))
{
status = true;
}
}
try
{
if(process.equals("1"))
{
validator.reset();
if(!validator.isNonBlank(agencyName,"Agency Name","Please enter Agency Name.") && focus == null)
focus="AGENCY_NAME";
if(!validator.isNonBlank(address1, "Address 1", "Please enter Address 1.") && focus == null)
focus="ADDRESS1";
if(!validator.isNonBlank(city,"City","Please enter City.") && focus == null)
focus="CITY";
if(!validator.isNonBlank(state,"State/ Province","Please enter State/Province.") && focus == null)
focus="STATE";
if(!validator.isNonBlank(zip,"Zip","Please enter Zip Code.") && focus == null)
focus="ZIP";
if(!validator.isNonBlank(country ,"Country","Please enter Country.") && focus == null)
focus="COUNTRY";
if(!validator.isNonBlank(busPhone,"Phone","Please enter Phone.") && focus == null)
focus="BUS_PHONE";
if (email.length() != 0 && !validator.isValidEmailAddress(email, "Email", "Invalid Email.") && focus == null)
focus = "EMAIL";
String salesZoneMsg = "Invalid "+ salesZoneWord +" entry . " ;
if(!validator.isUnsignedNumber(salesZone,"Sales Zone",salesZoneMsg))
focus="SALES_ZONE";
else if(!isValidSalesZone(sessionInfo.getContentManager() , salesZone))
{
validator.addError(salesZoneMsg);
if(focus == null) focus ="SALES_ZONE";
}
if(!validator.isUnsignedNumber(commission,"Commission","Invalid Commission %.") && focus == null)
focus = "COMMISSION";
Money moneyCreditLimit = Money.parseMoney(creditLimit); // may be null
if (creditLimit.length() != 0) {
if (moneyCreditLimit == null || moneyCreditLimit.doubleValue() < 0 || moneyCreditLimit.doubleValue() > 999999) {
validator.addError("Invalid Credit Limit.");
if (focus == null)
focus = "agency_credit_limit";
}
}
if(!oldIataClia.equals(iataClia)) {
Customers cust = userController.checkTravelAgency(iataClia);
if( cust != null) {
validator.addError("The IATA number specified already exists. Please try again.");
if (focus != null)
focus="IATA_CLIA_NUMBER";
}
}
if ( (commissionStructure != null) && (commissionStructure.length() !=0) ) {
CommStructCollection commStructCollection = new CommStructCollection(sessionInfo.getContentManager(),
"COMM_STRUCT_CODE='" + commissionStructure.trim().toUpperCase() + "'");
if (commStructCollection.size() == 0) {
validator.addError("The Commission Structure code entered is not valid.");
focus="COMM_STRUCT_CODE";
}
}
if (validator.endValidation())
{
Customers cust = custController.readCustomer(custId);
cust.setCommissionPercentage(Integer.parseInt(commission));
cust.setPrmsFieldsCatchAll(String.valueOf(salesZone));
cust.setAgencyName(agencyName);
cust.setAgencyNetworkName(agencyNetworkName);
cust.setAddress1(address1);
cust.setAddress2(address2);
cust.setCity(city);
cust.setState(state);
cust.setZip(zip);
cust.setCountry(country);
cust.setFirstName(firstName);
cust.setLastName(lastName);
/* added by anirudh prabhudesai 08/nov/2005*/
cust.setCustomerLevel(customerLevel);
/* added by anirudh prabhudesai 08/nov/2005*/
cust.setBussinessPhone(busPhone);
cust.setFaxNumber(faxNumber);
cust.setEmail(email);
cust.setSalutation(salutation);
cust.setIataOrClia(iataClia);
cust.setBackOfficeId(backOfficeId);
cust.setCommStructCode(commissionStructure);
if (moneyCreditLimit != null && moneyCreditLimit.compareTo(ZERO) > 0 )
{
cust.setCreditFlag(true);
cust.setCreditLimitAmountAssigned(moneyCreditLimit);
}
else
{
cust.setCreditFlag(false);
cust.setCreditLimitAmountAssigned(ZERO);
}
if (cust.getCreditLimitUsed() == null)
cust.setCreditLimitUsed(ZERO);
if (cust.getCreditLimitThreshold() == null)
cust.setCreditLimitThreshold(ZERO);
if (cust.getCreditFlag())
cust.setCreditLimitAvailable(cust.getCreditLimitAmountAssigned().subtract(cust.getCreditLimitUsed()));
custController.updateTravelAgency(cust);
sessionInfo.setCustomer(cust);
validator.reset();
validator.addError("Travel Agency Details Updated Successfully.");
validator.endValidation();
}
messageText = validator.getErrorText();
}
else if (process.equals("0"))
{
Customers cust = custController.readCustomer(custId);
sessionInfo.setCustomer(cust);
custId = cust.getCustomerId();
iataClia = cust.getIataOrClia();
agencyName = cust.getAgencyName();
agencyNetworkName = cust.getAgencyNetworkName();
address1 = cust.getAddress1();
address2 = cust.getAddress2();
city = cust.getCity();
state = cust.getState();
zip = cust.getZip();
country = cust.getCountry();
firstName = cust.getFirstName();
lastName = cust.getLastName();
/* added by anirudh prabhudesai 08/nov/2005*/
customerLevel = cust.getCustomerLevel();
/* added by anirudh prabhudesai 08/nov/2005*/
busPhone = cust.getBussinessPhone();
faxNumber = cust.getFaxNumber();
email = cust.getEmail();
salesZone = cust.getPrmsFieldsCatchAll();
salesZone = salesZone.equals("0")?"0": salesZone ;
commission = String.valueOf(cust.getCommissionPercentage());
commissionStructure = cust.getCommStructCode();
salutation = cust.getSalutation();
status = cust.getActiveFlag();
creditLimit = cust.getCreditLimitAmountAssigned().toBigDecimal().toString();
backOfficeId = cust.getBackOfficeId();
country = request.getParameter("COUNTRY")==null?country:request.getParameter("COUNTRY");
}
}
catch(Exception e)
{
validator.addError("The IATA number specified already exists. Please try again.");
validator.endValidation();
messageText = validator.getErrorText();
}
if (focus == null)
focus = "IATA_CLIA_NUMBER";
%>
<%@ include file="../custmgmt/selection.jsp" %>
<%@ include file="../common/footer.html" %>
<% if (focus != null) { %>
<% } %>