restrictedproduct
<p>import java.util.*; //Use of ArrayList
import java.io.*; //Use of InputStreamReader and BufferedReader
import java.util.regex.*; //Use of regular expressions
import java.text.*;</p>
<p>class ProductController
{
OrderController orderControllerOb=new OrderController();</p>
<p> public void initiateReportOnProductsManufactured()
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
OrderUI orderUI=new OrderUI();
ProductUI productUI=new ProductUI();
Order orderOb=null;
ArrayList<Object> orderDetails=new ArrayList<Object>();
int orderId=orderUI.getOrderId();
if(orderId!=-1) //If system error occurs
{
orderOb=CDAManufacturers.searchOrderList(orderId); //Check order id is in the order list
if(orderOb!=null) //If order id is in the order list
{
orderDetails=CDAManufacturers.returnOrderDetails(orderOb); //Fetch order details from the order list
productUI.displayOrderDetails(orderDetails); //Display order details
orderUI.displayMenu(); //clerk's menu is displayed
}
else
{
orderUI.displayErrorMessage("Invalid order ID!!!!");
orderUI.displayMenu(); //clerk's menu is displayed
}
}
else
{
orderUI.displayErrorMessage("Sorry!!! unable to display the order details");
orderUI.displayMenu(); //clerk's menu is displayed
}
}
public void initiateReportOnTaxCollected()
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
OrderUI orderUI=new OrderUI();
Order orderOb=null;
double bill=0.0,salesTax=0.0,octroi=0.0,customsDuty=0.0;
ArrayList<Object> orderDetails=new ArrayList<Object>();
int orderId=orderUI.getOrderId();
if(orderId!=-1) //If system error occurs
{
orderOb=CDAManufacturers.searchOrderList(orderId); //Check order id is in the order list
if(orderOb!=null) //If order id is in the order list
{
orderDetails=CDAManufacturers.returnOrderDetailsForBill(orderOb); //Fetch order details from the order list
bill=CDAManufacturers.calculateBill(orderDetails);
salesTax=0.1*bill;
octroi=0.14*bill;
customsDuty=0.16*bill;
System.out.println("Rs."+salesTax);
System.out.println("Rs."+octroi);
System.out.println("Rs."+customsDuty);
orderUI.displayMenu(); //clerk's menu is displayed
}
else
{
orderUI.displayErrorMessage("Invalid order ID!!!!");
orderUI.displayMenu(); //clerk's menu is displayed
}
}
else
{
orderUI.displayErrorMessage("Sorry!!! unable to display the order details");
orderUI.displayMenu(); //clerk's menu is displayed
}
}</p>
<p>public void initiateReportOnRevenueEarned()
{ <br />
orderControllerOb.initiateViewBills();
}
public void initiateReportOnProductsReturned()
{
}
public void initiateViewSalesOfProducts()
{
ProductUI productUiOb=new ProductUI(); //Create ProductUI
ArrayList<Product> productList=new ArrayList<Product>();
productList=CDAManufacturers.returnSalesOfProducts(); //Returns list of sales of Products
productUiOb.viewProductSalesList(productList); //Displays list of sales of Products
}
}</p>
<p>//---------------------------------------------------------------------------------</p>
<p>class ProductUI
{
private InputStreamReader input=new InputStreamReader(System.in);
private BufferedReader br=new BufferedReader(input);</p>
<p> //Contract: ProductSalesList(List):void
//Displays product id, product name and sales count of the product for given product list
public void viewProductSalesList(ArrayList<Product> productList)
{
System.out.println(" Product\t\t------------Sales-----------");
System.out.println("");
for(Product productOb:productList)
System.out.println(productOb.getProductName()+"\t\t\t\t"+productOb.getProductSalesCount());
displayMenu(); //Display administrator's menu
}</p>
<p> //Contract: displayErrorMessage(String):void
//Displays error message and then the administrator's menu
public void displayErrorMessage(String msg)
{
System.out.println(msg);
displayMenu(); //Display administrator's menu
}</p>
<p> //Contract: displayMenu():void
//Displays administrator's menu
public void displayMenu()
{
try
{
System.out.println("");
System.out.println("Press any key to continue");
br.readLine();
MainClerkSystem mainclerkSystemOb=new MainClerkSystem();
mainclerkSystemOb.initiateClerkView();
}
catch(Exception e)
{
System.err.println("Exception: "+e);
}
} </p>
<p> //Contract: requestProductDetailsConfirmation():String
//Reads the product details and validates them
private String requestProductDetailsConfirmation()
{
String cont="";
boolean flag=false;
try
{
while(flag==false)
{
System.out.println("");
System.out.println("Are you sure you want to add product? (Y/N): ");
cont=br.readLine();
if(cont.equalsIgnoreCase("y")||cont.equalsIgnoreCase("n"))
flag=true;
else
System.out.println("Please enter Y or N...");
}
return(cont);
}
catch(Exception e)
{
//System.err.println("Exception: "+e);
return("n");
}
}</p>
<p> //Contract: notifyProductAdditionSuccess(Object):void
//Prompt product's successfully addition and display its id
public void notifyProductAdditionSuccess(Product productOb)
{
displayMenu();
}</p>
<p> //Contract:displayOrderDetails(List):void
//Displays the order details which is passed as a list
public void displayOrderDetails(ArrayList<Object> orderDetails)
{
System.out.println("");
System.out.println("Date Of Order :\t"+orderDetails.get(3));
int x=((orderDetails.size()-4)/2);
System.out.println("");
System.out.println("Quantity Manufactured \t Products Name");
for(int i=5;i<orderDetails.size()-x;i++)
{
System.out.println("\t"+orderDetails.get(i+x)+"\t\t"+orderDetails.get(i));
}
} <br />
}</p>
<p>//----------------------------------------------------------------------------------------</p>
<p>//Class Product:
//Attributes: int id ; String name ; int quantity ; double price ; int salesCount
//Methods: setProductId(List):void ; getProductId():list ; setProductName(String):void ; getProductName():String
// setProductQuantity(String):void ; getProductQuantity():int ; setProductPrice(double):void
// getProductPrice():double ; setProductSalesCount(int):void ; getProductSalesCount():int
class Product
{
private int id;
private String name;
private int quantity;
private double price;
private int salesCount;</p>
<p> //Contract: setProductId(int):void
//It modifies Product id
public void setProductId(int id)
{
this.id=id;
}</p>
<p> //Contract: getProductId():int
//It returns Product id
public int getProductId()
{
return(id);
}
//Contract: setProductName(String):void
//It modifies product name
public void setProductName(String name)
{
this.name=name;
}</p>
<p> //Contract:getProductName():String
//It returns product name
public String getProductName()
{
return(name);
}</p>
<p> //Contract: setProductQuantity(String):void
//It modifies product name
public void setProductQuantity(int quantity)
{
this.quantity=quantity;
}</p>
<p> //Contract:getProductQuantity():int
//It returns product name
public int getProductQuantity()
{
return(quantity);
}
//Contract: setProductPrice(double):void
//It modifies product price
public void setProductPrice(double price)
{
this.price=price;
}</p>
<p> //Contract:getProductPrice():double
//It returns product price
public double getProductPrice()
{
return(price);
}</p>
<p> //Contract: setProductSalesCount(int):void
//It modifies product sales count
public void setProductSalesCount(int salesCount)
{
this.salesCount=salesCount;
}</p>
<p> //Contract:getProductSalesCount():int
//It returns product sales count
public int getProductSalesCount()
{
return(salesCount);
}
}</p>
View Answers
Related Tutorials/Questions & Answers: