592 lines
15 KiB
Plaintext
592 lines
15 KiB
Plaintext
<!--settleAPPayment.jsp-->
|
|
|
|
<%@ page import="org.posterita.Constants" %>
|
|
<%@ page import="org.posterita.user.*" %>
|
|
<%@ page import="org.posterita.beans.*" %>
|
|
<%@ page import="org.posterita.struts.pos.CreditOrderAction" %>
|
|
<%@ page import="org.compiere.process.DocumentEngine" %>
|
|
<%@ page import="java.util.Iterator" %>
|
|
<%@ page import="java.util.ArrayList" %>
|
|
<%@ page import="org.posterita.core.UDIPair" %>
|
|
|
|
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
|
|
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
|
|
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
|
|
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
|
<%@ taglib uri="/WEB-INF/pos.tld" prefix="pos" %>
|
|
|
|
<logic:notPresent name="<%=WebUserInfo.NAME%>" scope="session">
|
|
<jsp:forward page="/LoginHome.do"/>
|
|
</logic:notPresent>
|
|
|
|
<bean:define id="title"><pos:message key="smenu.settle.payment.credit.purchases" textOnly="true"/></bean:define>
|
|
<%@ include file="/jsp/include/posHeader.jsp" %>
|
|
|
|
|
|
<html:form action="/GetBpartnerPaymentStatus">
|
|
<html:hidden property="action" value="<%=CreditOrderAction.GET_CREDITOR_PAYMENT_STATUS%>"/>
|
|
<table>
|
|
<tr>
|
|
<td valign="top" width="400px">
|
|
<fieldset>
|
|
<legend><pos:message key="vendor.info" textOnly="true"/></legend>
|
|
<div>
|
|
<div>
|
|
<label><pos:message key="vendor.id" textOnly="true"/></label>
|
|
</div>
|
|
<html:text property="bpartnerId" styleClass="text" accesskey="i" styleId="bpartnerId"/>
|
|
<div>
|
|
<label><pos:message key="search.vendor" textOnly="true"/></label>
|
|
</div>
|
|
|
|
<%@ include file="/jsp/include/searchVendorPanel.jsp" %>
|
|
<div class="space"></div>
|
|
<html:text property="partnerName" readonly="true" styleClass="text"/>
|
|
<div class="space"></div>
|
|
</div>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</html:form>
|
|
<table>
|
|
<tr>
|
|
<td class="red" >
|
|
UnPaid
|
|
</td>
|
|
<td class="yellow" >
|
|
Partially Paid
|
|
</td>
|
|
<td class="green" >
|
|
Paid
|
|
</td>
|
|
<td class="blue" >
|
|
Over Paid
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
<table class="main">
|
|
<%--
|
|
<tr>
|
|
<td colspan="3" align="right">
|
|
<label>Customer:</label>
|
|
|
|
<html:select property="bpartnerId" onchange="submit()" styleClass="text">
|
|
<html:options collection="<%= Constants.BUSINESSPARTNER %>" property="bpartnerId" labelProperty="partnerName"/>
|
|
</html:select>
|
|
</td>
|
|
</tr>
|
|
--%>
|
|
<html:form action="/MatchAPInvoiceAction">
|
|
<html:hidden property="action" value="<%=CreditOrderAction.MATCH_INVOICE%>"/>
|
|
<logic:present name="<%=Constants.OPEN_ITEMS%>">
|
|
<tr>
|
|
<th align="left">
|
|
<b><pos:message key="open.invoices" textOnly="true"/></b>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<table border="1" class="display">
|
|
<tr>
|
|
<th>
|
|
Pay
|
|
</th>
|
|
<th>
|
|
<pos:message key="invoice.no" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="order.no" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="Date1" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="PaymentTerm" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="DaysDue" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="DueDate" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="C_Currency_ID" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="discount.amt" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="GrandTotal" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PaidAmt" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="OpenAmt" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
|
|
</th>
|
|
</tr>
|
|
<logic:iterate indexId="count" id="element" name="<%=Constants.OPEN_ITEMS%>" type="org.posterita.beans.OpenItemBean">
|
|
<tr>
|
|
<%
|
|
String styleClass = "";
|
|
%>
|
|
<logic:equal name="element" property="allocationStatus" value="<%=Constants.PAID%>">
|
|
<%
|
|
styleClass = "green";
|
|
%>
|
|
</logic:equal>
|
|
|
|
<logic:equal name="element" property="allocationStatus" value="<%=Constants.UNPAID%>">
|
|
<%
|
|
styleClass = "red";
|
|
%>
|
|
</logic:equal>
|
|
|
|
<logic:equal name="element" property="allocationStatus" value="<%=Constants.PARTIALLY_PAID%>">
|
|
|
|
<%
|
|
styleClass = "yellow";
|
|
%>
|
|
|
|
</logic:equal>
|
|
|
|
|
|
|
|
<logic:equal name="element" property="allocationStatus" value="<%=Constants.OVER_PAID%>">
|
|
|
|
<%
|
|
styleClass = "blue";
|
|
%>
|
|
|
|
</logic:equal>
|
|
<logic:lessThan name="element" property="openAmt" value="0">
|
|
<%
|
|
styleClass = "blue";
|
|
%>
|
|
</logic:lessThan>
|
|
<td class=<%=styleClass%> >
|
|
<logic:notEqual name="element" property="allocationStatus" value="<%=Constants.PAID%>">
|
|
|
|
<logic:greaterThan name="element" property="openAmt" value="0">
|
|
<html:link href="<%="InitCreatePaymentAction.do?action=initCreatePayment&invoiceId=" + element.getInvoiceId()+
|
|
"&invoiceNo="+element.getInvoiceNo()+"&invoiceGrandTotal="+element.getInvoiceGrandTotal()+
|
|
"&paidAmt="+element.getPaidAmt()+"&openAmt="+element.getOpenAmt()+
|
|
"&discountAmt="+element.getDiscountAmt()%>">
|
|
Pay
|
|
|
|
</html:link>
|
|
</logic:greaterThan>
|
|
</logic:notEqual>
|
|
</td>
|
|
|
|
<td class=<%=styleClass%> >
|
|
<html:link href="<%="ViewInvoiceAction.do?action=viewOrder&documentId=" + element.getInvoiceId() %>">
|
|
<bean:write name="element" property="invoiceNo"/>
|
|
</html:link>
|
|
</td>
|
|
|
|
<td class=<%=styleClass%> >
|
|
<html:link href="<%="ViewPOSOrderAction.do?action=viewPOSOrders&orderId=" + element.getOrderId() %>">
|
|
<bean:write name="element" property="documentNo"/>
|
|
</html:link>
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="invoiceDate"/>
|
|
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="paymentTermName"/>
|
|
|
|
</td>
|
|
<td class=<%=styleClass%>>
|
|
<bean:write name="element" property="daysDue"/>
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="dueDate"/>
|
|
</td>
|
|
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="currencySymbole"/>
|
|
</td>
|
|
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="discountAmt"/>
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="invoiceGrandTotal"/>
|
|
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
|
|
<html:link href="<%="ViewPaymentAllocationAction.do?action=getAllocationDetailsForPartner&invoiceNo=" + element.getInvoiceNo()%>">
|
|
<bean:write name="element" property="paidAmt"/>
|
|
</html:link>
|
|
</td>
|
|
|
|
<td class=<%=styleClass%> >
|
|
<bean:write name="element" property="openAmt"/>
|
|
<input type="hidden" name="openAmt" value="<bean:write name='element' property='openAmt'/>">
|
|
</td>
|
|
<td class=<%=styleClass%> >
|
|
|
|
<html:multibox property="invoiceIds" value="<%=element.getInvoiceId().toString()%>">
|
|
</html:multibox>
|
|
<html:hidden property="bpartnerId" value="<%=element.getBpartnerId().toString()%>"/>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
</logic:iterate>
|
|
|
|
<td colspan="10" align="right">
|
|
<html:submit onclick="this.form.action.value='getMultipleInvoicesForPayment';" property="paybtn">
|
|
Pay
|
|
</html:submit>
|
|
<td>
|
|
|
|
<td align="right">
|
|
<html:submit onclick="this.form.action.value='matchInvoice';">
|
|
Match
|
|
</html:submit>
|
|
<td>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
|
|
</logic:present>
|
|
|
|
|
|
<logic:present name="<%=Constants.UNALLOCATED_PAYMENTS%>">
|
|
|
|
<tr>
|
|
<th align="left">
|
|
<b><pos:message key="unallocated.payments" textOnly="true"/></b>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<table border="1" class="display">
|
|
<tr>
|
|
|
|
<th>
|
|
<pos:message key="C_Payment_Id" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="DateTrx" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="TenderType" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="payAmt" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="OverUnderPayment" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="allocatedAmt" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="availableAmt" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
|
|
</th>
|
|
|
|
</tr>
|
|
<logic:iterate indexId="count" id="element" name="<%=Constants.UNALLOCATED_PAYMENTS%>" type="org.posterita.beans.OpenItemBean">
|
|
<tr>
|
|
<td>
|
|
<html:link href="<%="ViewWebstorePaymentAction.do?action=viewOrder&documentId=" + element.getPaymentId() %>">
|
|
<bean:write name="element" property="paymentId"/>
|
|
</html:link>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="trxDate"/>
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="tenderType"/>
|
|
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="paymentAmt"/>
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="overUnderPayment"/>
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="paymentAllocatedAmt"/>
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="availableAmt"/>
|
|
</td>
|
|
|
|
|
|
|
|
<td>
|
|
<html:multibox property="paymentIds" value="<%=element.getPaymentId().toString()%>">
|
|
</html:multibox>
|
|
</td>
|
|
</tr>
|
|
</logic:iterate>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</logic:present>
|
|
</html:form>
|
|
<logic:present name="<%=Constants.AGING_ITEMS%>">
|
|
<tr>
|
|
<th align="left">
|
|
<b><pos:message key="aging" textOnly="true"/></b>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<table border="1" class="display">
|
|
|
|
<th>
|
|
<pos:message key="InvoicedAmt" textOnly="true"/>
|
|
</th>
|
|
<th>
|
|
<pos:message key="OpenAmt" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue91_Plus" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue61_90" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue31_60" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue1_30" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue8_30" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDue1_7" textOnly="true"/>
|
|
</th>
|
|
|
|
<th>
|
|
<pos:message key="PastDueAmt" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
|
|
<tr>
|
|
<logic:iterate indexId="count" id="element" name="<%=Constants.AGING_ITEMS%>" type="org.posterita.beans.AgingBean">
|
|
<tr>
|
|
|
|
<td>
|
|
<bean:write name="element" property="invoicedAmt"/>
|
|
</td>
|
|
<td>
|
|
<bean:write name="element" property="openAmt"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue91_plus"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue61_90"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue31_60"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue1_30"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue8_30"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDue1_7"/>
|
|
</td>
|
|
|
|
<td>
|
|
<bean:write name="element" property="pastDueAmt"/>
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
</logic:iterate>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</logic:present>
|
|
|
|
|
|
|
|
<logic:present name="<%=Constants.AGING_ITEMS%>">
|
|
<tr>
|
|
<td>
|
|
<table border="1" class="display">
|
|
|
|
|
|
|
|
<th>
|
|
<pos:message key="DueAmt" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due0" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due1_7" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due8_30" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due0_30" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due31_60" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due61_90" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<th>
|
|
<pos:message key="Due91_PLUS" textOnly="true"/>
|
|
</th>
|
|
|
|
|
|
<tr>
|
|
<logic:iterate indexId="count" id="element" name="<%=Constants.AGING_ITEMS%>" type="org.posterita.beans.AgingBean">
|
|
<tr>
|
|
|
|
<td>
|
|
<bean:write name="element" property="dueAmt"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due0"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due1_7"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due8_30"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due0_30"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due31_60"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due61_90"/>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<bean:write name="element" property="due91_PLUS"/>
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
</logic:iterate>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</logic:present>
|
|
|
|
|
|
|
|
<%@ include file="/jsp/include/errors.jsp" %>
|
|
|
|
</table>
|
|
<%@ include file="/jsp/include/posFooter.jsp" %>
|
|
<script>
|
|
var chks = document.getElementsByName('invoiceIds');
|
|
var amts = document.getElementsByName('openAmt');
|
|
var payBtn = $FElement('paybtn');
|
|
var negativeCount = 0;
|
|
|
|
|
|
function init(){
|
|
for(var i=0; i<amts.length; i++){
|
|
chks[i].index = i;
|
|
chks[i].onclick = function(){
|
|
if(amts[this.index].value < 0){
|
|
if(this.checked){
|
|
negativeCount++;
|
|
}
|
|
else{
|
|
negativeCount--;
|
|
}//if
|
|
}//if
|
|
|
|
payBtn.disabled = (negativeCount != 0);
|
|
};
|
|
}//for
|
|
|
|
|
|
$('bpartnerId').onkeyup = function(e){
|
|
if(e.keyCode == Event.KEY_RETURN)
|
|
{
|
|
document.forms[0].submit();
|
|
}
|
|
};
|
|
|
|
}
|
|
|
|
try{init();}catch(e){toConsole(e);};
|
|
</script> |