Commit 91811c59 authored by manohar's avatar manohar

Bug fix - pending quantity in itemchange of resale quantity edit mode considered


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97489 ce508802-f39f-4f6c-b175-0d175dae99d5
parent cd59b43c
......@@ -952,6 +952,24 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
Node parentNode = null;
Node childNode = null,currDetail = null;
int ctr = 0;
// 03/03/15 manoharan taken from inside case
String lineNoTrace = "";
String despachID = "", approveRate = "";
String sql1 = "", invoiceID1 = "", lotNo = "", lotSl = "", itemSerPorm = "", itemCode = "", itemCodeDesc = "", locCode = "";
int invLineNo = 0;
double rate = 0.0, quantity = 0.0, discount = 0.0, pendQty = 0;
HashMap<String, String> domDetail = null;
String rateResale = "", podQty = "", aprvRate = "", invQtyS = "", pendQtyS = "", pendTempS = "";
double rateResaleD = 0.0, podQtyD = 0.0, debitNoteAmt = 0, aprvRateD = 0, invQtyD = 0, pendQtyD = 0, tempQty = 0, pendTempD = 0;
String id1 = "";
String invoiceID = "", siteCode = "", custCode = "", sql = "", siteDescr = "", custName = "";
String confirm = "N", wfStatus = "O", loginSite = "", siteDescr1 = "";
String custName1 = "";
String stkBillDate = "", invoiceDate = "", despLineNo = "";
Timestamp invDateT = null;
int diffDays = 0;
// end 03/03/15 manoharan taken from inside case
try
{
conn = connDriver.getConnectDB("DriverITM");
......@@ -975,7 +993,6 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
if (currentColumn.trim().equalsIgnoreCase("itm_default"))
{
System.out.println("------------in itm_default--------->");
String confirm = "N", wfStatus = "O", loginSite = "", siteDescr1 = "";
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat simpleDateFormatObj = new SimpleDateFormat(genericUtility.getApplDateFormat());
String tranDate = simpleDateFormatObj.format(currentDate.getTime());
......@@ -994,9 +1011,8 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
valueXmlString.append("<site_descr>").append("<![CDATA[" + siteDescr1 + "]]>").append("</site_descr>");
}
if ((currentColumn.trim().equalsIgnoreCase("invoice_id")))
else if ((currentColumn.trim().equalsIgnoreCase("invoice_id")))
{
String invoiceID = "", siteCode = "", custCode = "", sql = "", siteDescr = "", custName = "";
// double amount=0.0,exchRate=0.0;
Map<String, String> invDetailsMap = null;
invoiceID = genericUtility.getColumnValue("invoice_id", dom);
......@@ -1066,7 +1082,6 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
else if (currentColumn.trim().equalsIgnoreCase("site_code"))
{
String siteCode = "", siteDescr1 = "";
siteCode = genericUtility.getColumnValue("site_code", dom);
siteCode = siteCode == null ? "" : siteCode.trim();
System.out.println("siteCode ----->>[" + siteCode + "]");
......@@ -1076,9 +1091,9 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
}
valueXmlString.append("<site_descr>").append("<![CDATA[" + siteDescr1 + "]]>").append("</site_descr>");
} else if (currentColumn.trim().equalsIgnoreCase("cust_code"))
}
else if (currentColumn.trim().equalsIgnoreCase("cust_code"))
{
String custCode = "", custName1 = "";
custCode = genericUtility.getColumnValue("cust_code", dom);
custCode = custCode == null ? "" : custCode.trim();
System.out.println("custCode ----->>[" + custCode + "]");
......@@ -1105,16 +1120,11 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
}
if (currentColumn.trim().equals("line_no__trace"))
{
String lineNoTrace = "";
String despachID = "", approveRate = "";
String sql1 = "", invoiceID1 = "", lotNo = "", lotSl = "", itemSerPorm = "", itemCode = "", itemCodeDesc = "", locCode = "";
int invLineNo = 0;
double rate = 0.0, quantity = 0.0, discount = 0.0, pendQty = 0;
HashMap<String, String> domDetail = new HashMap<String, String>();
domDetail = new HashMap<String, String>();
System.out.println("line_no__trace item change........");
lineNoTrace = checkNull(genericUtility.getColumnValue("line_no__trace", dom));
invoiceID1 = checkNull(genericUtility.getColumnValue("invoice_id", dom1));
String id1 = checkNull(genericUtility.getColumnValue("inv_id", dom));
id1 = checkNull(genericUtility.getColumnValue("inv_id", dom));
System.out.println("line no trace----->[" + lineNoTrace + "]");
System.out.println("invoiceID----->[" + invoiceID1 + "]");
System.out.println("id1----->[" + id1 + "]");
......@@ -1127,7 +1137,7 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
// VALLABH KADAM 23/DES/14
// Change [inv_line_no] to [line_no]
// to get proper data in Pop help
sql1 = "select rate,quantity,lot_no,lot_sl,item_ser__prom,item_code,inv_line_no,desp_id,discount "
sql1 = "select rate,quantity,lot_no,lot_sl,item_ser__prom,item_code,inv_line_no,desp_id,discount, desp_line_no "
+ "from invoice_trace where invoice_id = ? and line_no = ?";
pstmt = conn.prepareStatement(sql1);
pstmt.setString(1, invoiceID1);
......@@ -1144,6 +1154,7 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
invLineNo = rs.getInt(7);
despachID = checkNull(rs.getString(8));
discount = rs.getDouble(9);
despLineNo = rs.getString(10);
}
if (rs != null)
{
......@@ -1176,10 +1187,13 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
valueXmlString.append("<item_code>").append("<![CDATA[" + itemCode + "]]>").append("</item_code>");
itemCodeDesc = getNameOrDescrForCode(conn, "item", "descr", "item_code", itemCode);
System.out.println("---------EXECUTE query12--------");
sql1 = "select loc_code from despatchdet where desp_id = ? and item_code = ?";
//sql1 = "select loc_code from despatchdet where desp_id = ? and item_code = ?";
sql1 = "select loc_code from despatchdet where desp_id = ? and line_no = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, despachID);
pstmt1.setString(2, itemCode);
//pstmt1.setString(2, itemCode);
pstmt1.setString(2, despLineNo);
rs1 = pstmt1.executeQuery();
System.out.println("-----query executed12345-----");
if (rs1.next())
......@@ -1205,7 +1219,7 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
domDetail.put("lot_no", lotNo == null ? null : lotNo.trim());
domDetail.put("lot_sl", lotSl == null ? null : lotSl.trim());
domDetail.put("invoice_id", invoiceID1);
domDetail.put("line_no__trace", String.valueOf(invLineNo));
domDetail.put("line_no__trace", lineNoTrace); //String.valueOf(invLineNo));
domDetail.put("item_code", itemCode == null ? "" : itemCode.trim());
domDetail.put("loc_code", locCode);
pendQty = (ProofOfDeliveryDefault.getInstance()).getPendingQty(conn, domDetail);
......@@ -1252,11 +1266,10 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
}
} // end line no trace
if (currentColumn.trim().equals("quantity__resale"))
else if (currentColumn.trim().equals("quantity__resale"))
{
System.out.println("-------item chnage quantity__resale-------------");
String rateResale = "", podQty = "", aprvRate = "", invQtyS = "", pendQtyS = "", pendTempS = "";
double rateResaleD = 0.0, podQtyD = 0.0, debitNoteAmt = 0, aprvRateD = 0, invQtyD = 0, pendQtyD = 0, tempQty = 0, pendTempD = 0;
domDetail = new HashMap<String, String>();
aprvRate = genericUtility.getColumnValue("aprv_rate", dom);
rateResale = genericUtility.getColumnValue("rate__resale", dom);
......@@ -1289,7 +1302,8 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
* pendQtyD=invQtyD - tempQty; //200 -150 =50
*/
if (pendQtyD > 0)
// 03/03/15 manoharan commented old logic of pending quantity and new logic added
/*if (pendQtyD > 0)
{
System.out.println("Pending qty greater than zero..........");
tempQty = invQtyD - pendTempD; // 200 -80 =120
......@@ -1300,10 +1314,104 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
{
System.out.println("Pending qty less than zero..........");
pendQtyD = invQtyD - podQtyD; // 200 -150 =50
}
}*/
System.out.println("pendQty ------>>" + pendQtyD);
lineNoTrace = checkNull(genericUtility.getColumnValue("line_no__trace", dom));
invoiceID1 = checkNull(genericUtility.getColumnValue("invoice_id", dom1));
id1 = checkNull(genericUtility.getColumnValue("inv_id", dom));
if (lineNoTrace.length() > 0 && invoiceID1.length() > 0)
{
// sql1="select rate,quantity,lot_no,lot_sl,item_ser__prom,item_code,inv_line_no,desp_id,discount "
// +
// "from invoice_trace where invoice_id = ? and inv_line_no = ?";
// VALLABH KADAM 23/DES/14
// Change [inv_line_no] to [line_no]
// to get proper data in Pop help DESP_LINE_NO NOT NULL CHAR(3)
sql1 = "select quantity,lot_no,lot_sl,item_code,inv_line_no,desp_id, desp_line_no "
+ "from invoice_trace where invoice_id = ? and line_no = ?";
pstmt = conn.prepareStatement(sql1);
pstmt.setString(1, invoiceID1);
pstmt.setString(2, lineNoTrace);
rs = pstmt.executeQuery();
if (rs.next())
{
quantity = rs.getDouble(1);
lotNo = checkNull(rs.getString(2));
lotSl = checkNull(rs.getString(3));
itemCode = checkNull(rs.getString(4));
invLineNo = rs.getInt(5);
despachID = checkNull(rs.getString(6));
despLineNo = rs.getString(7);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//sql1 = "select loc_code from despatchdet where desp_id = ? and item_code = ?";
sql1 = "select loc_code from despatchdet where desp_id = ? and line_no = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, despachID);
//pstmt1.setString(2, itemCode);
pstmt1.setString(2, despLineNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
locCode = checkNull(rs1.getString(1));
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
domDetail.put("quantity__inv", String.valueOf(quantity));
domDetail.put("lot_no", lotNo == null ? null : lotNo.trim());
domDetail.put("lot_sl", lotSl == null ? null : lotSl.trim());
domDetail.put("invoice_id", invoiceID1);
domDetail.put("line_no__trace", lineNoTrace);//String.valueOf(invLineNo));
domDetail.put("item_code", itemCode == null ? "" : itemCode.trim());
domDetail.put("loc_code", locCode);
pendQty = (ProofOfDeliveryDefault.getInstance()).getPendingQty(conn, domDetail);
// 16/02/15 manoharan in edit mode not to consider the old quantity
System.out.println("invoice qty [" + quantity + "] pendQty before ["+ pendQty + "]" );
reSaleQty = 0;
NodeList links = dom.getElementsByTagName( "attribute" );
for( int i = 0; i < links.getLength(); i++ )
{
Element link = (Element) links.item( i );
updateStatus = link.getAttribute( "updateFlag" );
System.out.println( "attribute value = " + updateStatus);
}
if("E".equalsIgnoreCase(editFlag) && "E".equalsIgnoreCase(updateStatus))
{
tranId = checkNull(genericUtility.getColumnValue("tran_id", dom));
if (tranId == null || "null".equals(tranId) || tranId.trim().length() == 0)
{
tranId = "@@@@@@@@@@";
}
lineNo = checkNull(genericUtility.getColumnValue("line_no", dom));
if (lineNo == null || "null".equals(lineNo) || lineNo.trim().length() == 0)
{
lineNo = "0";
}
sql1 = "select quantity__resale from spl_sales_por_det where tran_id = ? and line_no = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, tranId);
pstmt1.setInt(2, Integer.parseInt(lineNo));
rs1 = pstmt1.executeQuery();
System.out.println("-----query executed12345-----");
if (rs1.next())
{
reSaleQty = rs1.getDouble(1);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
pendQty = pendQty + reSaleQty;
}
System.out.println("invoice qty [" + quantity + "] pendQty after ["+ pendQty + "] reSaleQty [" + reSaleQty + "]" );
// end 03/03/15 manoharan
if (rateResaleD > 0.0 && podQtyD > 0.0)
{
debitNoteAmt = (rateResaleD - aprvRateD) * podQtyD;
......@@ -1315,13 +1423,9 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
else
valueXmlString.append("<debit_note_amt>").append("<![CDATA[]]>").append("</debit_note_amt>");
}
if (currentColumn.trim().equals("rate__resale"))
else if (currentColumn.trim().equals("rate__resale"))
{
System.out.println("-------item chnage rate__resale-------------");
String rateResale = "", podQty = "", aprvRate = "";
double rateResaleD = 0.0, rateInvoiceD = 0.0, podQtyD = 0.0;
double debitNoteAmt = 0, aprvRateD = 0;
aprvRate = genericUtility.getColumnValue("aprv_rate", dom);
......@@ -1348,11 +1452,8 @@ public class ProofOfDelivery extends ValidatorEJB implements ProofOfDeliveryLoca
else
valueXmlString.append("<debit_note_amt>").append("<![CDATA[]]>").append("</debit_note_amt>");
}
if (currentColumn.trim().equals("bil_date"))
else if (currentColumn.trim().equals("bil_date"))
{
String sql = "", invoiceID = "", stkBillDate = "", invoiceDate = "";
Timestamp invDateT = null;
int diffDays = 0;
invoiceID = genericUtility.getColumnValue("invoice_id", dom1);
stkBillDate = genericUtility.getColumnValue("bil_date", dom);
invoiceID = invoiceID == null ? "" : invoiceID.trim();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment