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