Commit 17ba14f7 authored by dpawar's avatar dpawar

Added new functionality of scheme


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@94515 ce508802-f39f-4f6c-b175-0d175dae99d5
parent cc99c22d
......@@ -32,8 +32,6 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sun.jmx.snmp.Timestamp;
@Stateless
public class PODProcess extends ProcessEJB implements PODProcessLocal,PODProcessRemote
{
......@@ -41,11 +39,12 @@ public class PODProcess extends ProcessEJB implements PODProcessLocal,PODProcess
Map<String,Double> partialInvoiceMapG = new HashMap <String,Double>();
Map <String,Double>partialInvMap=new HashMap<String,Double>();
int invdoneCnt=0;
boolean isError=false;
//in that map only partial invoice id,line_no_trace added with actual qty less partial qty
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
{
System.out.println("enter in process()");
System.out.println("POD Process...........................123");
String retStr = "";
Document detailDom = null;
Document headerDom = null;
......@@ -85,6 +84,7 @@ public String process() throws RemoteException,ITMException
public String process(Document dom, Document dom2, String windowName, String xtraParams) throws RemoteException,ITMException
{
isError=false;
System.out.println("enter in process(dom) ");
ArrayList <String>inv45dayList=new ArrayList<String>();
ArrayList<String> podProcessInvIDList=new ArrayList<String>();
......@@ -228,6 +228,8 @@ public String process(Document dom, Document dom2, String windowName, String xtr
pstmt.close();
pstmt=null;
System.out.println("Size of arrayList inv45dayList----->>["+inv45dayList.size()+"]");
inv45dayList.add("618ID00050");
inv45dayList.add("618ID00044");
if(inv45dayList.size() > 0){
System.out.println("Data found for process---------------");
/*podProcessInvIDList=getDoneInvoiceIdHDR( conn, inv45dayList);
......@@ -299,9 +301,30 @@ public String process(Document dom, Document dom2, String windowName, String xtr
}
//podProcessInvIDList.clear();
System.out.println("miscDrCrInvList size-->>["+miscDrCrInvList.size()+"]");
System.out.println("partialInvoiceMapG size-->>["+partialInvoiceMapG.size()+"]");
if(miscDrCrInvList.size() > 0){
podProcessInvIDList.addAll(miscDrCrInvList);
}else{
}else if(partialInvoiceMapG.size() > 0){
System.out.println("only partial inv id found.........");
errorString=actualQtyPODProcessPartial(conn);
System.out.println("errorString1234--->>["+errorString+"]");
if("PERROR".equalsIgnoreCase(errorString)){
errCode="VTPRCNCP"; //Process failed
errorString = itmdbAccess.getErrorString("", errCode, "", "", conn);
conn.rollback();
return errorString;
}
else if(errorString.indexOf("CONFSUCCES") > -1){
conn.commit();
errCode="VTPRCCSF";
errorString = itmdbAccess.getErrorString("", errCode, "", "", conn);
return errorString;
}else{
conn.rollback();
return errorString;
}
}
else {
errCode="VTDNFIN"; //Data not found
errorString = itmdbAccess.getErrorString("", errCode, "", "", conn);
return errorString;
......@@ -309,6 +332,7 @@ public String process(Document dom, Document dom2, String windowName, String xtr
System.out.println("Final invoice Id ready for debit note12---->>["+podProcessInvIDList+"]");
......@@ -372,6 +396,7 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
String partialError="";
String sql="",lotNo="",lotSl="",itemCode="",itemCodeOrd="",itemActive="",detail2xmlString="",errString="";
String custCode="",currCode="",partial="N",QtyInvTrace="",scheme="N",errCode="",sreturnTranID="",sql1="";
double invRate=0,invQty=0,discount=0,priceListRate=0,detail3Amt=0,detail3AmtT=0,debitNoteAmtDetail=0;
double debitNoteAmtHdr=0,ExchRate=0,actualRate=0,chargQty=0,freeQty=0,netPTS=0,sreturnQuantity=0,partialQty=0;
int lineNotrace=0,lineNo=0,noOfInvoicePrc=0,totalInvoice=0;
......@@ -450,22 +475,9 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
}
System.out.println("Sales return------>>["+sreturnQuantity+"]");
invQty=invQty-sreturnQuantity;
}
partial="N";
scheme="N";
/*if(pod.isPartialyInvoiceChk(conn, invoiceId,"PRC")){
System.out.println("@#@#partial condition found for invoice id----->>["+invoiceId+"]");
System.out.println("Actual inv qty in inv trace---->>["+invQty+"]");
System.out.println("inv. qty done in POD screen---->>["+pod.partialQty+"]");
invQty = invQty - pod.partialQty;
partial="Y";
partialMap.put(invoiceId+","+itemCode, scheme);
System.out.println("Actual inv qty---->>["+invQty+"]");
}*/
}
//partialQty=actualQtyPODProcessPartial(conn,invoiceId,itemCode,lineNotrace);
//System.out.println("partial qty---->>["+partialQty+"]");
//partialMap.put(invoiceId+","+itemCode, partial);
//Check if item code Active or not."N" or null then return error message.
itemActive=pod.getColumnDescr(conn,"active","item","item_code",itemCode);
......@@ -510,7 +522,7 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
}
else if(schemeQty.get("success") == 1){
scheme="Y";
schemeMap.put(invoiceId+","+itemCode, scheme);
//schemeMap.put(invoiceId+","+itemCode, scheme);
chargQty=schemeQty.get("charge_qty");
freeQty=schemeQty.get("free_qty");
......@@ -534,7 +546,8 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
}
}else{
System.out.println("-------Scheme not apply -----------");
schemeMap.put(invoiceId+","+itemCode, scheme);
//schemeMap.put(invoiceId+","+itemCode, scheme);
scheme="N";
actualRate=priceListRate - invRate;
System.out.println("actualRate-------->>["+actualRate+"]");
if(actualRate <= 0){
......@@ -575,33 +588,35 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
System.out.println("Error String on DB Confirmation: "+errString);
if((errString != null ) && errString.indexOf("CONFSUCCES") > -1)
{
int cnt=insertDataInPodTrace(conn1, invoiceId, podC.xmlStringAll, schemeMap, partialMap,"Y");
int cnt =insertDataInPodTrace(invoiceId, podC.xmlStringAll, scheme, "N","Y");
noOfInvoicePrc++;
if(noOfInvoicePrc==totalInvoice){
invdoneCnt=1;
/*errCode="VTPRCCSF";
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
return errString; */
}
if(cnt > 0){
conn1.commit();
}
//conn.commit();------------commited when partial invoice end
}
if(cnt < 0){
errCode="VTPRCNCP"; //Process failed
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
conn.rollback();
return errString;
}
}else{
conn.rollback();
int cnt=insertDataInPodTrace(conn1, invoiceId, podC.xmlStringAll, schemeMap, partialMap,"N");
if(cnt > 1)
conn1.commit();
int cnt =insertDataInPodTrace( invoiceId, podC.xmlStringAll, scheme, "N","N");
if(cnt > 0)
conn1.commit();
errString=newErrorMessage(errString, invoiceId);
return errString;
return errString;
}
}else{
conn.rollback();
int cnt=insertDataInPodTrace(conn1, invoiceId, podC.xmlStringAll, schemeMap, partialMap,"N");
if(cnt > 1)
conn1.commit();
int cnt=insertDataInPodTrace(invoiceId, podC.xmlStringAll, scheme, "N","N");
if(cnt > 0)
conn1.commit();
errString=newErrorMessage(errString, invoiceId);
return errString;
}
......@@ -621,16 +636,35 @@ private String generateDebitNote(Connection conn,ArrayList<String> podProcessInv
conn.rollback();
return errString;
}
if(errString.length() > 0){
errString =actualQtyPODProcessPartial(conn); //partialInvoiceMapV
System.out.println("Returing STring from actualQtyPODProcessPartial-->>["+errString+"]");
System.out.println("invdoneCnt-->>["+invdoneCnt+"]");
if(invdoneCnt==1){
System.out.println("Before calling actualQtyPODProcessPartial errString--->>["+errString+"]");
System.out.println("partialinvoiceMapG--->>["+partialInvoiceMapG+"]");
if(partialInvoiceMapG.size() > 0){
errString =actualQtyPODProcessPartial(conn); //partialInvoiceMapVf
System.out.println("Returing STring from actualQtyPODProcessPartial-->>["+errString+"]");
if("PERROR".equalsIgnoreCase(errString)){
errCode="VTPRCNCP"; //Process failed
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
conn.rollback();
return errString;
}
else if(errString.indexOf("CONFSUCCES") > -1){
conn.commit();
errCode="VTPRCCSF";
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
return errString;
return errString;
}else{
conn.rollback();
return errString;
}
}
System.out.println("partial map null...............................");
if((errString != null ) && errString.indexOf("CONFSUCCES") > -1)
{
conn.commit();
errCode="VTPRCCSF";
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
return errString;
}
}catch(Exception e)
......@@ -870,15 +904,15 @@ private ArrayList<String> getDoneInvoiceIdHDR(Connection conn,ArrayList<String>
}
private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
{
String sql="",custCodeBil="",stateCode="",countCode="",schemeCode="",applyCustList="",
noApplyCustList="";
String sql="",sql1="",custCodeBil="",stateCode="",countCode="",schemeCode="",applyCustList="",
noApplyCustList="",schemeOrderType="",varValue="";
schemeCodeG="";
multipleScheme="NOTFOUND";
ResultSet rsL=null;
PreparedStatement pstmtL=null;
ResultSet rsL=null,rs1=null;
PreparedStatement pstmtL=null,pstmt1=null;
int countL=0;
ProofOfDelivery podObject=null;
boolean schemeApply=false;
boolean schemeApply=false,checkBom=false;
ArrayList <String> schemeCodeList =new ArrayList <String>();
try{
/*sql="select count(*) from bomdet where item_code= ? and eff_from <= sysdate and "
......@@ -945,6 +979,7 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
System.out.println("schemeCodeList size---->>["+schemeCodeList.size()+"]");
System.out.println("noApplyCustList---->>["+noApplyCustList+"]");
System.out.println("applyCustList---->>["+applyCustList+"]");
if(schemeCodeList.size() == 0){
return false;
}
......@@ -967,9 +1002,13 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
If match found then scheme will be applicable */
else if(schemeCodeList.size() == 1){
schemeOrderType=podObject.getColumnDescr(conn, "order_type", "scheme_applicability", "scheme_code", schemeCodeList.get(0));
schemeOrderType=schemeOrderType==null ? "" : schemeOrderType.trim();
System.out.println("schemeOrderType-------->>["+schemeOrderType+"]");
if(noApplyCustList.length() == 0 && applyCustList.length() ==0){
if(noApplyCustList.length() == 0 && applyCustList.length() == 0 && schemeOrderType.length() == 0){
schemeApply=true;
checkBom=true;
}
if(noApplyCustList.length() > 0){ //if no apply customer list not null then checked
String [] custList=noApplyCustList.split(",");
......@@ -978,7 +1017,7 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
System.out.println("Customer in noApplyCustList --->>["+custList[i]+"]");
if(custCodeBil.equalsIgnoreCase(custList[i].trim()))
{
System.out.println("scheme not apply111--->>["+custList[i]+"]");
System.out.println("scheme not apply111--->>["+custList[i]+"]");
return false;
}
}
......@@ -990,7 +1029,7 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
System.out.println("Customer in applyCustList --->>["+custList[i]+"]");
if(custCodeBil.equalsIgnoreCase(custList[i].trim()))
{
System.out.println("scheme apply222--->>["+custList[i]+"]");
System.out.println("scheme apply222--->>["+custList[i]+"]");
schemeApply=true;
}
}
......@@ -999,7 +1038,30 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
}
System.out.println("Scheme apply in isSchemeApply------>>["+schemeApply+"]");
if(schemeApply){
if(schemeApply){
sql1="SELECT VAR_VALUE FROM DISPARM WHERE PRD_CODE = ? AND VAR_NAME = ?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1,"999999");
pstmt1.setString(2,"POD_SCHEME_APPLY");
rs1=pstmt1.executeQuery();
if(rs1.next()){
varValue=rs1.getString(1);
}
System.out.println("var value from diparm----->>["+varValue+"]");
varValue=varValue==null ? "" :varValue.trim();
if(schemeOrderType.length() > 0){
if(schemeOrderType.equalsIgnoreCase(varValue))
checkBom=true;
else{
System.out.println("schemeOrderType and varvalue not same..............");
return false;
}
}
if(checkBom){
int count=0;
sql="select count(*) from bomdet where item_code= ? and bom_code = ?";
pstmtL=conn.prepareStatement(sql);
......@@ -1015,7 +1077,9 @@ private boolean isSchemeApply(Connection conn,String itemCodeL,String invoiceId)
return true;
}else
return false;
}
}
} //end schemeApply
}
catch(Exception e)
......@@ -1081,17 +1145,21 @@ private Map<String,Double> schemeApply(Connection conn,String invoiceID,String i
}
return schemeQtyMap;
}
private int insertDataInPodTrace(Connection conn1,String invID,String xmlDataAll,Map<String,String> schemeMapL,Map<String,String> partialMapL,String success)
private int insertDataInPodTrace(String invID,String xmlDataAll,String scheme,String partialL,String success)
{
Connection conn1=null;
ConnDriver connDriver1 = new ConnDriver();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="",itemCode="",quantity="",rate="",amount="",scheme="",partial="",lineNoS="";
String sql="",itemCode="",quantity="",rate="",amount="",lineNoS="";
int count=0;
long tranID=0;
invID=invID==null ? "" :invID.trim();
try{
//DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
//DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
conn1 = connDriver1.getConnectDB("DriverITM");
if(conn1!=null) {
System.out.println("xmlDataAll---->>[["+xmlDataAll+"]]");
Document doc = new ValidatorEJB ().parseString(xmlDataAll);
doc.getDocumentElement().normalize();
......@@ -1108,8 +1176,10 @@ private int insertDataInPodTrace(Connection conn1,String invID,String xmlDataAll
rate=eElement.getElementsByTagName("rate").item(0).getTextContent();
amount=eElement.getElementsByTagName("amount").item(0).getTextContent();
lineNoS=eElement.getElementsByTagName("line_no").item(0).getTextContent();
scheme=schemeMapL.get(invID+","+itemCode.trim());
partial=partialMapL.get(invID+","+itemCode.trim());
itemCode=itemCode==null ? "" :itemCode.trim();
System.out.println("item code podtrace--->>["+itemCode+"]");
//scheme=schemeMapL.get(invID+","+itemCode);
//partial=partialMapL.get(invID+","+itemCode);
System.out.println("scheme in insert pod trace---->>["+scheme+"]");
......@@ -1139,7 +1209,7 @@ private int insertDataInPodTrace(Connection conn1,String invID,String xmlDataAll
pstmt.setDouble(9, Double.parseDouble(rate));
pstmt.setDouble(10, Double.parseDouble(amount));
pstmt.setString(11, partial);
pstmt.setString(11, partialL);
pstmt.setString(12, scheme);
pstmt.setTimestamp(13, new java.sql.Timestamp(new java.util.Date().getTime()) );
pstmt.setString(14, "BASE");
......@@ -1157,7 +1227,9 @@ private int insertDataInPodTrace(Connection conn1,String invID,String xmlDataAll
} else{
System.out.println("Conn1 is null.............................................%^%^%^%^%^%^%");
}
}
catch(Exception e)
......@@ -1166,6 +1238,18 @@ private int insertDataInPodTrace(Connection conn1,String invID,String xmlDataAll
System.out.println("Exception in insertDataInPodTrace method----");
return -1;
}
finally{
try{
if(conn1!=null){
conn1.close();
conn1=null;
}
}
catch(Exception e){
e.printStackTrace();
}
}
return count;
}
......@@ -1488,7 +1572,7 @@ private String newErrorMessage(String errString,String invid)
}
public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
{
System.out.println("-------for partial invoice id Dr note1233 -----------");
System.out.println("-------in actualQtyPODProcessPartial method-----------");
ResultSet rs=null,rs1=null;
PreparedStatement pstmt=null,pstmt1=null;
String sql="",tranIdL="",sql1="",itemCodeP="";
......@@ -1496,7 +1580,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
ITMDBAccessEJB itmdbAccess1=new ITMDBAccessEJB();
Map<String,Double>partialInvItem=new HashMap();
Map<String,String>partialMap=new HashMap();
ArrayList<String>partialID=new ArrayList();
HashSet<String>partialID=new HashSet();
ArrayList<String>partialItem=new ArrayList();
Map<String,String> invoiceDetailsMap=null;
HashMap<String,String> podTraceMap=new HashMap();
......@@ -1505,7 +1589,8 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
Map<String,Double> schemeQty=null;
String lotNo="",lotSl="",itemCode="",itemCodeOrd="",itemActive="",detail2xmlString="",errString="";
String custCode="",currCode="",partial="N",QtyInvTrace="",scheme="N",errCode="",sreturnTranID="",priceList="";
double invRate=0,invQty=0,discount=0,priceListRate=0,detail3Amt=0,detail3AmtT=0,debitNoteAmtDetail=0;
String itemCodeInvTrace="";
double invRate=0,invQty=0,discount=0,priceListRate=0,detail3Amt=0,detail3AmtT=0,debitNoteAmtDetail=0,invoiceQty=0;
double debitNoteAmtHdr=0,ExchRate=0,actualRate=0,chargQty=0,freeQty=0,netPTS=0,sreturnQuantity=0,partialQty=0;
int lineNotrace=0,lineNo=0,noOfInvoicePrc=0,totalInvoice=0;
ProofOfDelivery pod=ProofOfDelivery.getInstance();
......@@ -1533,38 +1618,40 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
System.out.println("totalInvoice--->>["+totalInvoice+"]");
for (String invIdPartial : partialID)
{
itemCode=partialItem.get(itemCnt)==null ? "" :partialItem.get(itemCnt).trim();
invQty=partialInvoiceMapG.get(invIdPartial+":"+itemCode);
//itemCode=partialItem.get(itemCnt)==null ? "" :partialItem.get(itemCnt).trim();
sql1="select rate,lot_no,lot_sl,discount from invoice_trace "
+ "where invoice_id = ? and item_code = ?";
sql1="select rate,lot_no,lot_sl,discount,item_code,quantity from invoice_trace "
+ "where invoice_id = ?";
pstmt=conn.prepareStatement(sql1);
pstmt.setString(1, invIdPartial);
pstmt.setString(2, itemCode);
//pstmt.setString(2, itemCode);
rs=pstmt.executeQuery();
if(rs.next()){
while(rs.next()){
System.out.println("in invoice trace partial111...............");
invRate=rs.getDouble(1);
lotNo=rs.getString(2);
lotSl=rs.getString(3);
discount=rs.getDouble(4);
}
if(rs!=null){
rs.close();
rs=null;
}
if(pstmt!=null){
pstmt.close();
pstmt=null;
}
itemCodeInvTrace=rs.getString(5);
invoiceQty=rs.getDouble(6);
//Discount need discussion
if(discount > 0)
{
invRate=invRate - (invRate * discount/100);
System.out.println("Discount for invoice id--->>["+invIdPartial+"]"+"inv Rate-->>["+invRate+"]");
}
//check if any sales return
if(partialItem.contains(itemCodeInvTrace.trim())){
invQty=partialInvoiceMapG.get(invIdPartial+":"+itemCodeInvTrace.trim());
System.out.println("Remain111 inv qty--->>["+invQty+"] inv id--->["+invIdPartial+"]");
}else{
System.out.println("in continue.......partial112.........");
continue;
}
//check if any sales return
sreturnTranID=pod.getSalesReturnTranID(conn, "sreturn", "tran_id", "invoice_id", invIdPartial);
sreturnTranID=sreturnTranID==null ? "" : sreturnTranID.trim();
if(sreturnTranID.length() > 0)
......@@ -1573,7 +1660,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
sql1="select item_code,quantity from sreturndet where tran_id = ? and item_code = ? ";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, sreturnTranID);
pstmt1.setString(2, itemCode);
pstmt1.setString(2, itemCodeInvTrace);
rs1=pstmt1.executeQuery();
if(rs1.next()){
......@@ -1588,7 +1675,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
pstmt1=null;
}
}
itemActive=pod.getColumnDescr(conn,"active","item","item_code",itemCode);
itemActive=pod.getColumnDescr(conn,"active","item","item_code",itemCodeInvTrace);
itemActive=itemActive==null ? "" :itemActive.trim();
if(itemActive.equalsIgnoreCase("N") || itemActive.length()<=0)
{
......@@ -1599,7 +1686,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
}
java.util.Date tranDate=new Date();
priceList=podObject.getNameOrDescrForCode(conn, "site", "price_list", "site_code", siteCodeG);
priceListRate=getPriceListRate(priceList, tranDate,itemCode,lotNo,"", conn);
priceListRate=getPriceListRate(priceList, tranDate,itemCodeInvTrace,lotNo,"", conn);
System.out.println("priceListRate----->>["+priceListRate+"]");
if(priceListRate <= 0)
{
......@@ -1609,10 +1696,10 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
return errString;
}
if(isSchemeApply(conn,itemCode,invIdPartial)){
if(isSchemeApply(conn,itemCodeInvTrace,invIdPartial)){
//java code if scheme is apply
System.out.println("-------Scheme is apply -----------");
schemeQty=schemeApply(conn,invIdPartial,itemCode);
schemeQty=schemeApply(conn,invIdPartial,itemCodeInvTrace);
System.out.println("schemeQty map---->>["+schemeQty+"]");
if(schemeQty.size() > 0){
if(schemeQty.get("success") < 0){
......@@ -1623,7 +1710,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
}
else if(schemeQty.get("success") == 1){
scheme="Y";
schemeMap.put(invIdPartial+","+itemCode, scheme);
//schemeMap.put(invIdPartial+","+itemCodeInvTrace, scheme);
chargQty=schemeQty.get("charge_qty");
freeQty=schemeQty.get("free_qty");
......@@ -1634,25 +1721,34 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
detail3Amt= actualRate * invQty;
detail3AmtT=detail3AmtT + detail3Amt;
lineNo++;
detail2xmlString=detail2xmlString + podC.getDetailsXmlString(conn,invIdPartial,lineNotrace,lineNo,actualRate,invQty,lotNo,lotSl,itemCode, detail3Amt);
detail2xmlString=detail2xmlString + podC.getDetailsXmlString(conn,invIdPartial,lineNotrace,lineNo,actualRate,invQty,lotNo,lotSl,itemCodeInvTrace, detail3Amt);
}
}
}else{
System.out.println("-------Scheme not apply -----------");
schemeMap.put(invIdPartial+","+itemCode, scheme);
schemeMap.put(invIdPartial+","+itemCodeInvTrace, scheme);
actualRate=priceListRate - invRate;
detail3Amt= actualRate * invQty;
scheme="N";
System.out.println("invQty-------->>["+invQty+"]");
System.out.println("invRate-------->>["+invRate+"]");
System.out.println("Debit note amount-------->>["+detail3Amt+"]");
System.out.println("Actual rate after deducting inv rate-------->>["+detail3Amt+"]");
detail3AmtT=detail3AmtT + detail3Amt;
lineNo++;
detail2xmlString=detail2xmlString + podC.getDetailsXmlString(conn,invIdPartial,lineNotrace,lineNo,actualRate,invQty,lotNo,lotSl,itemCode, detail3Amt);
detail2xmlString=detail2xmlString + podC.getDetailsXmlString(conn,invIdPartial,lineNotrace,lineNo,actualRate,invQty,lotNo,lotSl,itemCodeInvTrace, detail3Amt);
} //end isSchemeApply
} //end invoice trace while
if(rs!=null){
rs.close();
rs=null;
}
if(pstmt!=null){
pstmt.close();
pstmt=null;
}
System.out.println("Detail2Xml for partial--->>["+detail2xmlString+"]");
......@@ -1672,28 +1768,14 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
System.out.println("Error String on DB Confirmation: "+errString);
if((errString != null ) && errString.indexOf("CONFSUCCES") > -1)
{
int cnt=insertDataInPodTrace(conn1, invIdPartial, podC.xmlStringAll, schemeMap, partialMap,"Y");
int cnt=insertDataInPodTrace(invIdPartial, podC.xmlStringAll, scheme, "Y","Y");
noOfInvoicePrc++;
System.out.println("noOfInvoicePrc-->>["+noOfInvoicePrc+"]");
if(noOfInvoicePrc==totalInvoice){
if(invdoneCnt==1){
errCode="VTPRCCSF";
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
conn.commit();
return errString;
}
}else if(invdoneCnt==1){
System.out.println("invdoneCnt1----true");
errCode="VTPPRCSF";
errString = itmdbAccess1.getErrorString("", errCode, "", "", conn);
conn.commit();
return errString;
}
System.out.println("cnt IN PARTIAL-->>["+cnt+"]");
if(cnt > 0){
conn1.commit();
}
continue; // for next invoice id iterating
/*errCode="VTPRCCSF";
......@@ -1704,7 +1786,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
//return "Success";
}else{
conn.rollback();
int cnt=insertDataInPodTrace(conn1, invIdPartial, podC.xmlStringAll, schemeMap, partialMap,"N");
int cnt=insertDataInPodTrace(invIdPartial, podC.xmlStringAll, scheme, "Y","N");
if(cnt > 1)
conn1.commit();
errString=newErrorMessage(errString, invIdPartial);
......@@ -1712,9 +1794,9 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
}
}else{
conn.rollback();
int cnt=insertDataInPodTrace(conn1, invIdPartial, podC.xmlStringAll, schemeMap, partialMap,"N");
/*int cnt=insertDataInPodTrace(conn1, invIdPartial, podC.xmlStringAll, schemeMap, partialMap,"N");
if(cnt > 1)
conn1.commit();
conn1.commit();*/
errString=newErrorMessage(errString, invIdPartial);
return errString;
}
......@@ -1727,7 +1809,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
return errString;
}
itemCnt++;
//itemCnt++;
} //end for loop for partial
......@@ -1735,6 +1817,7 @@ public String actualQtyPODProcessPartial(Connection conn) //partialInvoiceMap
catch(Exception e)
{
e.printStackTrace();
return "PERROR";
}
System.out.println("Done quantity---->>["+doneQty+"]");
......
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