Commit 7d3af9e0 authored by vvengurlekar's avatar vvengurlekar

SorderConf.java- added new method for applying sale order business logic on sale order form


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@198375 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 1ebb8f76
...@@ -3021,4 +3021,235 @@ public class SorderConf extends ActionHandlerEJB implements SorderConfLocal, Sor ...@@ -3021,4 +3021,235 @@ public class SorderConf extends ActionHandlerEJB implements SorderConfLocal, Sor
// TODO Auto-generated method stub // TODO Auto-generated method stub
return 0; return 0;
} }
//Method added by Varsha V to check business logic on SorderFormSplit as per instructed by KB Sir on 08-03-19.--START
public String confSordWithBOChk(String saleOrder, String xtraParams, String forcedFlag,Connection conn)throws RemoteException, ITMException
{
System.out.println(">>>>>>>>>>>>>>>>>>SorderConf confSordWithBOChk called>>>>>>>>>>>>>>>>>>>");
String confirmed = "";
String sql = "";
PreparedStatement pstmt = null,pstmt1=null;
String errString = null;
String custCode="",itemSer="",siteCode="",status="",stopBusiness="",custCodeBil="";
String errCode="",totalAmtStr="";
ResultSet rs = null,rs1=null;
java.sql.Date orderDate = null;
Timestamp dueDate=null;
int cnt = 0,cnt1 = 0, retCtr=0;
Boolean isSaleOrder=false;
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
PostOrderProcess postPrc= new PostOrderProcess();
PostOrdCreditChk postcrdchk= new PostOrdCreditChk();
ArrayList CreditCheckList= new ArrayList();
try
{
if (saleOrder != null && saleOrder.trim().length() > 0)
{
sql = "select cust_code ,cust_code__bil, item_ser , site_code , due_date , tot_amt, confirmed , " +
"(CASE WHEN status IS NULL THEN 'P' ELSE status END) as status , order_date from sorder where sale_order = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, saleOrder);
rs = pstmt.executeQuery();
if (rs.next())
{
isSaleOrder=true;
custCode = rs.getString("cust_code");
custCodeBil = rs.getString("cust_code__bil");
itemSer = rs.getString("item_ser");
siteCode = rs.getString("site_code");
dueDate = rs.getTimestamp("due_date");
totalAmtStr = rs.getString("tot_amt");
confirmed = rs.getString("confirmed");
status = rs.getString("status");
orderDate=rs.getDate("order_date");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(!isSaleOrder)
{
errString = itmDBAccessLocal.getErrorString("", "VTMCONF20", "","",conn);
return errString;
}else if(!"P".equalsIgnoreCase(status))
{
errString = itmDBAccessLocal.getErrorString("", "VTSOSTAT", "Sales order is not in pending status","",conn);
return errString;
}else if ("Y".equalsIgnoreCase(confirmed))
{
errString = itmDBAccessLocal.getErrorString("", "VTSCONF1", "","",conn);
return errString;
}else
{
sql = "select stop_business from customer where cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, custCode);
rs = pstmt.executeQuery();
if (rs.next())
{
stopBusiness = rs.getString("stop_business");
}
System.out.println("confirmed>>>>>>>>" + confirmed);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if("Y".equalsIgnoreCase(stopBusiness))
{
errString = itmDBAccessLocal.getErrorString("", "VTICCW", "Sales Order " + saleOrder + " Not Confirmed,","",conn);
return errString;
}
errCode=finCommon.nfCheckPeriod("SAL", orderDate, siteCode, conn);
if(errCode.trim().length() > 0)
{
errString = itmDBAccessLocal.getErrorString("", errCode, "","",conn);
return errString;
}
sql = "SELECT count(*) as cnt FROM sorddet WHERE sale_order =? AND quantity__stduom ='0'";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
cnt = rs1.getInt(1);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(cnt == 0)
{
sql = "SELECT count(*) AS cnt1 FROM sorddet WHERE sale_order= ? AND quantity='0'";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, saleOrder);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
cnt1 = rs1.getInt(1);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(cnt1 > 0)
{
errString = itmDBAccessLocal.getErrorString("", "'VTSCONF2''", "","",conn);
return errString;
}
HashMap CreditCheckMap = new HashMap();
CreditCheckMap.put("as_cust_code_bil", custCode);
CreditCheckMap.put("as_cust_code_sold_to", custCodeBil);
CreditCheckMap.put("as_item_ser", itemSer);
CreditCheckMap.put("ad_net_amt", totalAmtStr);
CreditCheckMap.put("as_sorder", saleOrder);
CreditCheckMap.put("adt_tran_date", dueDate);
CreditCheckMap.put("as_site_code", siteCode);
CreditCheckMap.put("as_apply_time", "S");
CreditCheckMap.put("as_despid", "");
System.out.println("Credit check custCodeBill["+custCodeBil+"]");
CreditCheckList = postcrdchk.CreditCheck(CreditCheckMap, conn);
if(CreditCheckList.size() > 0)
{
conn.rollback();
retCtr = postPrc.writeBusinessLogicCheck(CreditCheckList, siteCode, "S", conn);
System.out.println("@@@@@@@@@ insert retCtr[" + retCtr + "]errStringList.size()[" + CreditCheckList.size() + "]");
if(retCtr > 0)
{
System.out.println("@@@@@@@@@ errorlist and inserted record missmatch........");
//conn.commit();
}
errString = itmDBAccessLocal.getErrorString("", "VTWBLGCCHK", "","",conn);
System.out.println("@@@@@@@@@@ writeBusinessLogicCheck errString[" + errString + "]");
return errString;
}
errString = retriveSaleOrder(saleOrder, xtraParams, conn);
System.out.println("retriveSaleOrder error code>>>>>" + errString);
if(errString !=null && errString.trim().length() > 0)
{
System.out.println(">>>transaction not confirmaed");
} else
{
String mainStr="";
System.out.println(">>>Successful transaction confirmaed");
errString = itmDBAccessLocal.getErrorString("", "VTCNFSUCC", "","",conn);
System.out.println("errString@@@>>>"+errString);
String begPart = errString.substring( 0, errString.indexOf("<trace>") + 7 );
String endPart = errString.substring( errString.indexOf("</trace>"));
mainStr="Sales order ";
mainStr=begPart+mainStr+saleOrder+" is confirmed . ";
if(mainStr.trim().length()==0)
{
mainStr = begPart;
}
mainStr = mainStr + endPart;
errString = mainStr;
}
}
else
{
errString = itmDBAccessLocal.getErrorString("","VTSCONF3","","",conn);
return errString;
}
}
}
} catch (Exception e)
{
if(conn!=null)
{
try {
conn.rollback();
} catch (SQLException ex) {
e.printStackTrace();
throw new ITMException(e);
}
}
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(errString != null && errString.trim().length() > 0)
{
System.out.println("--going to commit tranaction--");
if(errString.indexOf("VTCNFSUCC") > -1)
{
//conn.commit();
System.out.println("--transaction commited--");
}
else
{
conn.rollback();
System.out.println("--transaction rollback--");
}
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
//Method added by Varsha V to check business logic on SorderFormSplit as per instructed by KB Sir on 08-03-19--END
} }
\ No newline at end of file
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