<%@include file="common.jsp"%>
<%@page import="java.util.List"%>
<%@page import="beans.Reorder"%>
<%@page import="business.VendorService"%>
<%@page import="beans.Vendor"%>
<%@page import="business.PurchaseReorderService"%>
<%@page import="beans.PurchaseOrder"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inventory Management System: Purchase Order</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script language="javascript1.2" type="text/javascript" src="js/jq.js"></script>
<script language="javascript1.2" type="text/javascript" src="js/jquery.validate.js"></script>
<script language="javascript1.2" type="text/javascript" src="js/validation.js"></script>
<!-- <script type="text/javascript" src="js/jquery-1.4.2.js"></script> -->
<script type="text/javascript">
$(document).ready(function() {
//called when key is pressed in textbox
$("#units").keypress(function (e)
{
$("#errmsg").hide();
//if the letter is not digit then display error and don't type anything
if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
{
//display error message
$("#errmsg").html(" Digits Only").show();
return false;
}
});
$('#units').blur(function(a) {
if((parseInt($("#units").val(), 10)<1))
{
$("#errmsg").html(" Qty must be greater than 1").show();
}
if((parseInt($("#units").val(), 10)>100))
{
$("#errmsg").html(" Qty must be less than 99").show();
}
});
$("#reorderForm").validate({
messages:{
vendorIdSelect:"",
productCodeSelect:"",
units:""
}
});
});
</script>
<style>
.error {
background-color: #FF9999;
border: 1px dotted #FF0000;
}
</style>
<script type="text/javascript">
function getProductImage(productCode){
document.getElementById("productImage").src="";
document.getElementById("productImage").width=0;
document.getElementById("productImage").height=0;
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="productAction";
url=url+"?action=ajaxcallimage&productCode="+productCode;
xmlHttp.onreadystatechange=stateChangedImage;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChangedImage(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
var showdata = xmlHttp.responseText;
document.getElementById("productImage").src=showdata;
document.getElementById("productImage").width=137;
document.getElementById("productImage").height=140;
}
}
function getProductQty(vendorId){
document.getElementById("productImage").src="";
document.getElementById("productImage").width=0;
document.getElementById("productImage").height=0;
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="productAction";
url=url+"?action=ajaxcall&vendorId="+vendorId;
xmlHttp.onreadystatechange=function(){
stateChanged(vendorId);
};
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged(vendorId){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
var showdata = xmlHttp.responseText;
productCodeSelect.innerHTML = "<option value=''>--Select--</option>"+showdata;
var urlVendorDetail="productAction";
urlVendorDetail=urlVendorDetail+"?action=ajaxcallVendorDetail&vendorId="+vendorId;
xmlHttpVendorDetail=GetXmlHttpObject();
xmlHttpVendorDetail.onreadystatechange=stateChangedVendorDetail;
xmlHttpVendorDetail.open("GET",urlVendorDetail,true);
xmlHttpVendorDetail.send(null);
}
}
function stateChangedVendorDetail(){
if (xmlHttpVendorDetail.readyState==4 || xmlHttpVendorDetail.readyState=="complete"){
var showdata = xmlHttpVendorDetail.responseText;
var msgar = showdata.split(":");
var message="";
if(msgar.length>1){
message += "Vendor Name : "+msgar[0]+"</br>";
message += "Contact No. : "+msgar[1]+"</br>";
message += "Address : "+msgar[2];
}
vendorDetail.innerHTML = message;
}
}
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
//Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
</script>
<script language="javascript" type="text/javascript">
function confirmDelete(delUrl) {
if (confirm("Do you really want to delete this!")) {
window.location = delUrl;
}
}
function confirmDiscard(delUrl) {
if (confirm("Do you really want to discard this order!")) {
window.location = delUrl;
}
}
</script>
</head>
<body>
<!-- it is main container !-->
<div id="wrapper"><!-- header start !-->
<div class="header"><%@include file="header.jsp"%></div>
<!-- header closed !-->
<div id="middle-part">
<table border="0" width="735" class="code" bgcolor="#ECF5F4">
<tr bgcolor="#E5EECC">
<th colspan="3"><h3>Purchase Order</h3></th>
</tr>
<tr>
<td height="180">
<form name="reorderForm" id="reorderForm" action="reorderAction?action=listReorder" method="post">
<table border="0">
<tr>
<td>Vendor</td>
<td>
<%
List vendors = new VendorService().getAllVendors();
%> <select id="vendorIdSelect" name="vendorIdSelect"
class="required" onChange="getProductQty(this.value)"
style="width: 265px">
<option selected value="">--Select--</option>
<%
for (int i = 0; i < vendors.size(); i++) {
Vendor vendor = (Vendor) vendors.get(i);
%>
<option value="<%=vendor.getVendorId()%>"><%=vendor.getVendorName()%></option>
<%
}
%>
</select></td>
</tr>
<tr>
<td>Product</td>
<td>
<div id="productdiv">
<select id="productCodeSelect"
name="productCodeSelect" class="required" onChange="getProductImage(this.value)"
style="width: 265px">
<option value=''>--Select--</option>
</select></div>
</td>
</tr>
<tr>
<td>Units</td>
<td><input type="text" size="40" maxlength="3" id="units" name="units" class="required" value="" /></td>
</tr>
<tr>
<td align="right" colspan="2"><input type="submit"
value="Add To Purchase List" name="reorderaction" class="btn"
onmouseover="this.className='btn btnhov'"
onmouseout="this.className='btn'" /></td>
</tr>
<%
if (session.getAttribute("reorderProductsList") != null) {
%>
<tr>
<td align="right" colspan="2"><input type="button"
value="Discard Purchase Order" class="btn"
onmouseover="this.className='btn btnhov'"
onmouseout="this.className='btn'"
onclick="javascript:confirmDiscard('reorderAction?action=discardPurchase')"/>
</td>
</tr>
<%
}
%>
</table>
</form>
</td>
<td height="180" valign="top">
<div style="width: 200px; height: 40px; padding-top:2px;"; id="vendorDetail"></div><br/>
</td>
<td height="180" valign="top">
<div style="width: 137px; height: 140px;";><img id="productImage" alt=""/></div>
</td>
</tr>
<tr>
<td colspan="3" width="100%">
<%
if (request.getAttribute("purchasestatus") != null) {
String addstatus = (String) request
.getAttribute("purchasestatus");
if (addstatus.equals("success")) {
out
.print("<font color='green'>Product Added Successfully in the purchase list.</font>");
} else if (addstatus.equals("err_vendor")) {
out
.print("<font color='red'>Select the correct vendor for this purchase order. </font>");
} else {
out.print("<font color='red'>Add Product Failed.</font>");
}
}
%>
</td>
</tr>
</table>
<%
if (session.getAttribute("vendorIdPurchaseFrom") != null) {
%>
<table border="0" width="735" class="code" bgcolor="#ECF5F4">
<tr>
<td colspan="5" align="center">
<%
out.println("<font color='green'><b>Purchase Order from Vendor: "
+ new VendorService().getVendorNameById(Long.parseLong((String) session.getAttribute("vendorIdPurchaseFrom")))
+ "</b></font>");
%>
</td>
</tr>
<tr bgcolor="#E5EECC">
<th>Product Code</th>
<th>Units</th>
<th>Unit Price</th>
<th>Total Price</th>
<th>Action</th>
</tr>
<%
List reorderProductsList = (List) session
.getAttribute("reorderProductsList");
if(reorderProductsList.size()>0){
double totalPrice = 0.0;
for (int i = 0; i < reorderProductsList.size(); i++) {
Reorder reorder = (Reorder) reorderProductsList.get(i);
totalPrice += reorder.getTotalprice();
%>
<tr bgcolor="#CFE0FF">
<td align="center"><%=reorder.getProductCode()%></td>
<td align="right"><%=reorder.getUnits()%></td>
<td align="right"><%=reorder.getUnitprice()%></td>
<td align="right"><%=reorder.getTotalprice()%></td>
<td align="right" valign="middle"><a
href="javascript:confirmDelete('reorderAction?action=deleteReorder&pcode=<%=reorder.getProductCode()%>')">
<img src="images/delete.png" alt="" border="0" title="Click to delete">
</a></td>
</tr>
<%
}
%>
<tr>
<td colspan="6" align="right">Total: <%=totalPrice%></td>
</tr>
<tr>
<td colspan="6" align="right"><input type="button"
value="Purchase Products" class="btn"
onmouseover="this.className='btn btnhov'"
onmouseout="this.className='btn'"
onclick="window.location = 'reorderAction?action=purchaseReorder'" />
</td>
</tr>
<%
}
else{
%>
<tr>
<td colspan="5" align="center">No products in the purchase list.</td>
</tr>
<%
}
%>
</table>
<%
}
int noOfProductsToDisplay = 5;
List purchaseOrders = new PurchaseReorderService()
.getNoOfReorders(noOfProductsToDisplay);
%>
<table border="0" width="735" class="code" bgcolor="#ECF5F4">
<tr>
<th colspan="9"><h3>Last <%=noOfProductsToDisplay%> Purchase Orders</h3></th>
</tr>
<tr bgcolor="#E5EECC">
<th>Order No</th>
<th>No of Products</th>
<th>Total Price</th>
<th>Purchase Date</th>
</tr>
<%
for (int i = 0; i < purchaseOrders.size(); i++) {
PurchaseOrder purchaseOrder = (PurchaseOrder) purchaseOrders
.get(i);
%>
<tr bgcolor="#CFE0FF">
<td align="center"><%=purchaseOrder.getOrderNo()%></td>
<td align="center"><%=purchaseOrder.getNoOfProducts()%></td>
<td align="center"><%=purchaseOrder.getTotalPrice()%></td>
<td align="center"><%=purchaseOrder.getPurchase_date()%></td>
</tr>
<%
}
%>
</table>
</div>
<!-- right panel start !-->
<div id="right-panel"><%@include file="rightpanel.jsp"%></div>
<!-- right panel closed !--></div>
<!-- main container closed !-->
</body>
</html>
|