Commit e0c79f5d authored by caluka's avatar caluka

Post order Process issues resolved for QC testing


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103573 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 35b3b581
package ibase.webitm.ejb.dis; package ibase.webitm.ejb.dis;
import java.io.File;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.Date; import java.sql.Date;
...@@ -11,6 +12,9 @@ import java.sql.Timestamp; ...@@ -11,6 +12,9 @@ import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import org.w3c.dom.Document;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -23,14 +27,17 @@ import java.util.Set; ...@@ -23,14 +27,17 @@ import java.util.Set;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon; import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon; import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.CreateRCPXML;
//import ibase.webitm.utility.GenericUtility; //import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import ibase.system.config.AppConnectParm; import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.MasterStatefulLocal;
...@@ -38,9 +45,9 @@ public class PostOrdDespatchGen ...@@ -38,9 +45,9 @@ public class PostOrdDespatchGen
{ {
E12GenericUtility genericUtility=new E12GenericUtility(); E12GenericUtility genericUtility=new E12GenericUtility();
FinCommon finCommon=new FinCommon(); FinCommon finCommon=new FinCommon();
ArrayList<String> sordDisList=new ArrayList<String>();
public String createDespatch(String saleOrderfr, String saleOrderTo,String custCodeFr, String custCodeTo, Timestamp frDate, public String createDespatch(String saleOrderfr, String saleOrderTo,String custCodeFr, String custCodeTo, Timestamp frDate,
Timestamp toDate, String siteCodeShip, Connection conn) throws RemoteException, ITMException, SQLException Timestamp toDate, String siteCodeShip, String clubOrder,String xtraParams,Connection conn) throws RemoteException, ITMException, SQLException
{ {
ibase.utility.UserInfoBean userInfo = new UserInfoBean(); ibase.utility.UserInfoBean userInfo = new UserInfoBean();
System.out.println("CREATING DESPATCH !!!!!!!!!!!!"); System.out.println("CREATING DESPATCH !!!!!!!!!!!!");
...@@ -49,7 +56,7 @@ public class PostOrdDespatchGen ...@@ -49,7 +56,7 @@ public class PostOrdDespatchGen
ibase.utility.E12GenericUtility genericUtility = null; ibase.utility.E12GenericUtility genericUtility = null;
genericUtility = new ibase.utility.E12GenericUtility(); genericUtility = new ibase.utility.E12GenericUtility();
java.util.Date today = new java.util.Date(); java.util.Date today = new java.util.Date();
PreparedStatement pstmt = null, pstmt1 = null,pstmt2=null,pstmt3=null; PreparedStatement pstmt = null, pstmt1 = null,pstmt2=null,pstmt3=null,pstmtdDet=null;
ResultSet rs = null, rs1 = null,rs2=null,rs3=null;; ResultSet rs = null, rs1 = null,rs2=null,rs3=null;;
String saleOrder = "", custCode = "", custCodeDlv = "", custCodeBill = "", itemSer = "", priceList = "", crTerm = ""; String saleOrder = "", custCode = "", custCodeDlv = "", custCodeBill = "", itemSer = "", priceList = "", crTerm = "";
String custName="",custNameDlv="",listType=""; String custName="",custNameDlv="",listType="";
...@@ -66,6 +73,8 @@ public class PostOrdDespatchGen ...@@ -66,6 +73,8 @@ public class PostOrdDespatchGen
Date plDate=null,ordDate=null; Date plDate=null,ordDate=null;
int count = 0; int count = 0;
HashMap splitCodeWiseMap = new HashMap(); HashMap splitCodeWiseMap = new HashMap();
int splitCodeSize=0, generatedDesp=0;
String generatedId="";
HashMap tempMap = null; HashMap tempMap = null;
HashMap tempMapSord = null; HashMap tempMapSord = null;
HashMap sordDetMap=null; HashMap sordDetMap=null;
...@@ -80,7 +89,7 @@ public class PostOrdDespatchGen ...@@ -80,7 +89,7 @@ public class PostOrdDespatchGen
Timestamp despDateTs=null,effDate=null; Timestamp despDateTs=null,effDate=null;
String tranId=""; String tranId="";
int insertCntHdr=0,insertCntDet=0; int insertCntHdr=0,insertCntDet=0;
String xtraParams = null; //String xtraParams = null;
//Details //Details
String errString = ""; String errString = "";
String orderDtStr ="",plDateStr=""; String orderDtStr ="",plDateStr="";
...@@ -93,17 +102,22 @@ public class PostOrdDespatchGen ...@@ -93,17 +102,22 @@ public class PostOrdDespatchGen
String siteCodeMfg="",itemCodeOrd="",lotNo="",lotSl="",siteCde="",unitStd="",unit="",custCodeSal=""; String siteCodeMfg="",itemCodeOrd="",lotNo="",lotSl="",siteCde="",unitStd="",unit="",custCodeSal="";
double mZero=0,allocQty=0,qtyOrduom=0,mrate=0,discMerge=0,plistDisc=0,rateStdum=0; double mZero=0,allocQty=0,qtyOrduom=0,mrate=0,discMerge=0,plistDisc=0,rateStdum=0;
int cnt=0,lineNum=0; int cnt=0,lineNum=0;
boolean lbCheck=false; boolean lbCheck=false,isDetailExist=false;
Date expDate=null,mfgDate=null; Date expDate=null,mfgDate=null;
double quantityStd=0,qtyAllocStd=0,convQtyStduom=0,costRate=0,noArt=0,confDiffAmt=0; double quantityStd=0,qtyAllocStd=0,convQtyStduom=0,costRate=0,noArt=0,confDiffAmt=0;
double rate=0,rateClg=0,qtyDesp=0,pendingQty=0,shipperQty=0,intQty=0,convRtuomStduom=0,rateStduom=0,rateStd=0; double rate=0,rateClg=0,qtyDesp=0,pendingQty=0,shipperQty=0,intQty=0,convRtuomStduom=0,rateStduom=0,rateStd=0;
String taxClass="",taxChap="",taxEnv="",packCode="",custItemRef="",unitRateSord="",unitSord=""; String taxClass="",taxChap="",taxEnv="",packCode="",custItemRef="",unitRateSord="",unitSord="";
String postUpto="",confDespOnPost="";
DistCommon distCommon=new DistCommon(); DistCommon distCommon=new DistCommon();
Connection connCP=null;
InitialContext ctx = null;
int[] insCnt = null;
try { try {
System.out.println("process starts---------"); System.out.println("process starts---------");
itmDBAccessEJB = new ITMDBAccessEJB(); itmDBAccessEJB = new ITMDBAccessEJB();
xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode(); //xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode();
java.util.Date currentDate = new java.util.Date(); java.util.Date currentDate = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat(this.genericUtility.getApplDateFormat()); SimpleDateFormat sdf = new SimpleDateFormat(this.genericUtility.getApplDateFormat());
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
...@@ -118,10 +132,10 @@ public class PostOrdDespatchGen ...@@ -118,10 +132,10 @@ public class PostOrdDespatchGen
System.out.println("Despatch Date-========="+despDate); System.out.println("Despatch Date-========="+despDate);
effDate=despDateTs; effDate=despDateTs;
System.out.println("Effective date====="+effDate); System.out.println("Effective date====="+effDate);
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgUser =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode")); userId =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
chgTerm =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm")); chgTerm =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
ArrayList quantityList = null;
userId=userInfo.getLoginCode(); userId=userInfo.getLoginCode();
System.out.println("User Id :- ["+userId+"]"); System.out.println("User Id :- ["+userId+"]");
System.out.println("saleOrderfr=====" + saleOrderfr); System.out.println("saleOrderfr=====" + saleOrderfr);
...@@ -131,12 +145,18 @@ public class PostOrdDespatchGen ...@@ -131,12 +145,18 @@ public class PostOrdDespatchGen
System.out.println("frDate=====" + frDate); System.out.println("frDate=====" + frDate);
System.out.println("toDate=====" + toDate); System.out.println("toDate=====" + toDate);
System.out.println("siteCodeShip=====" + siteCodeShip); System.out.println("siteCodeShip=====" + siteCodeShip);
postUpto = distCommon.getDisparams("999999", "POST_SORDER_UPTO", conn);
confDespOnPost = distCommon.getDisparams("999999", "CONFIRM_DESPATCH_ONPOST", conn);
java.util.Date date= new java.util.Date();
Timestamp gpDate =new Timestamp(date.getTime());
System.out.println("Now the gpDate with time :=> [" + gpDate+"]");
sql = "SELECT SORDER.SALE_ORDER, SORDER.ORDER_DATE,SORDER.CUST_CODE,SORDER.CUST_CODE__DLV,SORDER.CUST_CODE__BIL , " sql = "SELECT SORDER.SALE_ORDER, SORDER.ORDER_DATE,SORDER.CUST_CODE,SORDER.CUST_CODE__DLV,SORDER.CUST_CODE__BIL , "
+ " SORDER.ITEM_SER , SORDER.PRICE_LIST,SORDER.PRICE_LIST__DISC,SORDER.PRICE_LIST__CLG,SORDER.PL_DATE,SORDER.CR_TERM,SORDER.SITE_CODE, SORDER.CONFIRMED," + " SORDER.ITEM_SER , SORDER.PRICE_LIST,SORDER.PRICE_LIST__DISC,SORDER.PRICE_LIST__CLG,SORDER.PL_DATE,SORDER.CR_TERM,"
+ "SORDER.CONF_DATE , SORDER.CURR_CODE , SORDER.DLV_ADD1 ,SORDER.DLV_ADD2,SORDER.DLV_CITY ," //"SORDER.SITE_CODE, " +
+"SORDER.CONFIRMED,SORDER.CONF_DATE , SORDER.CURR_CODE , SORDER.DLV_ADD1 ,SORDER.DLV_ADD2,SORDER.DLV_CITY ,"
+ "SORDER.COUNT_CODE__DLV,SORDER.DLV_PIN,SORDER.STAN_CODE,SORDER.TRAN_CODE,SORDER.STATE_CODE__DLV," + "SORDER.COUNT_CODE__DLV,SORDER.DLV_PIN,SORDER.STAN_CODE,SORDER.TRAN_CODE,SORDER.STATE_CODE__DLV,"
+ "SORDER.DLV_ADD3,SORDER.ALLOC_FLAG,SORDER.DLV_TERM,SORDDET.SITE_CODE,SORDDET.QUANTITY," + "SORDER.DLV_ADD3,SORDER.ALLOC_FLAG,SORDER.DLV_TERM,SORDDET.SITE_CODE,SORDDET.QUANTITY,"
+ "SORDDET.UNIT, SORDDET.RATE,SORDDET.DISCOUNT,SORDDET.TAX_AMT,SORDDET.TAX_CLASS,SORDDET.TAX_CHAP," + "SORDDET.UNIT, SORDDET.RATE,SORDDET.DISCOUNT,SORDDET.TAX_AMT,SORDDET.TAX_CLASS,SORDDET.TAX_CHAP,"
...@@ -165,6 +185,16 @@ public class PostOrdDespatchGen ...@@ -165,6 +185,16 @@ public class PostOrdDespatchGen
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
/*if(clubOrder != null && "Y".equalsIgnoreCase(clubOrder) )
{
pstmt.setString(1, saleOrderfr);
pstmt.setString(2, saleOrderTo);
}
else
{
pstmt.setString(1, SaleOrder);
pstmt.setString(2, SaleOrder);
}*/
pstmt.setString(1, saleOrderfr); pstmt.setString(1, saleOrderfr);
pstmt.setString(2, saleOrderTo); pstmt.setString(2, saleOrderTo);
pstmt.setString(3, custCodeFr); pstmt.setString(3, custCodeFr);
...@@ -339,7 +369,7 @@ public class PostOrdDespatchGen ...@@ -339,7 +369,7 @@ public class PostOrdDespatchGen
rs1 = null; rs1 = null;
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
stkOpt="";
if (count > 0) if (count > 0)
{ {
...@@ -444,7 +474,7 @@ public class PostOrdDespatchGen ...@@ -444,7 +474,7 @@ public class PostOrdDespatchGen
pstmt1.setString(1,saleOrder); pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNo); pstmt1.setString(2,lineNo);
rs1=pstmt.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) if(rs1.next())
{ {
itemCode =rs1.getString("item_code"); itemCode =rs1.getString("item_code");
...@@ -473,6 +503,7 @@ public class PostOrdDespatchGen ...@@ -473,6 +503,7 @@ public class PostOrdDespatchGen
pstmt1 = null; pstmt1 = null;
if("0".equals(stkOpt)) if("0".equals(stkOpt))
{ {
System.out.println("0.equals(stkOpt)"); System.out.println("0.equals(stkOpt)");
...@@ -501,15 +532,16 @@ public class PostOrdDespatchGen ...@@ -501,15 +532,16 @@ public class PostOrdDespatchGen
" exp_date, site_code, mfg_date, site_code__mfg " + " exp_date, site_code, mfg_date, site_code__mfg " +
"from sordalloc " + "from sordalloc " +
"where sale_order =? " + "where sale_order =? " +
"and line_no = ? " +
"and site_code = ? " + "and site_code = ? " +
"and (status <> 'I' or status is null) order by item_code, exp_lev,exp_date"; "and (status <> 'I' or status is null) order by item_code, exp_lev,exp_date";
} }
pstmt2=conn.prepareStatement(sql); pstmt2=conn.prepareStatement(sql);
pstmt2.setString(1,saleOrder); pstmt2.setString(1,saleOrder);
// pstmt2.setString(2,lineNo); pstmt2.setString(2,lineNo);
pstmt2.setString(2,siteCode); pstmt2.setString(3,siteCode);
sordList=new ArrayList();
rs2=pstmt2.executeQuery(); rs2=pstmt2.executeQuery();
while(rs2.next()) while(rs2.next())
{ {
...@@ -524,9 +556,9 @@ public class PostOrdDespatchGen ...@@ -524,9 +556,9 @@ public class PostOrdDespatchGen
lotNo =rs2.getString("lot_no"); lotNo =rs2.getString("lot_no");
lotSl =rs2.getString("lot_sl"); lotSl =rs2.getString("lot_sl");
locCode =rs2.getString("loc_code"); locCode =rs2.getString("loc_code");
unitStd =rs2.getString("unit__std"); unitStd =checkNull(rs2.getString("unit__std")).trim();
convQtyStduom =rs2.getDouble("conv__qty_stduom"); convQtyStduom =rs2.getDouble("conv__qty_stduom");
unit =rs2.getString("unit"); unit =checkNull(rs2.getString("unit")).trim();
expDate =rs2.getDate("exp_date"); expDate =rs2.getDate("exp_date");
siteCde =rs2.getString("site_code"); siteCde =rs2.getString("site_code");
mfgDate =rs2.getDate("mfg_date"); mfgDate =rs2.getDate("mfg_date");
...@@ -613,27 +645,39 @@ public class PostOrdDespatchGen ...@@ -613,27 +645,39 @@ public class PostOrdDespatchGen
{ {
System.out.println(">>The selected transaction is confirmed"); System.out.println(">>The selected transaction is confirmed");
errString = itmDBAccessEJB.getErrorString("","VTDESP6","","",conn); errString = itmDBAccessEJB.getErrorString("","VTDESP6","","",conn);
return errString;
} }
//if(unitStd!=unit)
if(unitStd!=unit) System.out.println("unitStd>>["+unitStd+"]");
System.out.println("unit>>["+unit+"]");
if(!unitStd.equalsIgnoreCase(unit))
{ {
mZero=0; mZero=0;
allocQty=distCommon.convQtyFactor(unitStd, unit, itemCode, qtyAllocStd, conn); //allocQty=distCommon.convQtyFactor(unitStd, unit, itemCode, qtyAllocStd, conn);
quantityList= new ArrayList();
quantityList = distCommon.getConvQuantityFact(unitStd, unit, itemCode, qtyAllocStd,0, conn);
allocQty = Double.parseDouble(quantityList.get(1).toString());
if(allocQty==-999999999) if(allocQty==-999999999)
{ {
// errcode = "Unable to convert quantity"; // errcode = "Unable to convert quantity";
System.out.println("Unable to convert quantity"); System.out.println("Unable to convert quantity");
errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn); errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn);
return errString;
} }
quantityList= new ArrayList();
//doubt //doubt
qtyOrduom=distCommon.convQtyFactor(unitStd, unit, itemCode, quantityStd ,conn); //qtyOrduom=distCommon.convQtyFactor(unitStd, unit, itemCode, quantityStd ,conn);
quantityList = distCommon.getConvQuantityFact(unitStd, unit, itemCode, quantityStd,0, conn);
qtyOrduom = Double.parseDouble(quantityList.get(1).toString());
if(qtyOrduom==-999999999) if(qtyOrduom==-999999999)
{ {
//errcode = "Unable to convert quantity"; //errcode = "Unable to convert quantity";
System.out.println("Unable to convert quantity"); System.out.println("Unable to convert quantity");
errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn); errString = itmDBAccessEJB.getErrorString("","VTQTY01","","",conn);
return errString;
} }
} }
else else
...@@ -665,6 +709,7 @@ public class PostOrdDespatchGen ...@@ -665,6 +709,7 @@ public class PostOrdDespatchGen
tempMapSord.put("item_code__ord", itemCodeOrd); tempMapSord.put("item_code__ord", itemCodeOrd);
tempMapSord.put("quantity__ord", qtyOrduom); tempMapSord.put("quantity__ord", qtyOrduom);
tempMapSord.put("item_code", itemCode); tempMapSord.put("item_code", itemCode);
// tempMap.put("item_descr", dlvCity); // tempMap.put("item_descr", dlvCity);
tempMapSord.put("quantity", allocQty); tempMapSord.put("quantity", allocQty);
tempMapSord.put("lot_no", lotNo); tempMapSord.put("lot_no", lotNo);
...@@ -675,7 +720,8 @@ public class PostOrdDespatchGen ...@@ -675,7 +720,8 @@ public class PostOrdDespatchGen
tempMapSord.put("conv__qty_stduom", convQtyStduom); tempMapSord.put("conv__qty_stduom", convQtyStduom);
tempMapSord.put("unit", unit); tempMapSord.put("unit", unit);
tempMapSord.put("quantity__stduom", allocQty); //tempMapSord.put("quantity__stduom", allocQty);//Change by chandrashekar on 21-sep-2016
tempMapSord.put("quantity__stduom", qtyAllocStd);
tempMapSord.put("quantity_real", allocQty); tempMapSord.put("quantity_real", allocQty);
if(expDate!=null) if(expDate!=null)
...@@ -827,7 +873,7 @@ public class PostOrdDespatchGen ...@@ -827,7 +873,7 @@ public class PostOrdDespatchGen
{ {
priceListType= distCommon.getPriceListType(priceList, conn); priceListType= distCommon.getPriceListType(priceList, conn);
System.out.println("priceListType====="+priceListType); System.out.println("priceListType====="+priceListType);
if("L".equals(priceListType)) if(!"L".equals(priceListType))
{ {
sql=" select count(*) from pricelist where price_list =? and list_type = 'I'"; sql=" select count(*) from pricelist where price_list =? and list_type = 'I'";
pstmt1= conn.prepareStatement(sql); pstmt1= conn.prepareStatement(sql);
...@@ -851,7 +897,8 @@ public class PostOrdDespatchGen ...@@ -851,7 +897,8 @@ public class PostOrdDespatchGen
} }
else else
{ {
String listTyp= siteCode + "@" + locCode + "@" + lotNo; //String listTyp= siteCode + "@" + locCode + "@" + lotNo;
String listTyp= siteCode + "~t" + locCode + "~t" + lotNo;
mrate=distCommon.pickRate(priceList, despDate, itemCode, listTyp, "I", sordQty, conn);//changes required mrate=distCommon.pickRate(priceList, despDate, itemCode, listTyp, "I", sordQty, conn);//changes required
...@@ -862,6 +909,7 @@ public class PostOrdDespatchGen ...@@ -862,6 +909,7 @@ public class PostOrdDespatchGen
// errcode = 'VTRATE1' // errcode = 'VTRATE1'
System.out.println(">Rate is not proper for "+ itemCode + "@" + lotNo); System.out.println(">Rate is not proper for "+ itemCode + "@" + lotNo);
errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn); errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn);
return errString;
} }
} }
...@@ -907,10 +955,14 @@ public class PostOrdDespatchGen ...@@ -907,10 +955,14 @@ public class PostOrdDespatchGen
System.out.println("cnt is zero======"); System.out.println("cnt is zero======");
priceListType= distCommon.getPriceListType(priceList, conn); priceListType= distCommon.getPriceListType(priceList, conn);
System.out.println("priceListType====="+priceListType); System.out.println("priceListType====="+priceListType);
if(!"L".equalsIgnoreCase(priceListType)) if("L".equalsIgnoreCase(priceListType))
{
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);
}else
{ {
mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn); mrate=distCommon.pickRate(priceList, despDate, itemCode, lotNo, "D", sordQty, conn);
} }
} }
else else
{ {
...@@ -920,6 +972,7 @@ public class PostOrdDespatchGen ...@@ -920,6 +972,7 @@ public class PostOrdDespatchGen
{ {
System.out.println(">Rate is not proper for !!! "+ itemCode + "@" + lotNo); System.out.println(">Rate is not proper for !!! "+ itemCode + "@" + lotNo);
errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn); errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn);
return errString;
} }
} }
...@@ -989,9 +1042,24 @@ public class PostOrdDespatchGen ...@@ -989,9 +1042,24 @@ public class PostOrdDespatchGen
} }
} }
tempMapSord.put("conv__rtuom_stduom", convRtuomStduom); tempMapSord.put("conv__rtuom_stduom", convRtuomStduom);
if(rateStduom !=0)
{
rateStdum=convRtuomStduom*rateStduom;
}else
{
rateStdum=convRtuomStduom*mrate; rateStdum=convRtuomStduom*mrate;
}
if("F".equalsIgnoreCase(nature))
{
rateStdum=0.0;
}
System.out.println("convRtuomStduom>>>>"+convRtuomStduom);
System.out.println("rateStdum==="+rateStdum); System.out.println("rateStdum==="+rateStdum);
if(rateStdum<=0 && ( "C".equalsIgnoreCase(nature) || "I".equalsIgnoreCase(nature)))//Added by chandrashekar on 10-aug-2016
{
//errString = itmDBAccessEJB.getErrorString("","VTRATE1","","",conn);
continue;
}
tempMapSord.put("rate__stduom", rateStdum); tempMapSord.put("rate__stduom", rateStdum);
tempMapSord.put("rate__std", rateStdum); tempMapSord.put("rate__std", rateStdum);
...@@ -1043,7 +1111,8 @@ public class PostOrdDespatchGen ...@@ -1043,7 +1111,8 @@ public class PostOrdDespatchGen
if((unitSord!=null && unitSord.trim().length()>0) &&(unitRateSord!=null && unitRateSord.trim().length()>0)) if((unitSord!=null && unitSord.trim().length()>0) &&(unitRateSord!=null && unitRateSord.trim().length()>0))
{ {
if(unitSord!=unitRateSord) //if(unitSord!=unitRateSord)
if(!unitSord.equalsIgnoreCase(unitRateSord))
{ {
sql="select gross_wt_per_art, tare_wt_per_art from stock " + sql="select gross_wt_per_art, tare_wt_per_art from stock " +
"where item_code = ? " + "where item_code = ? " +
...@@ -1129,6 +1198,9 @@ public class PostOrdDespatchGen ...@@ -1129,6 +1198,9 @@ public class PostOrdDespatchGen
if("L".equalsIgnoreCase(priceListClgType)) if("L".equalsIgnoreCase(priceListClgType))
{ {
rateClg=distCommon.pickRate(priceListClg, despDate, itemCode, lotNo, "L", quantityStd, conn); rateClg=distCommon.pickRate(priceListClg, despDate, itemCode, lotNo, "L", quantityStd, conn);
}else if("B".equalsIgnoreCase(priceListClgType))
{
rateClg=distCommon.pickRate(priceListClg, despDate, itemCode, lotNo, "B", quantityStd, conn);
} }
} }
...@@ -1214,7 +1286,7 @@ public class PostOrdDespatchGen ...@@ -1214,7 +1286,7 @@ public class PostOrdDespatchGen
} }
// sordList=new ArrayList(); // sordList=new ArrayList();
tempMapSord.put("sord_no", saleOrder);
sordList.add(tempMapSord); sordList.add(tempMapSord);
System.out.println("Sord item list====="+sordList); System.out.println("Sord item list====="+sordList);
...@@ -1348,6 +1420,7 @@ public class PostOrdDespatchGen ...@@ -1348,6 +1420,7 @@ public class PostOrdDespatchGen
//iterating Map //iterating Map
Set setItem = splitCodeWiseMap.entrySet(); Set setItem = splitCodeWiseMap.entrySet();
splitCodeSize=splitCodeWiseMap.size();
System.out.println("1327getting set item=====" + setItem); System.out.println("1327getting set item=====" + setItem);
tempList = null; tempList = null;
Iterator itrItem = setItem.iterator(); Iterator itrItem = setItem.iterator();
...@@ -1445,13 +1518,14 @@ public class PostOrdDespatchGen ...@@ -1445,13 +1518,14 @@ public class PostOrdDespatchGen
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME); TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn); tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn);
System.out.println("@@@@ generated tranId :["+tranId+"]"); System.out.println("@@@@ generated tranId :["+tranId+"]");
gpNo=generateGpNo("gpno",siteCde,tempMap.get("sord_no").toString(),conn);
confirmed="N"; confirmed="N";
sql="Insert into despatch(desp_id,desp_date,sord_no,sord_date,cust_code,cust_code__dlv," + sql="Insert into despatch(desp_id,desp_date,sord_no,sord_date,cust_code,cust_code__dlv," +
"site_code,dlv_add1,dlv_add2,dlv_add3,dlv_city,dlv_pin,count_code__dlv,state_code__dlv," + "site_code,dlv_add1,dlv_add2,dlv_add3,dlv_city,dlv_pin,count_code__dlv,state_code__dlv," +
"tran_code,stan_code,trans_mode,curr_code,exch_rate," + "tran_code,stan_code,trans_mode,curr_code,exch_rate," +
"curr_code__frt,exch_rate__frt,curr_code__ins,exch_rate__ins,freight," + "curr_code__frt,exch_rate__frt,curr_code__ins,exch_rate__ins,freight," +
"insurance,eff_date,confirmed,status)" + "insurance,eff_date,confirmed,status,chg_user,chg_date,chg_term,lr_date,gp_date,gp_ser,gp_no,benefit_type)" +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
//tranId = generateTranId("w_despatch",userId,conn); //tranId = generateTranId("w_despatch",userId,conn);
pstmt.setString(1,tranId); pstmt.setString(1,tranId);
...@@ -1472,9 +1546,14 @@ public class PostOrdDespatchGen ...@@ -1472,9 +1546,14 @@ public class PostOrdDespatchGen
pstmt.setString(14,stateCodeDlv); pstmt.setString(14,stateCodeDlv);
//pstmt.setString(11,tempMap.get("count_code__dlv").toString()); //pstmt.setString(11,tempMap.get("count_code__dlv").toString());
//pstmt.setString(12,tempMap.get("state_code__dlv").toString()); //pstmt.setString(12,tempMap.get("state_code__dlv").toString());
if(tempMap.get("tran_code")!= null)
{
pstmt.setString(15,tempMap.get("tran_code").toString()); pstmt.setString(15,tempMap.get("tran_code").toString());
}else
{
pstmt.setString(15,"");
}
//pstmt.setString(15,tempMap.get("tran_code").toString());
pstmt.setString(16,tempMap.get("stan_code").toString()); pstmt.setString(16,tempMap.get("stan_code").toString());
pstmt.setString(17,transMode); pstmt.setString(17,transMode);
...@@ -1491,8 +1570,18 @@ public class PostOrdDespatchGen ...@@ -1491,8 +1570,18 @@ public class PostOrdDespatchGen
pstmt.setTimestamp(26,effDate ); pstmt.setTimestamp(26,effDate );
pstmt.setString(27,confirmed); pstmt.setString(27,confirmed);
pstmt.setString(28,"I"); pstmt.setString(28,"I");
pstmt.setString(29,chgUser);
pstmt.setTimestamp(30,despDateTs);
pstmt.setString(31,chgTerm);
pstmt.setTimestamp(32,despDateTs);
//pstmt.setTimestamp(33,despDateTs);//gp_date
pstmt.setTimestamp(33,gpDate);//gp_date
pstmt.setString(34,gpSer);
pstmt.setString(35,gpNo);
pstmt.setString(36,"FS");
insertCntHdr = pstmt.executeUpdate(); insertCntHdr = pstmt.executeUpdate();
pstmt.close();
pstmt=null;
System.out.println("Despatch Header Count===="+insertCntHdr); System.out.println("Despatch Header Count===="+insertCntHdr);
lineNum = 0; lineNum = 0;
...@@ -1533,7 +1622,7 @@ public class PostOrdDespatchGen ...@@ -1533,7 +1622,7 @@ public class PostOrdDespatchGen
System.out.println("Sum Amount 1 @@@===" + sumNetAmt); System.out.println("Sum Amount 1 @@@===" + sumNetAmt);
sumNetAmt+=((Double)sordDetMap.get("quantity__stduom")*(Double)sordDetMap.get("rate__stduom")); sumNetAmt+=((Double)sordDetMap.get("quantity__stduom")*(Double)sordDetMap.get("rate__stduom"));
System.out.println("Sum Amount After 1 @@@===" + sumNetAmt); System.out.println("Sum Amount After "+lineNumber+" @@@===" + sumNetAmt);
sql="insert into despatchdet(DESP_ID,LINE_NO,SORD_NO,LINE_NO__SORD,EXP_LEV,ITEM_CODE__ORD,ITEM_CODE," + sql="insert into despatchdet(DESP_ID,LINE_NO,SORD_NO,LINE_NO__SORD,EXP_LEV,ITEM_CODE__ORD,ITEM_CODE," +
"LOT_NO ,LOT_SL,QUANTITY__ORD,QUANTITY,LOC_CODE ,STATUS," + "LOT_NO ,LOT_SL,QUANTITY__ORD,QUANTITY,LOC_CODE ,STATUS," +
...@@ -1541,61 +1630,135 @@ public class PostOrdDespatchGen ...@@ -1541,61 +1630,135 @@ public class PostOrdDespatchGen
"RATE__STDUOM,NO_ART ,SITE_CODE,MFG_DATE,EXP_DATE,SITE_CODE__MFG," + "RATE__STDUOM,NO_ART ,SITE_CODE,MFG_DATE,EXP_DATE,SITE_CODE__MFG," +
"RATE__CLG,DISC_AMT,COST_RATE,CUST_ITEM__REF,RETEST_DATE,CONF_DIFF_AMT,CONV__RTUOM_STDUOM,RATE__STD) " + "RATE__CLG,DISC_AMT,COST_RATE,CUST_ITEM__REF,RETEST_DATE,CONF_DIFF_AMT,CONV__RTUOM_STDUOM,RATE__STD) " +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql); pstmtdDet = conn.prepareStatement(sql);
pstmt.setString(1,tranId); pstmtdDet.setString(1,tranId);
pstmt.setString(2,lineNumber);// pstmtdDet.setString(2,lineNumber);//
//pstmt.setString(2,sordDetMap.get("line_no").toString());// //pstmt.setString(2,sordDetMap.get("line_no").toString());//
//pstmt.setString(3,sordDetMap.get("sord_no").toString()); pstmtdDet.setString(3,checkNull(sordDetMap.get("sord_no").toString()));
pstmt.setString(3,checkNull(tempMap.get("sord_no").toString())); //pstmtdDet.setString(3,checkNull(tempMap.get("sord_no").toString()));
pstmt.setString(4,checkNull(sordDetMap.get("line_no__sord").toString())); pstmtdDet.setString(4,checkNull(sordDetMap.get("line_no__sord").toString()));
pstmt.setString(5,checkNull(sordDetMap.get("exp_lev").toString()));// pstmtdDet.setString(5,checkNull(sordDetMap.get("exp_lev").toString()));//
pstmt.setString(6,checkNull(sordDetMap.get("item_code__ord").toString())); pstmtdDet.setString(6,checkNull(sordDetMap.get("item_code__ord").toString()));
pstmt.setString(7,checkNull(sordDetMap.get("item_code").toString())); pstmtdDet.setString(7,checkNull(sordDetMap.get("item_code").toString()));
pstmt.setString(8,checkNull(sordDetMap.get("lot_no").toString())); pstmtdDet.setString(8,checkNull(sordDetMap.get("lot_no").toString()));
pstmt.setString(9,checkNull(sordDetMap.get("lot_sl").toString())); pstmtdDet.setString(9,checkNull(sordDetMap.get("lot_sl").toString()));
pstmt.setDouble(10,(Double)sordDetMap.get("quantity__ord")); pstmtdDet.setDouble(10,(Double)sordDetMap.get("quantity__ord"));
pstmt.setDouble(11,(Double)sordDetMap.get("quantity")); pstmtdDet.setDouble(11,(Double)sordDetMap.get("quantity"));
pstmt.setString(12,sordDetMap.get("loc_code").toString()); pstmtdDet.setString(12,sordDetMap.get("loc_code").toString());
pstmt.setString(13,sordDetMap.get("status").toString()); pstmtdDet.setString(13,sordDetMap.get("status").toString());
pstmt.setDouble(14,(Double)sordDetMap.get("conv__qty_stduom")); pstmtdDet.setDouble(14,(Double)sordDetMap.get("conv__qty_stduom"));
pstmt.setString(15,sordDetMap.get("unit__std").toString()); pstmtdDet.setString(15,sordDetMap.get("unit__std").toString());
pstmt.setString(16,sordDetMap.get("unit").toString()); pstmtdDet.setString(16,sordDetMap.get("unit").toString());
pstmt.setDouble(17,(Double)sordDetMap.get("quantity__stduom")); pstmtdDet.setDouble(17,(Double)sordDetMap.get("quantity__stduom"));
pstmt.setDouble(18,(Double)sordDetMap.get("quantity_real")); pstmtdDet.setDouble(18,(Double)sordDetMap.get("quantity_real"));
pstmt.setDouble(19,(Double)sordDetMap.get("rate__stduom")); pstmtdDet.setDouble(19,(Double)sordDetMap.get("rate__stduom"));
pstmt.setDouble(20,(Double)sordDetMap.get("no_art"));// pstmtdDet.setDouble(20,(Double)sordDetMap.get("no_art"));//
pstmt.setString(21,sordDetMap.get("site_code").toString()); pstmtdDet.setString(21,sordDetMap.get("site_code").toString());
pstmt.setDate(22,(Date) sordDetMap.get("mfg_date")); pstmtdDet.setDate(22,(Date) sordDetMap.get("mfg_date"));
pstmt.setDate(23,(Date) sordDetMap.get("exp_date"));// pstmtdDet.setDate(23,(Date) sordDetMap.get("exp_date"));//
pstmt.setString(24,sordDetMap.get("site_code__mfg").toString()); pstmtdDet.setString(24,sordDetMap.get("site_code__mfg").toString());
pstmt.setDouble(25,(Double)sordDetMap.get("rate__clg")); pstmtdDet.setDouble(25,(Double)sordDetMap.get("rate__clg"));
//pstmt.setDouble(26, checkDoubleNullVal((Double) sordDetMap.get("disc_amt"))); //pstmt.setDouble(26, checkDoubleNullVal((Double) sordDetMap.get("disc_amt")));
pstmt.setDouble(26,((Double)sordDetMap.get("disc_amt"))); pstmtdDet.setDouble(26,((Double)sordDetMap.get("disc_amt")));
pstmt.setDouble(27,(Double)sordDetMap.get("cost_rate")); pstmtdDet.setDouble(27,(Double)sordDetMap.get("cost_rate"));
pstmt.setString(28,sordDetMap.get("cust_item__ref").toString()); pstmtdDet.setString(28,sordDetMap.get("cust_item__ref").toString());
pstmt.setDate(29,(Date)sordDetMap.get("retest_date"));// pstmtdDet.setDate(29,(Date)sordDetMap.get("retest_date"));//
pstmt.setDouble(30,(Double)sordDetMap.get("conf_diff_amt")); pstmtdDet.setDouble(30,(Double)sordDetMap.get("conf_diff_amt"));
pstmt.setDouble(31,(Double)sordDetMap.get("conv__rtuom_stduom")); pstmtdDet.setDouble(31,(Double)sordDetMap.get("conv__rtuom_stduom"));
pstmt.setDouble(32,(Double)sordDetMap.get("rate__std")); pstmtdDet.setDouble(32,(Double)sordDetMap.get("rate__std"));
pstmtdDet.addBatch();
pstmtdDet.executeBatch();
pstmtdDet.clearParameters();
isDetailExist=true;
/*insertCntDet = pstmt.executeUpdate();
pstmt.close();
pstmt=null;
System.out.println("Despatch Detail Count===="+insertCntDet);*/
}
sql = "UPDATE DESPATCH SET TOT_VALUE= ? WHERE DESP_ID= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, sumNetAmt);
pstmt.setString(2, tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
/*if(isDetailExist)
{
pstmtdDet.executeBatch();
}*/
//if(insertCntHdr>0 && insertCntDet>0 )
if(insertCntHdr>0 && isDetailExist )
{
//generatedDesp++;
//generatedId+=tranId+"@"+tempMap.get("sord_no").toString()+",";
if("D".equalsIgnoreCase(postUpto) && "N".equalsIgnoreCase(confDespOnPost))
{
sordDisList.add(tempMap.get("sord_no").toString());
errString="";
conn.commit();
}
else
{
DespatchConfirmLocal despatchConfirm = null;
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
despatchConfirm = (DespatchConfirmLocal) ctx.lookup("ibase/DespatchConfirm/local");
String forcedFlag="N";
connCP=chaneParnerExist(tranId,xtraParams,conn);
if(connCP!=null )
{
errString=despatchConfirm.confirm(tranId, xtraParams, forcedFlag,conn,connCP);
}
else
{
errString=despatchConfirm.confirm(tranId, xtraParams, forcedFlag,conn,conn);
}
System.out.println("despatchConfirm return string >>>>"+errString);
if(errString == null || errString.trim().length()==0 || "".equalsIgnoreCase(errString) || errString.contains("CONFSUCC")|| errString.contains("VTPOSTDES") )
{
errString = "";
sordDisList.add(tempMap.get("sord_no").toString());
if(connCP!=null )
{
connCP.commit();
}
conn.commit();
}
else
{
if(connCP!=null )
{
connCP.rollback();
}
conn.rollback();
}
}
insertCntDet = pstmt.executeUpdate();
System.out.println("Despatch Detail Count===="+insertCntDet);
} }
else
{
errString = itmDBAccessEJB.getErrorString("","VTDTNTEXST","","",conn);
conn.rollback();
} }
} }
System.out.println("insertCntHdr==="+insertCntHdr+"@=====@"+"insertCntDet=="+insertCntDet); System.out.println("insertCntHdr==="+insertCntHdr+"@=====@"+"insertCntDet=="+insertCntDet);
if(insertCntHdr>0 && insertCntDet>0) //if(insertCntHdr>0 && insertCntDet>0)
/*if(splitCodeSize==generatedDesp)
{ {
//VTCONSUCF //VTCONSUCF
System.out.println(">>The selected transaction is getting saved!!!!"); System.out.println(">>The selected transaction is getting saved!!!!");
errString= "<?xml version='1.0'?><Root><message>VTCONPARM</message><TranID>"+tranId+"</TranID></errors></Root>"; errString= "<?xml version='1.0'?><Root><message>VTCONPARM</message><TranID>"+generatedId+"</TranID></errors></Root>";
System.out.println("@@@@@2: retString:" + errString); System.out.println("@@@@@2: retString:" + errString);
if (errString.indexOf("VTCONPARM") > -1) if (errString.indexOf("VTCONPARM") > -1)
{ {
...@@ -1632,7 +1795,7 @@ public class PostOrdDespatchGen ...@@ -1632,7 +1795,7 @@ public class PostOrdDespatchGen
else else
{ {
System.out.println("Record not found!!!!!!!"); System.out.println("Record not found!!!!!!!");
} }*/
// } // }
...@@ -1679,6 +1842,17 @@ public class PostOrdDespatchGen ...@@ -1679,6 +1842,17 @@ public class PostOrdDespatchGen
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
if(pstmtdDet !=null)
{
pstmtdDet.close();
pstmtdDet=null;
}
if(connCP!=null)
{
connCP.close();
connCP=null;
}
//conn.close(); //conn.close();
} }
catch(Exception e) catch(Exception e)
...@@ -1690,9 +1864,9 @@ public class PostOrdDespatchGen ...@@ -1690,9 +1864,9 @@ public class PostOrdDespatchGen
} }
return errString; //return sordDisList;
return errString;
} }
...@@ -2022,4 +2196,232 @@ public class PostOrdDespatchGen ...@@ -2022,4 +2196,232 @@ public class PostOrdDespatchGen
} }
return s; return s;
} }
private Connection chaneParnerExist(String despId,String xtraParams,Connection conn)
{
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="",retString="";
String purIntegrate="",siteCode="",custCode="";
String chPartner="",disLink="",dataStr="";
String filename="",jbossHome="",chanelPartnerFile="";
int ediOption=0;
Connection connCP=null;
ConnDriver connDriver = new ConnDriver();
DistCommon distCommon = new DistCommon();
try
{
purIntegrate=distCommon.getDisparams("999999", "PUR_INTEGRATED", conn);
sql="select edi_option from transetup where tran_window = 'w_despatch'";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next())
{
ediOption=rs.getInt(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if("Y".equalsIgnoreCase(purIntegrate) || ediOption > 0)
{
sql="select cust_code,site_code from despatch where desp_id=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,despId);
rs=pstmt.executeQuery();
if(rs.next())
{
siteCode=rs.getString("site_code");
custCode=rs.getString("cust_code");
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql="select channel_partner, dis_link "
+ " from site_customer "
+ " where cust_code = ? "
+ " and site_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,custCode);
pstmt.setString(2,siteCode);
rs=pstmt.executeQuery();
if(rs.next())
{
chPartner=checkNull(rs.getString("channel_partner"));
disLink=checkNull(rs.getString("dis_link"));
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(chPartner.trim().length()==0)
{
sql="select channel_partner, dis_link from customer "
+ " where cust_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,custCode);
rs=pstmt.executeQuery();
if(rs.next())
{
chPartner=checkNull(rs.getString("channel_partner"));
disLink=checkNull(rs.getString("dis_link"));
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
if("Y".equalsIgnoreCase(chPartner)|| ediOption > 0)
{
if (("A".equalsIgnoreCase(disLink)|| "S".equalsIgnoreCase(disLink) || "C".equalsIgnoreCase(disLink) ) && "Y".equalsIgnoreCase(purIntegrate))
{
String dirPath="";
if ( CommonConstants.APPLICATION_CONTEXT != null )
{
dirPath = CommonConstants.APPLICATION_CONTEXT + CommonConstants.SETTINGS;
System.out.println("dirPath1>>>>"+dirPath);
}
else
{
dirPath = CommonConstants.JBOSSHOME + File.separator + "server" + File.separator + "default" + File.separator + "deploy" + File.separator + "ibase.ear" + File.separator + "ibase.war" + File.separator + CommonConstants.SETTINGS;
System.out.println("dirPath2>>>>>>"+dirPath);
}
File xmlFile = new File( dirPath + File.separator + "DriverITMCP" + ".xml" );
System.out.println("xmlFile>>>>>"+xmlFile);
if(xmlFile.exists())
{
//if(connCP !=null)
{
System.out.println("file exist new connection is creating");
connCP=connDriver.getConnectDB("DriverITMCP");
return connCP;
}
}
}
}
}
}catch(Exception e)
{
e.printStackTrace();
}
return connCP;
}
private String generateGpNo( String windowName, String siteCode,String salOrder, Connection conn )throws ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String tranSer = "";
String keyString = "",ordType="",ordTypes="",ordType1="";
String keyCol = "";
String xmlValues = "";
String paySiteCode = "";
String effectiveDate = "";
java.sql.Timestamp currDate = null;
java.sql.Date effDate = null;
E12GenericUtility genericUtility= new E12GenericUtility();
DistCommon distCommon = new DistCommon();
try
{
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = new java.sql.Timestamp(System.currentTimeMillis());
String currDateStr = sdfAppl.format(currDate);
selSql = "select order_type from sorder where sale_order =? ";
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, salOrder );
rs = pstmt.executeQuery();
if (rs.next())
{
ordType = rs.getString("order_type");
}
rs.close();rs = null;
pstmt.close();pstmt = null;
ordTypes=distCommon.getDisparams("999999", "GP_NO", conn);
if("NULLFOUND".equalsIgnoreCase(ordTypes))
{
ordTypes="";
}else
{
String[] arrStr =ordTypes.split(",");
int len =arrStr.length;
for(int i =0;i<len;i++)
{
ordType1 =arrStr[i];
if(ordType1.trim().equalsIgnoreCase(ordType.trim()))
{
return tranId;
}
}
}
selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL");
tranSer = rs.getString("REF_SER");
}
rs.close();rs = null;
pstmt.close();pstmt = null;
System.out.println("keyString :"+keyString);
System.out.println("keyCol :"+keyCol);
System.out.println("tranSer :"+tranSer);
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<gp_no></gp_no>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
System.out.println("tranId :"+tranId);
}
catch (SQLException ex)
{
System.out.println("Exception ::" +selSql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new ITMException(ex);
}
catch (Exception e)
{
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e){}
}
return tranId;
}//generateTranTd()
} }
...@@ -5,7 +5,9 @@ import ibase.utility.CommonConstants; ...@@ -5,7 +5,9 @@ import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerEJB; import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.dis.adv.SorderConf;
import ibase.webitm.ejb.fin.FinCommon; import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods; import ibase.webitm.ejb.sys.UtilMethods;
//import ibase.webitm.utility.GenericUtility; //import ibase.webitm.utility.GenericUtility;
...@@ -14,6 +16,7 @@ import ibase.webitm.utility.ITMException; ...@@ -14,6 +16,7 @@ import ibase.webitm.utility.ITMException;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.sql.Connection; import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
...@@ -50,7 +53,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -50,7 +53,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
*/ */
public String invoiceProcess(String salesOrdFrm,String salesOrdTo,String custCodeFrm,String custCodeTo, public String invoiceProcess(String salesOrdFrm,String salesOrdTo,String custCodeFrm,String custCodeTo,
String descpIdFrm,String orderType,Timestamp frmDateStr,String clubOrder,String clubPendOrder, String descpIdFrm,String orderType,Timestamp frmDateStr,String clubOrder,String clubPendOrder,
String adjDrCr,String adjCustAdv,String advAdjMode,String adjNewPrdInv,Connection conn) throws ITMException, Exception String adjDrCr,String adjCustAdv,String advAdjMode,String adjNewPrdInv,String xtraParams,Connection conn) throws ITMException, Exception
{ {
String retString="",frmDate="",frmCustCode="",currCode="",lrNo="",lrDate="",remarks="",sysDate="",toDateStr=""; String retString="",frmDate="",frmCustCode="",currCode="",lrNo="",lrDate="",remarks="",sysDate="",toDateStr="";
String toCustCode="",stanCodeInit="",descpIdTo=""; String toCustCode="",stanCodeInit="",descpIdTo="";
...@@ -60,6 +63,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -60,6 +63,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
PreparedStatement pstmt=null; PreparedStatement pstmt=null;
ResultSet rs=null; ResultSet rs=null;
double exchangeRate=0.0; double exchangeRate=0.0;
Timestamp tranDatetTStmp=null;
HashMap<String, String> ldsInvHdrMp=new HashMap<String, String>(); HashMap<String, String> ldsInvHdrMp=new HashMap<String, String>();
/** /**
* Select postUpto from table 'disparam' * Select postUpto from table 'disparam'
...@@ -132,10 +136,11 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -132,10 +136,11 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
frmCustCode=checknull(rs.getString("cust_code")); frmCustCode=checknull(rs.getString("cust_code"));
currCode=checknull(rs.getString("curr_code")); currCode=checknull(rs.getString("curr_code"));
lrNo=checknull(rs.getString("lr_no")); lrNo=checknull(rs.getString("lr_no"));
lrDate=checknull(rs.getString("lr_date")); //lrDate=checknull(rs.getString("lr_date"));
remarks=checknull(rs.getString("remarks")); remarks=checknull(rs.getString("remarks"));
remarks=checknull(rs.getString("remarks")); remarks=checknull(rs.getString("remarks"));
exchangeRate=rs.getDouble("exch_rate"); exchangeRate=rs.getDouble("exch_rate");
tranDatetTStmp=rs.getTimestamp("lr_date");
} }
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
...@@ -144,6 +149,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -144,6 +149,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
toDateStr=frmDate; toDateStr=frmDate;
toCustCode=frmCustCode; toCustCode=frmCustCode;
if(tranDatetTStmp != null)
{
lrDate=sdf.format(tranDatetTStmp).toString();
}else
{
lrDate="";
}
System.out.println("lrDate>>>"+lrDate);
/** /**
* Check lrDate is not null * Check lrDate is not null
* */ * */
...@@ -160,7 +173,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -160,7 +173,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
sql="select exch_rate__sell from daily_exch_rate_sell_buy where ? between from_date and to_date" sql="select exch_rate__sell from daily_exch_rate_sell_buy where ? between from_date and to_date"
+ " and curr_code = ? and curr_code__to = 'RS'"; + " and curr_code = ? and curr_code__to = 'RS'";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lrDate); pstmt.setTimestamp(1, tranDatetTStmp);
pstmt.setString(2, currCode); pstmt.setString(2, currCode);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
...@@ -260,7 +273,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -260,7 +273,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
System.out.println("@@@@@@@@@@260:::::ldsInvHdrMp["+ldsInvHdrMp+"]"); System.out.println("@@@@@@@@@@260:::::ldsInvHdrMp["+ldsInvHdrMp+"]");
retString=createInvoice(ldsInvHdrMp,lbClub,lbDrCr,lbAdv,tempflag,runOpt,lbCustomer,lbNewPrdInv,conn); // Missing 'lds_credit_check' retString=createInvoice(ldsInvHdrMp,lbClub,lbDrCr,lbAdv,tempflag,runOpt,lbCustomer,lbNewPrdInv,xtraParams,conn); // Missing 'lds_credit_check'
fos1.write(("\n \n Final Return String :- [" + retString +"]\r\n").getBytes()); fos1.write(("\n \n Final Return String :- [" + retString +"]\r\n").getBytes());
...@@ -309,7 +322,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -309,7 +322,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
* @throws ITMException * @throws ITMException
*/ */
private String createInvoice(HashMap<String, String> ldsInvHdrMp, boolean lbClub, boolean lbDrCr, boolean lbAdv, boolean tempflag, private String createInvoice(HashMap<String, String> ldsInvHdrMp, boolean lbClub, boolean lbDrCr, boolean lbAdv, boolean tempflag,
String runOpt, boolean lbCustomer, boolean lbNewPrdInv, Connection conn) throws ITMException String runOpt, boolean lbCustomer, boolean lbNewPrdInv,String xtraParams, Connection conn) throws ITMException
{ {
// TODO Auto-generated method stub // TODO Auto-generated method stub
StringBuffer xmlBuff=new StringBuffer(); StringBuffer xmlBuff=new StringBuffer();
...@@ -326,33 +339,41 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -326,33 +339,41 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
HashMap<String, String> arCustomerMap=null; HashMap<String, String> arCustomerMap=null;
String sql=""; String sql="";
PreparedStatement pstmt=null, pstmt1=null; PreparedStatement pstmt=null, pstmt1=null,pstmt2=null;
ResultSet rs=null; ResultSet rs=null,rs2=null;
String xtraParams = null; String loginEmpCode = null,itemDescr="";
String lc_ratestd="0",lc_cstrate="0"; String lc_ratestd="0",lc_cstrate="0";
String round="",roundInvTo="";
double roundTo=0.0,netamt=0.0;
double lc_disc_amt=0.00,ld_discount=0.00; double lc_disc_amt=0.00,ld_discount=0.00;
double totalCommSp1=0.0,totalCommSp2=0.0,totalCommSp3=0.0,totalCommAmt=0.0;
String despIdKey="",despId="",sysDate="",salesInvPstHdr="",despLineNo="",userId="",termId="",loginSite="",tranId=""; String despIdKey="",despId="",sysDate="",salesInvPstHdr="",despLineNo="",userId="",termId="",loginSite="",tranId="";
String xmlInvString="",retString=""; String xmlInvString="",retString="";
double lcCommAmtOc=0.0,tcommAmt=0.0,lcExchRate=0.0; double lcCommAmtOc=0.0,tcommAmt=0.0,lcExchRate=0.0;
int lineNo=0,lineNoDet=0; int lineNo=0,lineNoDet=0;
Timestamp dueDate=null; Timestamp dueDate=null,sysDateTs=null;
String acctCodeDis="",cctrCodeDis="",acctCodeAr="",cctrCodeAr = "",acctCodePr="",cctrCodePr="",marketReg = "",mfgDateStr="",expDateStr=""; String acctCodeDis="",cctrCodeDis="",acctCodeAr="",cctrCodeAr = "",acctCodePr="",cctrCodePr="",marketReg = "",mfgDateStr="",expDateStr="";
double netAmt=0,taxAmt=0,commAmt=0,discAmt=0,invAmt=0; double netAmt=0,taxAmt=0,commAmt=0,discAmt=0,invAmt=0;
double ld_tot_amt=0.0,ld_disc_amt=0.0,ld_net_amt=0.0;
HashMap commissionMap = null;
/** /**
* Generate Bean object * Generate Bean object
* */ * */
InvoiceDetBean invoiceDetBean= null; InvoiceDetBean invoiceDetBean= null;
InitialContext ctx = null;
try try
{ {
UserInfoBean userInfo=new UserInfoBean(); /*UserInfoBean userInfo=new UserInfoBean();
userId=userInfo.getLoginCode(); userId=userInfo.getLoginCode();
termId=userInfo.getRemoteHost(); termId=userInfo.getRemoteHost();
loginSite=userInfo.getSiteCode(); loginSite=userInfo.getSiteCode();
xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode(); xtraParams = "loginCode="+userInfo.getLoginCode()+"~~termId="+userInfo.getRemoteHost()+"~~loginSiteCode="+userInfo.getSiteCode()+"~~loginEmpCode="+userInfo.getEmpCode();
*/
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
loginEmpCode =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
termId =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
SorderConf sordcnf=new SorderConf();
java.util.Date today = new java.util.Date(); java.util.Date today = new java.util.Date();
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(today); cal.setTime(today);
...@@ -521,6 +542,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -521,6 +542,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("<sales_pers><![CDATA["+invDespMap.get("sales_pers")+"]]></sales_pers>"); xmlBuff.append("<sales_pers><![CDATA["+invDespMap.get("sales_pers")+"]]></sales_pers>");
xmlBuff.append("<curr_code__frt><![CDATA["+invDespMap.get("curr_code__frt")+"]]></curr_code__frt>"); xmlBuff.append("<curr_code__frt><![CDATA["+invDespMap.get("curr_code__frt")+"]]></curr_code__frt>");
xmlBuff.append("<exch_rate__frt><![CDATA["+invDespMap.get("exch_rate__frt")+"]]></exch_rate__frt>"); xmlBuff.append("<exch_rate__frt><![CDATA["+invDespMap.get("exch_rate__frt")+"]]></exch_rate__frt>");
xmlBuff.append("<print_status><![CDATA["+"N"+"]]></print_status>");
xmlBuff.append("<confirmed><![CDATA["+"N"+"]]></confirmed>"); xmlBuff.append("<confirmed><![CDATA["+"N"+"]]></confirmed>");
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>"); xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>"); xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
...@@ -554,7 +576,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -554,7 +576,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
// xmlBuff.append("<disc_billback_amt_hdr><![CDATA[]]></disc_billback_amt_hdr>"); // get by method gbf_calc_hdrdisc_amt() // xmlBuff.append("<disc_billback_amt_hdr><![CDATA[]]></disc_billback_amt_hdr>"); // get by method gbf_calc_hdrdisc_amt()
lcCommAmtOc=Double.parseDouble(invDespMap.get("comm_amt"))/Double.parseDouble(ldsInvHdrMp.get("exch_rate")); lcCommAmtOc=Double.parseDouble(invDespMap.get("comm_amt"))/Double.parseDouble(ldsInvHdrMp.get("exch_rate"));
if(!Double.isNaN(lcCommAmtOc))
{
xmlBuff.append("<comm_amt__oc><![CDATA["+lcCommAmtOc+"]]></comm_amt__oc>"); xmlBuff.append("<comm_amt__oc><![CDATA["+lcCommAmtOc+"]]></comm_amt__oc>");
}else
{
xmlBuff.append("<comm_amt__oc><![CDATA["+0+"]]></comm_amt__oc>");
}
xmlBuff.append("<sales_pers__1><![CDATA["+invDespMap.get("sales_pers__1")+"]]></sales_pers__1>"); xmlBuff.append("<sales_pers__1><![CDATA["+invDespMap.get("sales_pers__1")+"]]></sales_pers__1>");
xmlBuff.append("<sales_pers__2><![CDATA["+invDespMap.get("sales_pers__2")+"]]></sales_pers__2>"); xmlBuff.append("<sales_pers__2><![CDATA["+invDespMap.get("sales_pers__2")+"]]></sales_pers__2>");
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>"); xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
...@@ -563,8 +591,51 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -563,8 +591,51 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>"); xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>"); xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>"); xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<round_adj><![CDATA[]]></round_adj>"); // Set round_adj sql="select round, case when round_to is null then 0.001 else round_to end as round_to " +
xmlBuff.append("<net_amt><![CDATA[0]]></net_amt>"); // Set net_amt " from customer where cust_code = ?";
pstmt2= conn.prepareStatement(sql);
pstmt2.setString(1, invDespMap.get("cust_code") );
rs2=pstmt2.executeQuery();
if(rs2.next())
{
round =rs2.getString("round");
roundTo =rs2.getDouble("round_to");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if(round ==null || round.trim().length()==0)
{
sql="select round_inv_to from itemser where item_ser = ?" ;
pstmt2= conn.prepareStatement(sql);
pstmt2.setString(1, invDespMap.get("item_ser") );
rs2=pstmt2.executeQuery();
if(rs2.next())
{
roundInvTo =rs2.getString("round_inv_to");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if(roundInvTo ==null)
{
retString = "VTRND";
return retString;
}else
{
//netamt= round(netamt,roundTo);
netamt= Math.round(netamt);
xmlBuff.append("<round_adj><![CDATA["+(netamt-netAmt)+"]]></round_adj>");
xmlBuff.append("<net_amt><![CDATA["+netamt+"]]></net_amt>");
}
}else
{
netamt=geRndamt(netAmt,round,roundTo);
xmlBuff.append("<round_adj><![CDATA["+(netamt-netAmt)+"]]></round_adj>");
xmlBuff.append("<net_amt><![CDATA["+netamt+"]]></net_amt>");
}
xmlBuff.append("</Detail1>"); xmlBuff.append("</Detail1>");
...@@ -604,13 +675,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -604,13 +675,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("<tax_chap><![CDATA["+invTraceDetMap.get("tax_chap")+"]]></tax_chap>"); xmlBuff.append("<tax_chap><![CDATA["+invTraceDetMap.get("tax_chap")+"]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA["+invTraceDetMap.get("tax_env")+"]]></tax_env>"); xmlBuff.append("<tax_env><![CDATA["+invTraceDetMap.get("tax_env")+"]]></tax_env>");
xmlBuff.append("<tax_amt><![CDATA[0]]></tax_amt>"); //tax_amt missing xmlBuff.append("<tax_amt><![CDATA[0]]></tax_amt>"); //tax_amt missing
xmlBuff.append("<net_amt><![CDATA[0]]></net_amt>"); //net_amt missing //xmlBuff.append("<net_amt><![CDATA[0]]></net_amt>"); //net_amt missing
xmlBuff.append("<unit__std><![CDATA[" + invTraceDetMap.get("sord_unit__std") + "]]></unit__std>"); xmlBuff.append("<unit__std><![CDATA[" + invTraceDetMap.get("sord_unit__std") + "]]></unit__std>");
xmlBuff.append("<conv__qty_stduom><![CDATA[" + invTraceDetMap.get("sord_conv__qty_stduom") + "]]></conv__qty_stduom>"); xmlBuff.append("<conv__qty_stduom><![CDATA[" + invTraceDetMap.get("sord_conv__qty_stduom") + "]]></conv__qty_stduom>");
xmlBuff.append("<quantity__stduom><![CDATA[" + invTraceDetMap.get("desp_quantity__stduom") + "]]></quantity__stduom>"); xmlBuff.append("<quantity__stduom><![CDATA[" + invTraceDetMap.get("desp_quantity__stduom") + "]]></quantity__stduom>");
xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invTraceDetMap.get("conv__rtuom_stduom") + "]]></conv__rtuom_stduom>"); xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invTraceDetMap.get("conv__rtuom_stduom") + "]]></conv__rtuom_stduom>");
xmlBuff.append("<rate__stduom><![CDATA[" + invTraceDetMap.get("desp_rate__stduom") + "]]></rate__stduom>"); xmlBuff.append("<rate__stduom><![CDATA[" + invTraceDetMap.get("desp_rate__stduom") + "]]></rate__stduom>");
xmlBuff.append("<comm_amt__oc><![CDATA[]]></comm_amt__oc>"); //comm_amt__oc missing xmlBuff.append("<comm_amt__oc><![CDATA[0]]></comm_amt__oc>"); //comm_amt__oc missing
xmlBuff.append("<sord_no><![CDATA[" + invTraceDetMap.get("sord_no") + "]]></sord_no>"); xmlBuff.append("<sord_no><![CDATA[" + invTraceDetMap.get("sord_no") + "]]></sord_no>");
xmlBuff.append("<sord_line_no><![CDATA[" + invTraceDetMap.get("line_no__sord") + "]]></sord_line_no>"); xmlBuff.append("<sord_line_no><![CDATA[" + invTraceDetMap.get("line_no__sord") + "]]></sord_line_no>");
xmlBuff.append("<item_code__ord><![CDATA[" + invTraceDetMap.get("item_code__ord") + "]]></item_code__ord>"); xmlBuff.append("<item_code__ord><![CDATA[" + invTraceDetMap.get("item_code__ord") + "]]></item_code__ord>");
...@@ -697,14 +768,19 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -697,14 +768,19 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
if(lc_disc_amt > 0) if(lc_disc_amt > 0)
{ {
ld_discount=(lc_disc_amt * 100)/(Double.parseDouble(invTraceDetMap.get("desp_quantity__stduom")==null?"0.00":invTraceDetMap.get("desp_quantity__stduom")) * Double.parseDouble(invTraceDetMap.get("desp_rate__stduom")==null?"0.00":invTraceDetMap.get("desp_rate__stduom"))); ld_discount=(lc_disc_amt * 100)/(Double.parseDouble(invTraceDetMap.get("desp_quantity__stduom")==null?"0.00":invTraceDetMap.get("desp_quantity__stduom")) * Double.parseDouble(invTraceDetMap.get("desp_rate__stduom")==null?"0.00":invTraceDetMap.get("desp_rate__stduom")));
}
xmlBuff.append("<discount><![CDATA["+ld_discount+"]]></discount>"); xmlBuff.append("<discount><![CDATA["+ld_discount+"]]></discount>");
}
xmlBuff.append("<line_type><![CDATA["+invTraceDetMap.get("line_type")+"]]></line_type>"); xmlBuff.append("<line_type><![CDATA["+invTraceDetMap.get("line_type")+"]]></line_type>");
xmlBuff.append("<cust_item__ref><![CDATA["+invTraceDetMap.get("cust_item__ref")+"]]></cust_item__ref>"); xmlBuff.append("<cust_item__ref><![CDATA["+invTraceDetMap.get("cust_item__ref")+"]]></cust_item__ref>");
xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invTraceDetMap.get("disc_schem_billback_amt") + "]]></disc_schem_billback_amt>"); xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invTraceDetMap.get("disc_schem_billback_amt") + "]]></disc_schem_billback_amt>");
xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invTraceDetMap.get("disc_schem_offinv_amt") + "]]></disc_schem_offinv_amt>"); xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invTraceDetMap.get("disc_schem_offinv_amt") + "]]></disc_schem_offinv_amt>");
xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>"); xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>");
ld_tot_amt = (Double.parseDouble(invTraceDetMap.get("desp_quantity__stduom")==null?"0.00":invTraceDetMap.get("desp_quantity__stduom")) * Double.parseDouble(invTraceDetMap.get("desp_rate__stduom")==null?"0.00":invTraceDetMap.get("desp_rate__stduom")));
ld_disc_amt = (ld_tot_amt * Double.parseDouble(invTraceDetMap.get("discount")==null?"0.00":invTraceDetMap.get("discount"))) / 100;
ld_net_amt = (ld_tot_amt + 0 - ld_disc_amt) - (Double.parseDouble(invTraceDetMap.get("disc_schem_offinv_amt")==null?"0.00":invTraceDetMap.get("disc_schem_offinv_amt"))) ;
xmlBuff.append("<net_amt><![CDATA[" +ld_net_amt+ "]]></net_amt>");
xmlBuff.append("</Detail2>"); xmlBuff.append("</Detail2>");
// } // }
...@@ -723,7 +799,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -723,7 +799,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
* */ * */
// invDetBeanMap=mainInvDespDetMap.get(keyStr); // invDetBeanMap=mainInvDespDetMap.get(keyStr);
invDetBeanMap=(HashMap<String, Object>) dataList.get(1); invDetBeanMap=(HashMap<String, Object>) dataList.get(1);
System.out.println("@@@@@@@@@@@ invDetBeanMap["+invDetBeanMap+"]"); System.out.println("@@@@@@@@@@@ invDetBeanMap["+invDetBeanMap.toString()+"]");
for(String keyStr:invDetBeanMap.keySet()) for(String keyStr:invDetBeanMap.keySet())
{ {
System.out.println("Detail 3:::::::::::"); System.out.println("Detail 3:::::::::::");
...@@ -731,6 +807,33 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -731,6 +807,33 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
invoiceDetBean=(InvoiceDetBean) invDetBeanMap.get(keyStr); invoiceDetBean=(InvoiceDetBean) invDetBeanMap.get(keyStr);
sql="select descr from item where item_code = ?";
pstmt2= conn.prepareStatement(sql);
pstmt2.setString(1, invoiceDetBean.getItem_code() );
rs2=pstmt2.executeQuery();
if(rs2.next())
{
itemDescr =rs2.getString("descr");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
/*String lineStr=String.valueOf(lineNoDet);
lineStr=" "+lineStr;
lineStr=lineStr.substring(lineStr.length()-3, lineStr.length());
commissionMap=sordcnf.calcCommission(invDespMap.get("sord_no"),lineStr , conn);
retString= checknull((String)commissionMap.get("errorStr"));
if(retString.trim().length() > 0)
{
return retString;
}
totalCommSp1= checkDouble((Double)commissionMap.get("sp1Comm"));
totalCommSp2= checkDouble((Double)commissionMap.get("sp2Comm"));
totalCommSp3= checkDouble((Double)commissionMap.get("sp3Comm"));
totalCommAmt = checkDouble((Double)commissionMap.get("netComm"));*/
xmlBuff.append("<Detail3 dbID=\"\" domID=\""+lineNoDet+"\" objContext=\"3\" objName=\"invoice_po\">"); xmlBuff.append("<Detail3 dbID=\"\" domID=\""+lineNoDet+"\" objContext=\"3\" objName=\"invoice_po\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>"); xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<invoice_id/>"); xmlBuff.append("<invoice_id/>");
...@@ -738,6 +841,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -738,6 +841,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("<sord_no><![CDATA[" + invoiceDetBean.getSord_no()+ "]]></sord_no>"); xmlBuff.append("<sord_no><![CDATA[" + invoiceDetBean.getSord_no()+ "]]></sord_no>");
xmlBuff.append("<sord_line_no><![CDATA[" + invoiceDetBean.getLine_no__sord() + "]]></sord_line_no>"); xmlBuff.append("<sord_line_no><![CDATA[" + invoiceDetBean.getLine_no__sord() + "]]></sord_line_no>");
xmlBuff.append("<item_code><![CDATA[" + invoiceDetBean.getItem_code() + "]]></item_code>"); xmlBuff.append("<item_code><![CDATA[" + invoiceDetBean.getItem_code() + "]]></item_code>");
xmlBuff.append("<item_descr><![CDATA[" + itemDescr + "]]></item_descr>");
xmlBuff.append("<item_code__ord><![CDATA[" + invoiceDetBean.getItem_code__ord() + "]]></item_code__ord>"); xmlBuff.append("<item_code__ord><![CDATA[" + invoiceDetBean.getItem_code__ord() + "]]></item_code__ord>");
xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>"); //item_flag missing xmlBuff.append("<item_flg><![CDATA[I]]></item_flg>"); //item_flag missing
xmlBuff.append("<quantity><![CDATA[" + invoiceDetBean.getmTotDespQty()+ "]]></quantity>"); xmlBuff.append("<quantity><![CDATA[" + invoiceDetBean.getmTotDespQty()+ "]]></quantity>");
...@@ -751,15 +855,25 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -751,15 +855,25 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invoiceDetBean.getConv__rtuom_stduom() + "]]></conv__rtuom_stduom>"); xmlBuff.append("<conv__rtuom_stduom><![CDATA[" + invoiceDetBean.getConv__rtuom_stduom() + "]]></conv__rtuom_stduom>");
xmlBuff.append("<rate__stduom><![CDATA[" + invoiceDetBean.getDesp_rate__stduom() + "]]></rate__stduom>"); xmlBuff.append("<rate__stduom><![CDATA[" + invoiceDetBean.getDesp_rate__stduom() + "]]></rate__stduom>");
xmlBuff.append("<discount><![CDATA[" + invoiceDetBean.getDiscount() + "]]></discount>"); xmlBuff.append("<discount><![CDATA[" + invoiceDetBean.getDiscount() + "]]></discount>");
xmlBuff.append("<disc_amt><![CDATA[" + invoiceDetBean.getDisc_amt() + "]]></disc_amt>"); ld_disc_amt=0;
ld_disc_amt =(invoiceDetBean.getmTotStdQty() * (Double.parseDouble(invoiceDetBean.getDesp_rate__stduom()==null?"0.00":invoiceDetBean.getDesp_rate__stduom()))*(Double.parseDouble(invoiceDetBean.getDiscount()==null?"0.00":invoiceDetBean.getDiscount())))/100;
xmlBuff.append("<disc_amt><![CDATA[" + ld_disc_amt + "]]></disc_amt>");
//xmlBuff.append("<disc_amt><![CDATA[" + invoiceDetBean.getDisc_amt() + "]]></disc_amt>");
xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invoiceDetBean.getDisc_schem_billback_amt()+ "]]></disc_schem_billback_amt>"); xmlBuff.append("<disc_schem_billback_amt><![CDATA[" + invoiceDetBean.getDisc_schem_billback_amt()+ "]]></disc_schem_billback_amt>");
xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invoiceDetBean.getDisc_schem_offinv_amt() + "]]></disc_schem_offinv_amt>"); xmlBuff.append("<disc_schem_offinv_amt><![CDATA[" + invoiceDetBean.getDisc_schem_offinv_amt() + "]]></disc_schem_offinv_amt>");
xmlBuff.append("<acc_code__item><![CDATA[" + invoiceDetBean.getAcc_code__item() + "]]></acc_code__item>"); xmlBuff.append("<acc_code__item><![CDATA[" + invoiceDetBean.getAcc_code__item() + "]]></acc_code__item>");
xmlBuff.append("<comm_amt><![CDATA[]]></comm_amt>"); //comm_amt missing //Start added by chandrashekar on 01-09-2016
xmlBuff.append("<comm_amt><![CDATA["+invoiceDetBean.getNetComm()+"]]></comm_amt>"); //comm_amt missing
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invoiceDetBean.getSp1Comm()+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invoiceDetBean.getSp2Comm()+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invoiceDetBean.getSp3Comm()+"]]></sales_pers_comm_3>");
//End added by chandrashekar on 01-09-2016
/*xmlBuff.append("<comm_amt><![CDATA[]]></comm_amt>"); //comm_amt missing
xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>"); xmlBuff.append("<sales_pers_comm_1><![CDATA["+invDespMap.get("sales_pers_comm_1")+"]]></sales_pers_comm_1>");
xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>"); xmlBuff.append("<sales_pers_comm_2><![CDATA["+invDespMap.get("sales_pers_comm_2")+"]]></sales_pers_comm_2>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>"); xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>"); */
//xmlBuff.append("<sales_pers_comm_3><![CDATA["+invDespMap.get("sales_pers_comm_3")+"]]></sales_pers_comm_3>");
xmlBuff.append("<comm_amt__oc><![CDATA[]]></comm_amt__oc>"); //comm_amt__oc missing xmlBuff.append("<comm_amt__oc><![CDATA[]]></comm_amt__oc>"); //comm_amt__oc missing
// xmlBuff.append("<tax_class><![CDATA["+invoiceDetBean.getTax_class()+"]]></tax_class>"); // xmlBuff.append("<tax_class><![CDATA["+invoiceDetBean.getTax_class()+"]]></tax_class>");
// xmlBuff.append("<tax_chap><![CDATA["+invoiceDetBean.getTax_chap()+"]]></tax_chap>"); // xmlBuff.append("<tax_chap><![CDATA["+invoiceDetBean.getTax_chap()+"]]></tax_chap>");
...@@ -777,8 +891,6 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -777,8 +891,6 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
xmlBuff.append("</Detail3>"); xmlBuff.append("</Detail3>");
} }
xmlBuff.append("</Header0>"); xmlBuff.append("</Header0>");
xmlBuff.append("</group0>"); xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>"); xmlBuff.append("</DocumentRoot>");
...@@ -807,6 +919,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -807,6 +919,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
tranId = arrayForTranIdIssue[1].substring(0, endIndexIssue); tranId = arrayForTranIdIssue[1].substring(0, endIndexIssue);
System.out.println("@V@ Tran id :- [" + tranId + "]"); System.out.println("@V@ Tran id :- [" + tranId + "]");
sql="update invdet set net_amt=(quantity__stduom*rate__stduom)- ( case when disc_amt is null then 0 else disc_amt end ) +tax_amt where invoice_id=?"; sql="update invdet set net_amt=(quantity__stduom*rate__stduom)- ( case when disc_amt is null then 0 else disc_amt end ) +tax_amt where invoice_id=?";
//sql="update invdet set net_amt=(quantity__stduom*rate__stduom)-disc_amt+tax_amt where invoice_id=?"; //sql="update invdet set net_amt=(quantity__stduom*rate__stduom)-disc_amt+tax_amt where invoice_id=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
...@@ -835,7 +948,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -835,7 +948,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
pstmt.setDouble(2,taxAmt); pstmt.setDouble(2,taxAmt);
pstmt.setDouble(3,commAmt); pstmt.setDouble(3,commAmt);
pstmt.setDouble(4,discAmt); pstmt.setDouble(4,discAmt);
pstmt.setDouble(5,netAmt-taxAmt); pstmt.setDouble(5,(netAmt+discAmt)-taxAmt);
pstmt.setString(6,tranId); pstmt.setString(6,tranId);
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
...@@ -861,11 +974,11 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -861,11 +974,11 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
double totTaxAmt=0,totNetAmt=0; double totTaxAmt=0,totNetAmt=0;
fos1.write(("Invoice successful for Dispatch id :- ["+despIdKey+"] TranId generated is:- [" + tranId +"]\n END \r\n\n").getBytes()); fos1.write(("Invoice successful for Dispatch id :- ["+despIdKey+"] TranId generated is:- [" + tranId +"]\n END \r\n\n").getBytes());
pstmt=conn.prepareStatement("update invoice_trace set net_amt=(quantity__stduom*rate__stduom) where invoice_id=? "); /*pstmt=conn.prepareStatement("update invoice_trace set net_amt=(quantity__stduom*rate__stduom) where invoice_id=? ");
pstmt.setString(1, tranId); pstmt.setString(1, tranId);
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;*/
sql="update invdet set tax_class=?,tax_chap=?,tax_env=?,tax_amt=0,net_amt=0 where invoice_id=?"; sql="update invdet set tax_class=?,tax_chap=?,tax_env=?,tax_amt=0,net_amt=0 where invoice_id=?";
pstmt1=conn.prepareStatement(sql); pstmt1=conn.prepareStatement(sql);
...@@ -877,10 +990,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -877,10 +990,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
pstmt1.close(); pstmt1.close();
pstmt1=null; pstmt1=null;
pstmt=conn.prepareStatement("select sord_no,sord_line_no,tax_class,tax_chap,tax_env,sum(tax_amt),sum(net_amt)" /*pstmt=conn.prepareStatement("select sord_no,sord_line_no,tax_class,tax_chap,tax_env,sum(tax_amt),sum(net_amt)"
+ " from invoice_trace"
+ " where invoice_id=? "
+ " group by sord_no,sord_line_no,tax_class,tax_chap,tax_env");*/
pstmt=conn.prepareStatement("select sord_no,line_no,tax_class,tax_chap,tax_env,sum(tax_amt),sum(net_amt)"
+ " from invoice_trace" + " from invoice_trace"
+ " where invoice_id=? " + " where invoice_id=? "
+ " group by sord_no,sord_line_no,tax_class,tax_chap,tax_env"); + " group by sord_no,line_no,tax_class,tax_chap,tax_env");
pstmt.setString(1,tranId); pstmt.setString(1,tranId);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
...@@ -898,7 +1015,8 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -898,7 +1015,8 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
sql="update invdet set tax_class=?,tax_chap=?,tax_env=?,tax_amt=tax_amt+?,net_amt=net_amt+?+?" sql="update invdet set tax_class=?,tax_chap=?,tax_env=?,tax_amt=tax_amt+?,net_amt=net_amt+?+?"
+ " where invoice_id=? " + " where invoice_id=? "
+ " and sord_no=? " + " and sord_no=? "
+ " and sord_line_no=?"; //+ " and sord_line_no=?";
+ " and line_no=?";
pstmt1=conn.prepareStatement(sql); pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,taxClass); pstmt1.setString(1,taxClass);
pstmt1.setString(2,taxChap); pstmt1.setString(2,taxChap);
...@@ -910,15 +1028,6 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -910,15 +1028,6 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
pstmt1.setString(8,sordNo); pstmt1.setString(8,sordNo);
pstmt1.setString(9,soLineNo); pstmt1.setString(9,soLineNo);
pstmt1.executeUpdate(); pstmt1.executeUpdate();
// Changed by Sneha on 09-09-2016, for Closing the Open Cursor [Start]
if( pstmt1 != null )
{
pstmt1.close();
pstmt1 = null;
}
// Changed by Sneha on 09-09-2016, for Closing the Open Cursor [End]
} }
rs.close(); rs.close();
rs=null; rs=null;
...@@ -935,7 +1044,45 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -935,7 +1044,45 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
sql="update despatchdet set invoice_id = ?,quantity_inv=? where desp_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setDouble(2,Double.parseDouble(invTraceDetMap.get("quantity")));
pstmt.setString(3,invTraceDetMap.get("desp_id"));
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
if(sysDate != null)
{
sysDateTs = java.sql.Timestamp.valueOf(genericUtility.getValidDateString(sysDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
sql="update invoice_trace set chg_term = ?,chg_user=? ,chg_date=? where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,termId);
pstmt.setString(2,userId);
pstmt.setTimestamp(3, sysDateTs);
pstmt.setString(4,tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
sql="update invdet set chg_term = ?,chg_user=? ,chg_date=? where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,termId);
pstmt.setString(2,userId);
pstmt.setTimestamp(3, sysDateTs);
pstmt.setString(4,tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
sql="update invoice set chg_term = ?,chg_user=? ,chg_date=? where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,termId);
pstmt.setString(2,userId);
pstmt.setTimestamp(3, sysDateTs);
pstmt.setString(4,tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
/** /**
* Call Credit check component * Call Credit check component
* PostOrdCreditChk.java * PostOrdCreditChk.java
...@@ -946,18 +1093,37 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -946,18 +1093,37 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
// retString=pCrdChk.creditCheck(invDespMap.get("cust_code"),invDespMap.get("cust_code__bil"), invDespMap.get("item_ser"), "0.00",runOpt,//Net amount missing // retString=pCrdChk.creditCheck(invDespMap.get("cust_code"),invDespMap.get("cust_code__bil"), invDespMap.get("item_ser"), "0.00",runOpt,//Net amount missing
// invDespMap.get("sord_no"), ldsInvHdrMp.get("invoice__date"), invDespMap.get("desp_site_code"), "I", despId,conn); // invDespMap.get("sord_no"), ldsInvHdrMp.get("invoice__date"), invDespMap.get("desp_site_code"), "I", despId,conn);
// temp cpatil
/** /**
* Invoice Posting * Invoice Posting
* */ * */
// temp cpatil /*System.out.println("@@@@@@@@@@@cpatil Invoice posting start....................");
// PostOrdInvoicePost invPost=new PostOrdInvoicePost();
// retString=invPost.invoicePosting(tranId, conn); PostOrdInvoicePostLocal PostOrdInvoicePost = null;
System.out.println("Invoice posting ret string :- ["+retString+"]"); AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
PostOrdInvoicePost = (PostOrdInvoicePostLocal) ctx.lookup("ibase/PostOrdInvoicePost/local");
String forcedFlag="N";
String retString1=PostOrdInvoicePost.invoicePosting(tranId, xtraParams, forcedFlag,conn);
System.out.println("PostOrdInvoicePost return string >>>>"+retString1);
PostOrdInvoicePost invPost=new PostOrdInvoicePost();
String retString1=invPost.invoicePosting(tranId, conn);
System.out.println("Invoice posting ret string :- ["+retString1+"]");
if( retString1 != null && retString1.trim().length() > 0 )
{
return retString1;
}
sql="update invoice set confirmed = 'Y' where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;*/
} }
else else
...@@ -1415,12 +1581,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1415,12 +1581,14 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
String quantity="",loc_code="",desp_conv__qty_stduom="",desp_unit__std="",unit="",desp_quantity__stduom="",tax_class="",tax_chap="",tax_env=""; String quantity="",loc_code="",desp_conv__qty_stduom="",desp_unit__std="",unit="",desp_quantity__stduom="",tax_class="",tax_chap="",tax_env="";
String discount="",unit__rate="",sord_conv__qty_stduom="",conv__rtuom_stduom="",sord_unit__std="",sord_quantity__stduom="",sord_rate__stduom=""; String discount="",unit__rate="",sord_conv__qty_stduom="",conv__rtuom_stduom="",sord_unit__std="",sord_quantity__stduom="",sord_rate__stduom="";
String rate="",quantity_real="",quantity_inv="",invoice_id="",no_art="",rate__clg="",desp_rate__stduom="",disc_amt="",cust_item__ref=""; String rate="",quantity_real="",quantity_inv="",invoice_id="",no_art="",rate__clg="",desp_rate__stduom="",disc_amt="",cust_item__ref="";
String disc_schem_billback_amt="",disc_schem_offinv_amt=""; String disc_schem_billback_amt="",disc_schem_offinv_amt="",retString="";
double totalCommSp1=0.0,totalCommSp2=0.0,totalCommSp3=0.0,totalCommAmt=0.0;
double lc_desp_std_rate=0.0;
PreparedStatement pstmt=null; PreparedStatement pstmt=null;
ResultSet rs=null; ResultSet rs=null;
String beanMapKey="",lsLineType=""; String beanMapKey="",lsLineType="";
ArrayList<Object> mainArrayList= new ArrayList<Object>(); ArrayList<Object> mainArrayList= new ArrayList<Object>();
HashMap commissionMap = null;
/** /**
* Generate Bean object * Generate Bean object
* */ * */
...@@ -1430,24 +1598,24 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1430,24 +1598,24 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
invDespDetSql="SELECT despatchdet.desp_id,despatchdet.line_no,despatchdet.sord_no,despatchdet.line_no__sord,despatchdet.exp_lev," invDespDetSql="SELECT despatchdet.desp_id,despatchdet.line_no,despatchdet.sord_no,despatchdet.line_no__sord,despatchdet.exp_lev,"
+ "despatchdet.item_code__ord,despatchdet.item_code,despatchdet.lot_no,despatchdet.lot_sl,despatchdet.quantity__ord," + "despatchdet.item_code__ord,despatchdet.item_code,despatchdet.lot_no,despatchdet.lot_sl,despatchdet.quantity__ord,"
+ "despatchdet.quantity,despatchdet.loc_code,despatchdet.status,despatchdet.conv__qty_stduom,despatchdet.unit__std," + "despatchdet.quantity,despatchdet.loc_code,despatchdet.status,despatchdet.conv__qty_stduom,despatchdet.unit__std,"
+ "despatchdet.unit,despatchdet.quantity__stduom,sorddet.tax_class,sorddet.tax_chap,sorddet.tax_env," + "despatchdet.unit,despatchdet.quantity__stduom as dquantity__stduom,sorddet.tax_class,sorddet.tax_chap,sorddet.tax_env,"
+ "sorddet.discount,sorddet.unit__rate,sorddet.conv__qty_stduom,sorddet.conv__rtuom_stduom,sorddet.unit__std," + "sorddet.discount,sorddet.unit__rate,sorddet.conv__qty_stduom,sorddet.conv__rtuom_stduom,sorddet.unit__std,"
+ "sorddet.quantity__stduom,sorddet.rate__stduom,sorddet.rate,despatchdet.quantity_real,despatchdet.quantity_inv," + "sorddet.quantity__stduom as squantity__stduom,sorddet.rate__stduom as srate__stduom,sorddet.rate,despatchdet.quantity_real,despatchdet.quantity_inv,"
+ "despatchdet.invoice_id,despatchdet.no_art,despatchdet.rate__clg,despatchdet.rate__stduom,despatchdet.disc_amt," + "despatchdet.invoice_id,despatchdet.no_art,despatchdet.rate__clg,despatchdet.rate__stduom as drate__stduom ,despatchdet.disc_amt,"
+ "despatchdet.cust_item__ref,despatchdet.disc_schem_billback_amt,despatchdet.disc_schem_offinv_amt" + "despatchdet.cust_item__ref,despatchdet.disc_schem_billback_amt,despatchdet.disc_schem_offinv_amt"
+ " FROM despatchdet,sorddet" + " FROM despatchdet,sorddet"
+ " WHERE ( despatchdet.sord_no = sorddet.sale_order )" + " WHERE ( despatchdet.sord_no = sorddet.sale_order )"
+ " and( despatchdet.line_no__sord = sorddet.line_no )" + " and( despatchdet.line_no__sord = sorddet.line_no )"
+ " and( ( case when DESPATCHDET.STATUS is null then ' ' else despatchdet.STATUS end = ? )" + " and( ( case when DESPATCHDET.STATUS is null then ' ' else despatchdet.STATUS end = ? )"
+ " AND( DESPATCHDET.SORD_NO = ?)" //+ " AND( DESPATCHDET.SORD_NO = ?)"
+ " AND( DESPATCHDET.DESP_ID >= ?)" + " AND( DESPATCHDET.DESP_ID >= ?)"
+ " AND( DESPATCHDET.DESP_ID <= ? ) )" + " AND( DESPATCHDET.DESP_ID <= ? ) )"
+ " ORDER BY despatchdet.sord_no ASC,despatchdet.line_no__sord ASC,despatchdet.exp_lev ASC"; + " ORDER BY despatchdet.sord_no ASC,despatchdet.line_no__sord ASC,despatchdet.exp_lev ASC";
pstmt=conn.prepareStatement(invDespDetSql); pstmt=conn.prepareStatement(invDespDetSql);
pstmt.setString(1,status); pstmt.setString(1,status);
pstmt.setString(2,sordNo); //pstmt.setString(2,sordNo);
pstmt.setString(2,despId);
pstmt.setString(3,despId); pstmt.setString(3,despId);
pstmt.setString(4,despId);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
...@@ -1469,7 +1637,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1469,7 +1637,7 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
desp_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom")); desp_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom"));
desp_unit__std=checknull(rs.getString("unit__std")); desp_unit__std=checknull(rs.getString("unit__std"));
unit=checknull(rs.getString("unit")); unit=checknull(rs.getString("unit"));
desp_quantity__stduom=checknull(rs.getString("quantity__stduom")); desp_quantity__stduom=checknull(rs.getString("dquantity__stduom"));
tax_class=checknull(rs.getString("tax_class")); tax_class=checknull(rs.getString("tax_class"));
tax_chap=checknull(rs.getString("tax_chap")); tax_chap=checknull(rs.getString("tax_chap"));
tax_env=checknull(rs.getString("tax_env")); tax_env=checknull(rs.getString("tax_env"));
...@@ -1478,21 +1646,32 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1478,21 +1646,32 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
sord_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom")); sord_conv__qty_stduom=checknull(rs.getString("conv__qty_stduom"));
conv__rtuom_stduom=checknull(rs.getString("conv__rtuom_stduom")); conv__rtuom_stduom=checknull(rs.getString("conv__rtuom_stduom"));
sord_unit__std=checknull(rs.getString("unit__std")); sord_unit__std=checknull(rs.getString("unit__std"));
sord_quantity__stduom=checknull(rs.getString("quantity__stduom")); sord_quantity__stduom=checknull(rs.getString("squantity__stduom"));
sord_rate__stduom=checknull(rs.getString("rate__stduom")); sord_rate__stduom=checknull(rs.getString("srate__stduom"));
rate=checknull(rs.getString("rate")); //rate=checknull(rs.getString("rate"));
lc_desp_std_rate=Double.parseDouble(checkNullDouble(rs.getString("drate__stduom")));
if(lc_desp_std_rate>0)
{
rate =""+(lc_desp_std_rate/Double.parseDouble(checkNullDouble(conv__rtuom_stduom)));
}else
{
rate =""+(lc_desp_std_rate);
}
quantity_real=checknull(rs.getString("quantity_real")); quantity_real=checknull(rs.getString("quantity_real"));
quantity_inv=checknull(rs.getString("quantity_inv")); quantity_inv=checknull(rs.getString("quantity_inv"));
invoice_id=checknull(rs.getString("invoice_id")); invoice_id=checknull(rs.getString("invoice_id"));
no_art=checknull(rs.getString("no_art")); no_art=checknull(rs.getString("no_art"));
rate__clg=checknull(rs.getString("rate__clg")); rate__clg=checknull(rs.getString("rate__clg"));
desp_rate__stduom=checknull(rs.getString("rate__stduom")); desp_rate__stduom=checknull(rs.getString("drate__stduom"));
disc_amt=checknull(rs.getString("disc_amt")); disc_amt=checknull(rs.getString("disc_amt"));
cust_item__ref=checknull(rs.getString("cust_item__ref")); cust_item__ref=checknull(rs.getString("cust_item__ref"));
disc_schem_billback_amt=checknull(rs.getString("disc_schem_billback_amt")); disc_schem_billback_amt=checknull(rs.getString("disc_schem_billback_amt"));
disc_schem_offinv_amt=checknull(rs.getString("disc_schem_offinv_amt")); disc_schem_offinv_amt=checknull(rs.getString("disc_schem_offinv_amt"));
if(disc_schem_offinv_amt == null || disc_schem_offinv_amt.trim().length()==0)
{
disc_schem_offinv_amt="0";
}
invTraceMap.put("desp_id", desp_id); invTraceMap.put("desp_id", desp_id);
invTraceMap.put("line_no", line_no); invTraceMap.put("line_no", line_no);
...@@ -1566,6 +1745,31 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1566,6 +1745,31 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
// invDespDetMap.put("cust_item__ref", lsCustitemRef); // invDespDetMap.put("cust_item__ref", lsCustitemRef);
// mainInvDespDetMap.put(rs.getString("desp_id"), invDespDetMap); // mainInvDespDetMap.put(rs.getString("desp_id"), invDespDetMap);
//Start Added by chandrashekar on 01-09-2016
double ld_tot_amt=0.0,ld_net_amt=0.0,ld_tax_amt=0.0,ld_disc_amt=0.0;
ld_tot_amt = (Double.parseDouble(desp_quantity__stduom) * Double.parseDouble(desp_rate__stduom));
ld_disc_amt = (ld_tot_amt * Double.parseDouble(discount)) / 100;
ld_net_amt = (ld_tot_amt + ld_tax_amt - ld_disc_amt) - (Double.parseDouble(disc_schem_offinv_amt));
invTraceMap.put("tax_amt",String.valueOf(ld_tax_amt));
invTraceMap.put("net_amt",String.valueOf(ld_net_amt));
System.out.println("line_no["+line_no+"]");
String lineStr="";
lineStr=" "+checknull(line_no).trim();
lineStr=lineStr.substring(lineStr.length()-3, lineStr.length());
System.out.println("lineStr>>>["+lineStr+"]");
commissionMap=calcCommission(invTraceMap,lineStr,conn);
retString= checknull((String)commissionMap.get("errorStr"));
totalCommSp1= checkDouble((Double)commissionMap.get("sp1Comm"));
totalCommSp2= checkDouble((Double)commissionMap.get("sp2Comm"));
totalCommSp3= checkDouble((Double)commissionMap.get("sp3Comm"));
totalCommAmt = checkDouble((Double)commissionMap.get("netComm"));
invTraceMap.put("sp1Comm", commissionMap.get("sp1Comm").toString());
invTraceMap.put("sp2Comm", commissionMap.get("sp2Comm").toString());
invTraceMap.put("sp3Comm", commissionMap.get("sp3Comm").toString());
invTraceMap.put("netComm", commissionMap.get("netComm").toString());
//End Added by chandrashekar on 01-09-2016
System.out.println("@@@@@@@@@@@@@@@@@ invTraceMap["+invTraceMap+"]"); System.out.println("@@@@@@@@@@@@@@@@@ invTraceMap["+invTraceMap+"]");
mainInvDespDetMap.put(rs.getString("line_no"), invTraceMap); mainInvDespDetMap.put(rs.getString("line_no"), invTraceMap);
...@@ -1573,7 +1777,9 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1573,7 +1777,9 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
System.out.println("@@@@@@@@@@@@@@@@@ mainInvDespDetMap["+mainInvDespDetMap+"]"); System.out.println("@@@@@@@@@@@@@@@@@ mainInvDespDetMap["+mainInvDespDetMap+"]");
beanMapKey=rs.getString("sord_no").trim()+"@".trim()+rs.getString("line_no__sord").trim(); //beanMapKey=rs.getString("sord_no").trim()+"@".trim()+rs.getString("line_no__sord").trim();
beanMapKey=rs.getString("sord_no").trim()+"@".trim()+rs.getString("line_no").trim();
System.out.println("beanMapKey>>>>["+beanMapKey+"]");
/** /**
* Check generated key is exist in * Check generated key is exist in
* Bean map * Bean map
...@@ -1627,8 +1833,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1627,8 +1833,13 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
invoiceDetBean.setDisc_schem_offinv_amt(checknull(disc_schem_offinv_amt)); invoiceDetBean.setDisc_schem_offinv_amt(checknull(disc_schem_offinv_amt));
invoiceDetBean.setAcc_code__item(lsAcctSchemedet); invoiceDetBean.setAcc_code__item(lsAcctSchemedet);
invoiceDetBean.setFin_scheme(lsFinscheme); invoiceDetBean.setFin_scheme(lsFinscheme);
invoiceDetBean.setSp1Comm(commissionMap.get("sp1Comm").toString());//Start Added by chandrashekar on 01-09-2016
invoiceDetBean.setSp2Comm(commissionMap.get("sp2Comm").toString());//Start Added by chandrashekar on 01-09-2016
invoiceDetBean.setSp3Comm(commissionMap.get("sp3Comm").toString());//Start Added by chandrashekar on 01-09-2016
invoiceDetBean.setNetComm(commissionMap.get("netComm").toString());//Start Added by chandrashekar on 01-09-2016
invDetBeanMap.put(beanMapKey, invoiceDetBean); invDetBeanMap.put(beanMapKey, invoiceDetBean);
System.out.println("@@@@@1634 invoiceDetBean added into invDetBeanMap........");
} }
else else
{ {
...@@ -1820,6 +2031,19 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -1820,6 +2031,19 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
private String conv__rtuom_stduom; private String conv__rtuom_stduom;
private String sord_unit__std; private String sord_unit__std;
private String sp1Comm;
private String sp2Comm;
private String sp3Comm;
private String netComm;
public String getNetComm()
{
return netComm;
}
public void setNetComm(String netComm)
{
this.netComm = netComm;
}
public double getmTotDespQty() public double getmTotDespQty()
{ {
return mTotDespQty; return mTotDespQty;
...@@ -2188,7 +2412,30 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -2188,7 +2412,30 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
{ {
this.sord_unit__std = sord_unit__std; this.sord_unit__std = sord_unit__std;
} }
public String getSp1Comm()
{
return sp1Comm;
}
public void setSp1Comm(String sp1Comm)
{
this.sp1Comm = sp1Comm;
}
public String getSp2Comm()
{
return sp2Comm;
}
public void setSp2Comm(String sp2Comm)
{
this.sp2Comm = sp2Comm;
}
public String getSp3Comm()
{
return sp3Comm;
}
public void setSp3Comm(String sp3Comm)
{
this.sp3Comm = sp3Comm;
}
} }
/** /**
* *
...@@ -2604,4 +2851,1235 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB ...@@ -2604,4 +2851,1235 @@ public class PostOrdInvoiceGen extends ActionHandlerEJB
} }
private double geRndamt(double netAmt, String round, double roundTo)
{
// TODO Auto-generated method stub
double rndAmt=0.0,multiply=1,unrAmt=0;
try
{
if(netAmt<0)
{
netAmt=abs(netAmt);
}else if(netAmt==0)
{
return netAmt;
}else if("N".equalsIgnoreCase(round))
{
return netAmt;
}else if(roundTo==0)
{
return netAmt;
}
if("X".equalsIgnoreCase(round))
{
if(netAmt%roundTo>0)
{
rndAmt=netAmt-(netAmt%roundTo)+roundTo;
}else
{
rndAmt=netAmt;
}
}else if("P".equalsIgnoreCase(round))
{
rndAmt=netAmt-(netAmt%roundTo);
}else if("R".equalsIgnoreCase(round))
{
if(netAmt%roundTo<roundTo/2)
{
rndAmt=netAmt-(netAmt%roundTo);
}else
{
rndAmt=netAmt-(netAmt%roundTo)+roundTo;
}
}else
{
rndAmt=netAmt;
}
} catch (Exception e)
{
// TODO: handle exception
}
return rndAmt;
}
private double abs(double netAmt)
{
// TODO Auto-generated method stub
return 0;
}
private double checkDouble(Double double1)
{
if (double1 == null)
{
double1 = 0.0;
}
return double1;
}
public HashMap calcCommission(HashMap calcCommission,String lineNo ,Connection conn) throws ITMException
{
String sql="" ,currCode = "",baseCurrency = "",errorCode="",errString="";
String commPercOn="",currCodeComm="",commPercOn1="",currCodeComm1="",commPercOn2="",currCodeComm2="",dlvTerm="";
String commHdr = "N",commPercOnDet1="",commPercOnDet2="",commPercOnDet3="",itemCode="",siteCode="",finEntity="",insReqd="",frtReqd="";
String custCode="",itemSer="",salesPers="",salesPers1="",salesPers2="",priceListDate="";
String saleOrder="";
String despId="";
double exchRate=0,commPerc=0,exchRateComm=0,commPerc1=0,exchRateComm1=0,commPerc2=0,exchRateComm2=0,commPercDet1=0,commPercDet2=0,commPercDet3=0;
double taxAmt=0,netAmt=0,qtyStduom=0,rateStduom=0,frtAmt=0,exchFrtRate=0,insAmt=0,exchInsRate=0,fobAmt=0,netComm=0,ordPrice=0;
double commPerUnit=0,commBl1=0,commBl2=0,commBl3=0,commPerUnit1=0.0,commPerUnit2=0.0,commPerUnit3=0.0,qtyComm=0.0,qtyComm1=0.0,qtyComm2=0.0,qtyComm3=0.0;
double sp1Comm=0.0,sp2Comm=0.0,sp3Comm=0.0,totalCommBl=0.0,commAmt=0.0,commAmt1=0.0,commAmt2=0.0,commAmt3=0.0;
double baseAmtComm=0.0,baseAmtComm1=0.0,baseAmtComm2=0.0,baseAmtComm3=0.0,assessAmt=0.0,asesAmtComm=0.0,asesAmtComm1=0.0,asesAmtComm2=0.0,asesAmtComm3=0.0;
double salesAmt=0.0,taxAmtComm=0.0,taxAmtComm1=0.0,taxAmtComm2=0.0,taxAmtComm3=0.0,fobComm=0.0,fobComm1=0.0,fobComm2=0.0,fobComm3=0.0;
double fobQtyComm=0.0,fobQtyComm1=0.0,fobQtyComm2=0.0,fobQtyComm3=0.0,amtQtyComm=0.0,amtQtyComm1=0.0,amtQtyComm2=0.0,amtQtyComm3=0.0;
double taxAmtHdr=0.0,taxAmtDet=0.0,netAmtHdr=0.0,netAmtDet=0.0;
String ls_sitecd_d="",ls_currcd_d="",ls_currcd_frt_d="",ls_currcd_ins_d="",ls_curr_code__base="";
double lc_exchrt_d=0.0,lc_exchrt_frt_d=0.0,lc_exchrt_ins_d=0.0,lc_exch_rate=0.0;
double lc_exchrt=0.0;
String ldt_despdt="";
Date plDate=null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
HashMap commissionMap = null;
HashMap commPercMap = null;
HashMap commPercSalesMap=null;
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
try
{
commissionMap = new HashMap();
saleOrder=(String) calcCommission.get("sord_no");
//Get data from sale order...
sql ="SELECT dlv_term,curr_code,exch_rate,exch_rate__frt,exch_rate__ins," +
"ins_amt,frt_amt,comm_perc,comm_perc__on,curr_code__comm," +
"exch_rate__comm,comm_perc_1,comm_perc_on_1,curr_code__comm_1," +
"exch_rate__comm_1,comm_perc_2,comm_perc_on_2,curr_code__comm_2," +
"exch_rate__comm_2,pl_date,cust_code,item_ser,sales_pers," +
"sales_pers__1,sales_pers__2,tot_amt, tax_amt FROM sorder WHERE sale_order =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
rs = pstmt.executeQuery();
if(rs.next())
{
dlvTerm = rs.getString("dlv_term");
currCode = rs.getString("curr_code");
exchRate = rs.getDouble("exch_rate");
exchFrtRate =rs.getDouble("exch_rate__frt");
exchInsRate =rs.getDouble("exch_rate__ins");
insAmt = rs.getDouble("ins_amt");
frtAmt = rs.getDouble("frt_amt");
commPerc = rs.getDouble("comm_perc");
commPercOn = rs.getString("comm_perc__on");
currCodeComm = rs.getString("curr_code__comm");
exchRateComm = rs.getDouble("exch_rate__comm");
commPerc1 = rs.getDouble("comm_perc_1");
commPercOn1 = rs.getString("comm_perc_on_1");
currCodeComm1 = rs.getString("curr_code__comm_1");
exchRateComm1 = rs.getDouble("exch_rate__comm_1");
commPerc2 = rs.getDouble("comm_perc_2");
commPercOn2 = rs.getString("comm_perc_on_2");
commPercOn2 = rs.getString("comm_perc_on_2");
currCodeComm2 = rs.getString("curr_code__comm_2");
exchRateComm2 = rs.getDouble("exch_rate__comm_2");
priceListDate = rs.getString("pl_date");
custCode= rs.getString("cust_code");
itemSer= rs.getString("item_ser");
salesPers= rs.getString("sales_pers");
salesPers1= rs.getString("sales_pers__1");
salesPers2= rs.getString("sales_pers__2");
taxAmtHdr =rs.getDouble("tax_amt");
netAmtHdr =rs.getDouble("tot_amt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
commHdr = "N";
baseCurrency=currCode;
if( (commPerc > 0) || (commPerc1 > 0) || (commPerc2 > 0))
{
commHdr = "Y";
}
if("N".equalsIgnoreCase(commHdr) && lineNo.trim().length() > 0)
{
sql="SELECT comm_perc_on_1, comm_perc_on_2, comm_perc_on_3, comm_perc_1, comm_perc_2, comm_perc_3, " +
"tax_amt,net_amt FROM sorddet WHERE sale_order = ? AND line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
commPercOnDet1 =rs.getString("comm_perc_on_1");
commPercOnDet2 =rs.getString("comm_perc_on_2");
commPercOnDet3 =rs.getString("comm_perc_on_3");
commPercDet1 =rs.getDouble("comm_perc_1");
commPercDet2 =rs.getDouble("comm_perc_2");
commPercDet3 =rs.getDouble("comm_perc_3");
taxAmtDet =rs.getDouble("tax_amt");
netAmtDet =rs.getDouble("net_amt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(commPercOnDet1 != null && commPercOnDet1.trim().length() > 0)
{
commPercOn = commPercOnDet1;
}
if(commPercOnDet2 != null && commPercOnDet2.trim().length() > 0)
{
commPercOn1 = commPercOnDet2;
}
if(commPercOnDet3 != null && commPercOnDet3.trim().length() > 0)
{
commPercOn2 = commPercOnDet3;
}
if(commPercDet1 > 0)
{
commPerc = commPercDet1;
}
if(commPercDet2 > 0)
{
commPerc1 = commPercDet2;
}
if(commPercDet3 > 0)
{
commPerc2 = commPercDet3;
}
System.out.println(">>>>>> in detail commPercOn:"+commPercOn+" "+commPercOn1+" "+commPercOn2);
System.out.println(">>>>>> in detail commPerc:"+commPerc+" "+commPerc1+" "+commPerc2);
}
despId=(String) calcCommission.get("desp_id");
if(despId !=null && despId.trim().length()>0)
{
sql="select desp_date,site_code,curr_code,curr_code__frt,curr_code__ins,"+
"exch_rate,exch_rate__frt,exch_rate__ins" +
" from despatch where desp_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,despId);
rs = pstmt.executeQuery();
if(rs.next())
{
ldt_despdt =rs.getString("desp_date");
ls_sitecd_d =rs.getString("site_code");
ls_currcd_d =rs.getString("curr_code");
ls_currcd_frt_d =rs.getString("curr_code__frt");
ls_currcd_ins_d =rs.getString("curr_code__ins");
lc_exchrt_d =rs.getDouble("exch_rate");
lc_exchrt_frt_d = rs.getDouble("exch_rate__frt");
lc_exchrt_ins_d = rs.getDouble("exch_rate__ins");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="select curr_code from finent f, site s" +
" where f.fin_entity = s.fin_entity and s.site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ls_sitecd_d);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_curr_code__base = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(calcCommission.get("exch_rate")!= null)
{
lc_exchrt_d=checkDouble((Double) calcCommission.get("exch_rate"));
}
if(lc_exchrt_d>0)
{
lc_exchrt_d=lc_exchrt_d;
}
if(lc_exchrt_d==0)//// For Order Exch rate
{
lc_exchrt_d=finCommon.getDailyExchRateSellBuy(ls_currcd_d, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if(lc_exchrt_d>0)
{
lc_exch_rate = lc_exchrt_d;
}
}else
{
lc_exch_rate = lc_exchrt_d;
}
if(ls_currcd_frt_d.equalsIgnoreCase(ls_currcd_d))// For Frt Exch rate
{
exchFrtRate = lc_exch_rate;
}else if (lc_exchrt_frt_d==0)
{
lc_exchrt_frt_d=finCommon.getDailyExchRateSellBuy(ls_currcd_frt_d, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if(lc_exchrt_frt_d>0)
{
exchFrtRate = lc_exchrt_frt_d;
}
}else
{
exchFrtRate = lc_exchrt_frt_d;
}
if(ls_currcd_ins_d.equalsIgnoreCase(ls_currcd_d)) // For Ins Exch rate
{
exchInsRate = lc_exch_rate;
}else if(lc_exchrt_ins_d==0)
{
lc_exchrt_ins_d = finCommon.getDailyExchRateSellBuy(ls_currcd_ins_d, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if (lc_exchrt_ins_d > 0)
{
exchInsRate = lc_exchrt_ins_d;
}
}else
{
exchInsRate = lc_exchrt_ins_d;
}
if (currCodeComm != null && currCodeComm.trim().length()>0 ) // For Comm_1 Exch rate
{
if (currCodeComm.equalsIgnoreCase(ls_currcd_d))
{
exchRateComm = lc_exch_rate;
} else
{
lc_exchrt = finCommon.getDailyExchRateSellBuy(currCodeComm, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if (lc_exchrt > 0)
{
exchRateComm = lc_exchrt;
}
}
}
lc_exch_rate=0;
if (currCodeComm1 != null && currCodeComm1.trim().length()>0 ) // For Comm_2 Exch rate
{
if (currCodeComm1.equalsIgnoreCase(ls_currcd_d))
{
exchRateComm1 = lc_exch_rate;
} else
{
lc_exchrt = finCommon.getDailyExchRateSellBuy(currCodeComm1, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if (lc_exchrt > 0)
{
exchRateComm1 = lc_exchrt;
}
}
}
lc_exch_rate=0;
if (currCodeComm2 != null && currCodeComm2.trim().length()>0 ) // For Comm_2 Exch rate
{
if (currCodeComm2.equalsIgnoreCase(ls_currcd_d))
{
exchRateComm2 = lc_exch_rate;
} else
{
lc_exchrt = finCommon.getDailyExchRateSellBuy(currCodeComm2, ls_curr_code__base, ls_sitecd_d, ldt_despdt, "S", conn);
if (lc_exchrt > 0)
{
exchRateComm2 = lc_exchrt;
}
}
}
currCode = ls_currcd_d;
}
ls_curr_code__base = currCode;
if (lc_exch_rate==0)
{
lc_exch_rate = 1;
}
if (exchRate==0)
{
exchRate = 1;
}
if (exchFrtRate==0)
{
exchFrtRate = 1;
}
if (exchInsRate==0)
{
exchInsRate = 1;
}
currCode=checknull(currCode);
commPercOn=checknull(commPercOn);
commPercOn1=checknull(commPercOn1);
commPercOn2=checknull(commPercOn2);
currCodeComm=checknull(currCodeComm);
currCodeComm1=checknull(currCodeComm1);
currCodeComm2=checknull(currCodeComm2);
exchRateComm=(exchRateComm==0)?1:exchRateComm;
exchRateComm1=(exchRateComm1==0)?1:exchRateComm1;
exchRateComm2=(exchRateComm2==0)?1:exchRateComm2;
salesPers=checknull(salesPers);
salesPers1=checknull(salesPers1);
salesPers2=checknull(salesPers2);
//lineNo=checknull(lineNo);
if(despId== null || despId.trim().length()==0)
{
if ("Y".equalsIgnoreCase(commHdr))
{
netAmt = netAmtHdr;
taxAmt = taxAmtHdr;
} else
{
netAmt = netAmtDet;
taxAmt = taxAmtDet;
}
}else
{
netAmt = Double.parseDouble(calcCommission.get("net_amt").toString());
taxAmt = Double.parseDouble(calcCommission.get("tax_amt").toString());
}
if(lineNo.trim().length()>0)
{
if(despId==null || despId.trim().length()==0)
{
}else
{
if(netAmt<=0 && Double.parseDouble(calcCommission.get("desp_rate__stduom").toString()) >0)
{
errString = itmDBAccessLocal.getErrorString("","''VTCOMMERR''","");
commPercMap.put("errorStr", errString);
return commPercMap;
}
}
}else
{
if(netAmt <= 0)
{
errString = itmDBAccessLocal.getErrorString("","''VTCOMMERR''","");
commPercMap.put("errorStr", errString);
return commPercMap;
}
}
sql="SELECT ins_reqd,frt_reqd FROM delivery_term WHERE dlv_term = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, dlvTerm);
rs = pstmt.executeQuery();
if(rs.next())
{
insReqd = rs.getString("ins_reqd");
frtReqd = rs.getString("frt_reqd");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("netAmt>>>"+netAmt);
System.out.println("exchRate>>>"+exchRate);
netAmt =netAmt * exchRate;
taxAmt =taxAmt * exchRate;
frtAmt =frtAmt * exchFrtRate;
insAmt =insAmt * exchInsRate;
if("Y".equalsIgnoreCase(insReqd) && "Y".equalsIgnoreCase(frtReqd)) //CIF
{
fobAmt = netAmt - frtAmt - insAmt;
}
else if("N".equalsIgnoreCase(insReqd) && "Y".equalsIgnoreCase(frtReqd)) //C&F
{
fobAmt = netAmt - frtAmt;
}
else if("Y".equalsIgnoreCase(insReqd) && "N".equalsIgnoreCase(frtReqd)) //CIP
{
fobAmt = netAmt - insAmt;
}
else if("N".equalsIgnoreCase(insReqd) && "N".equalsIgnoreCase(frtReqd)) //FOB
{
fobAmt = netAmt;
}
fobAmt = fobAmt - taxAmt;
if(lineNo.trim().length() > 0)
{
System.out.println(">>>>>>qty for detail");
sql="SELECT quantity__stduom, rate__stduom, item_code FROM despatchdet where desp_id =? and line_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,despId);
pstmt.setString(2,lineNo.trim());
rs = pstmt.executeQuery();
if(rs.next())
{
qtyStduom = rs.getDouble(1);
rateStduom = rs.getDouble(2);
itemCode = rs.getString(3);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if("B".equalsIgnoreCase(commPercOn) || "B".equalsIgnoreCase(commPercOn1) || "B".equalsIgnoreCase(commPercOn2))
{
netComm=0;
ordPrice= rateStduom;
//Calling function for picking base comm perc for business logic
commPercMap=commPercBase(custCode,itemCode,itemSer,ordPrice,priceListDate,conn);
errString= checkNull((String) commPercMap.get("errorStr"));
commPerUnit= checkDouble((Double)commPercMap.get("commPerc"));
if(errString.trim().length() > 0)
{
commissionMap.put("errorStr", errString);
return commissionMap;
//goto exit_now
}
if(commPerUnit == 0 && commPerc == 0 && commPerc1 == 0 && commPerc2 == 0)
{
errString = itmDBAccessLocal.getErrorString("","VTNOPERC","");
netComm=0;
commissionMap.put("errorStr", errString);
return commissionMap;
}
}
//Option: Business Logic 1
if("B".equalsIgnoreCase(commPercOn) && commPerc==0)
{
//commision % not entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
commBl1= qtyStduom * commPerUnit * exchRateComm;
}
else
{
commBl1= qtyStduom * commPerUnit * exchRate;
}
}
else if("B".equalsIgnoreCase(commPercOn) && commPerc > 0)
{
//commission % entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
commBl1= qtyStduom * commPerc * exchRateComm;
}
else
{
commBl1= qtyStduom * commPerc * exchRate;
}
}
//Option: Business Logic 2
if("B".equalsIgnoreCase(commPercOn1) && commPerc1==0)
{
//commision % not entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
commBl2= qtyStduom * commPerUnit * exchRateComm1;
}
else
{
commBl2= qtyStduom * commPerUnit * exchRate;
}
}
else if("B".equalsIgnoreCase(commPercOn1) && commPerc1 > 0)
{
//commission % entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
commBl2= qtyStduom * commPerc1 * exchRateComm1;
}
else
{
commBl2= qtyStduom * commPerc1 * exchRate;
}
}
//Option: Business Logic 3
if("B".equalsIgnoreCase(commPercOn2) && commPerc2==0)
{
//commision % not entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
commBl3= qtyStduom * commPerUnit * exchRateComm2;
}
else
{
commBl3= qtyStduom * commPerUnit * exchRate;
}
}
else if("B".equalsIgnoreCase(commPercOn2) && commPerc2 > 0)
{
//commission % entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
commBl3= qtyStduom * commPerc2 * exchRateComm2;
}
else
{
commBl3= qtyStduom * commPerc2 * exchRate;
}
}
//Business Logic Sales Person
netComm=0;
ordPrice= rateStduom;
if("S".equalsIgnoreCase(commPercOn) || "S".equalsIgnoreCase(commPercOn1) || "S".equalsIgnoreCase(commPercOn2))
{
if("S".equalsIgnoreCase(commPercOn))
{
commPercSalesMap=commPercSalesPers(salesPers,ordPrice,priceListDate,itemCode,conn);
errString= checkNull((String) commPercSalesMap.get("errorStr"));
if(errString.trim().length() > 0)
{
commissionMap.put("errorStr", errString);
return commissionMap;
//goto exit_now
}
commPerUnit1= checkDouble((Double)commPercSalesMap.get("commPercSales"));
}
if("S".equalsIgnoreCase(commPercOn1))
{
commPercSalesMap= commPercSalesPers(salesPers1,ordPrice,priceListDate,itemCode,conn);
errString= checkNull((String) commPercSalesMap.get("errorStr"));
if(errString.trim().length() > 0)
{
commissionMap.put("errorStr", errString);
return commissionMap;
//goto exit_now
}
commPerUnit2= checkDouble((Double)commPercSalesMap.get("commPercSales"));
}
if("S".equalsIgnoreCase(commPercOn2))
{
commPercSalesMap= commPercSalesPers(salesPers2,ordPrice,priceListDate,itemCode,conn);
errString= checkNull((String) commPercSalesMap.get("errorStr"));
if(errString.trim().length() > 0)
{
commissionMap.put("errorStr", errString);
return commissionMap;
//goto exit_now
}
commPerUnit3= checkDouble((Double)commPercSalesMap.get("commPercSales"));
}
if(commPerUnit1 == 0 && commPerUnit2 == 0 && commPerUnit3 == 0 && commPerc==0 && commPerc1==0 && commPerc2==0)
{
errString = itmDBAccessLocal.getErrorString("","VTNOPERC","");
netComm=0;
commissionMap.put("errorStr", errString);
return commissionMap;
}
}
//Option: 1
if("S".equalsIgnoreCase(commPercOn) && commPerc==0)
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
commBl1= qtyStduom * commPerUnit1 * exchRateComm;
}
else
{
commBl1= qtyStduom * commPerUnit1 * exchRate;
}
}
else if("S".equalsIgnoreCase(commPercOn) && commPerc > 0)
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
commBl1= qtyStduom * commPerc * exchRateComm;
}
else
{
commBl1= qtyStduom * commPerc * exchRate;
}
}
//Option: 2
if("S".equalsIgnoreCase(commPercOn1) && commPerc1==0)
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
commBl2= qtyStduom * commPerUnit2 * exchRateComm1;
}
else
{
commBl2= qtyStduom * commPerUnit2 * exchRate;
}
}
else if("S".equalsIgnoreCase(commPercOn1) && commPerc1 > 0)
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
commBl2= qtyStduom * commPerc1 * exchRateComm1;
}
else
{
commBl2= qtyStduom * commPerc1 * exchRate;
}
}
//Option: 3
if("S".equalsIgnoreCase(commPercOn2) && commPerc2==0)
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
commBl3= qtyStduom * commPerUnit3 * exchRateComm2;
}
else
{
commBl3= qtyStduom * commPerUnit3 * exchRate;
}
}
else if("S".equalsIgnoreCase(commPercOn2) && commPerc2 > 0)
{
//commission % entered
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
commBl3= qtyStduom * commPerc2 * exchRateComm2;
}
else
{
commBl3= qtyStduom * commPerc2 * exchRate;
}
}
//end.. Option : Business Logic Sales Person
if("Q".equalsIgnoreCase(commPercOn)) //commPercOn for Q
{
//comm calc in base currency
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
qtyComm1= qtyStduom * commPerc * exchRateComm;
}
else
{
qtyComm1= qtyStduom * commPerc * exchRate;
}
}
if("Q".equalsIgnoreCase(commPercOn1)) //commPercOn1 for Q
{
//comm calc in base currency
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
qtyComm2= qtyStduom * commPerc1 * exchRateComm1;
}
else
{
qtyComm2= qtyStduom * commPerc1 * exchRate;
}
}
if("Q".equalsIgnoreCase(commPercOn2)) //commPercOn2 for Q
{
//comm calc in base currency
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
qtyComm3= qtyStduom * commPerc2 * exchRateComm2;
}
else
{
qtyComm3= qtyStduom * commPerc2 * exchRate;
}
}
qtyComm=qtyComm + qtyComm1 + qtyComm2 + qtyComm3 + commBl1 + commBl2 + commBl3;
sp1Comm = sp1Comm + commBl1 + qtyComm1;
sp2Comm = sp2Comm + commBl2 + qtyComm2;
sp3Comm = sp3Comm + commBl3 + qtyComm3;
qtyComm1=0;
qtyComm2=0;
qtyComm3=0;
qtyStduom=0;
commBl1=0;
commBl2=0;
commBl3=0;
}
if("B".equalsIgnoreCase(commPercOn) || "B".equalsIgnoreCase(commPercOn1) || "B".equalsIgnoreCase(commPercOn2) )
{
totalCommBl= qtyComm;
}
//To calculate commission on AMOUNT
if("A".equalsIgnoreCase(commPercOn))
{
commAmt1= (netAmt * commPerc) / 100;
}
if("A".equalsIgnoreCase(commPercOn1))
{
commAmt2= (netAmt * commPerc1) / 100;
}
if("A".equalsIgnoreCase(commPercOn2))
{
commAmt3= (netAmt * commPerc2) / 100;
}
commAmt= commAmt1 + commAmt2 + commAmt3;
sp1Comm= sp1Comm + commAmt1;
sp2Comm= sp2Comm + commAmt2;
sp3Comm= sp3Comm + commAmt3;
//if line no is not available
if(lineNo.trim().length() == 0)
{
System.out.println(">>>>>");
sql="SELECT SUM(quantity__stduom) AS quantity__stduom FROM FROM despatchdet where desp_id =? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,despId);
rs = pstmt.executeQuery();
if(rs.next())
{
qtyStduom = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//To calculate commission on Quantity...
if("Q".equalsIgnoreCase(commPercOn))
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm))
{
qtyComm1 = qtyStduom * commPerc * exchRateComm;
}
else
{
qtyComm1 = qtyStduom * commPerc * exchRate;
}
}
if("Q".equalsIgnoreCase(commPercOn1))
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm1))
{
qtyComm2 = qtyStduom * commPerc1 * exchRateComm1;
}
else
{
qtyComm2 = qtyStduom * commPerc1 * exchRate;
}
}
if("Q".equalsIgnoreCase(commPercOn2))
{
if(!baseCurrency.equalsIgnoreCase(currCodeComm2))
{
qtyComm3 = qtyStduom * commPerc2 * exchRateComm2;
}
else
{
qtyComm3 = qtyStduom * commPerc2 * exchRate;
}
}
qtyComm = qtyComm + qtyComm1 + qtyComm2 + qtyComm3 + commBl1 + commBl2 + commBl3;
sp1Comm= sp1Comm + commBl1 + qtyComm1;
sp2Comm= sp2Comm + commBl2 + qtyComm2 ;
sp3Comm= sp3Comm + commBl3 + qtyComm3 ;
qtyStduom = 0;
//System.out.println("If line is o =" +commissionQty+" "+salesPersComm+" "+salesPersComm1+"
}
//To calculate commission on BASE AMOUNT
if("E".equalsIgnoreCase(commPercOn))
{
baseAmtComm1= (( netAmt - taxAmt) * commPerc) / 100;
}
if("E".equalsIgnoreCase(commPercOn1))
{
baseAmtComm2= (( netAmt - taxAmt) * commPerc1) / 100;
}
if("E".equalsIgnoreCase(commPercOn2))
{
baseAmtComm3= (( netAmt - taxAmt) * commPerc2) / 100;
}
baseAmtComm = baseAmtComm1 + baseAmtComm2 + baseAmtComm3;
sp1Comm = sp1Comm + baseAmtComm1;
sp2Comm = sp2Comm + baseAmtComm2;
sp3Comm = sp3Comm + baseAmtComm3;
//To calculate commission on ASSESSABLE AMOUNT
if("M".equalsIgnoreCase(commPercOn) || "M".equalsIgnoreCase(commPercOn1) || "M".equalsIgnoreCase(commPercOn2) )
{
sql="SELECT ddf_get_tax_detail('S-ORD',sale_order,line_no,'EXC_TAX_CODE','A') AS asses_amt FROM sorddet WHERE sale_order = ? AND line_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
assessAmt = rs.getDouble("asses_amt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if("M".equalsIgnoreCase(commPercOn))
{
asesAmtComm1= (assessAmt * commPerc) / 100;
asesAmtComm1= asesAmtComm1 * exchRate;
}
if("M".equalsIgnoreCase(commPercOn1))
{
asesAmtComm2= (assessAmt * commPerc1) / 100;
asesAmtComm2= asesAmtComm2 * exchRate;
}
if("M".equalsIgnoreCase(commPercOn2))
{
asesAmtComm3= (assessAmt * commPerc2) / 100;
asesAmtComm3= asesAmtComm3 * exchRate;
}
asesAmtComm= asesAmtComm1 + asesAmtComm2 + asesAmtComm3;
sp1Comm = sp1Comm + asesAmtComm1;
sp2Comm = sp2Comm + asesAmtComm2;
sp3Comm = sp3Comm + asesAmtComm3;
//To calculate commission on Taxable Amount
if("T".equalsIgnoreCase(commPercOn) || "T".equalsIgnoreCase(commPercOn1) || "T".equalsIgnoreCase(commPercOn2))
{
sql="SELECT ddf_get_tax_detail('S-ORD',sale_order,line_no,'SALE_TAX_CODE','A') as sales_amt FROM sorddet WHERE sale_order = ? AND line_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
salesAmt = rs.getDouble("sales_amt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if("T".equalsIgnoreCase(commPercOn))
{
taxAmtComm1= (salesAmt * commPerc) / 100;
taxAmtComm1= taxAmtComm1 * exchRate;
}
if("T".equalsIgnoreCase(commPercOn1))
{
taxAmtComm2= (salesAmt * commPerc1) / 100;
taxAmtComm2= taxAmtComm2 * exchRate;
}
if("T".equalsIgnoreCase(commPercOn2))
{
taxAmtComm3= (salesAmt * commPerc2) / 100;
taxAmtComm3= taxAmtComm3 * exchRate;
}
taxAmtComm = taxAmtComm1 + taxAmtComm2 + taxAmtComm3;
sp1Comm = sp1Comm + taxAmtComm1;
sp2Comm = sp2Comm + taxAmtComm2;
sp3Comm = sp3Comm + taxAmtComm3;
//To calculate commission on FOB
if("F".equalsIgnoreCase(commPercOn))
{
fobComm1= (fobAmt * commPerc) / 100;
}
if("F".equalsIgnoreCase(commPercOn1))
{
fobComm2= (fobAmt * commPerc1) / 100;
}
if("F".equalsIgnoreCase(commPercOn2))
{
fobComm3= (fobAmt * commPerc2) / 100;
}
fobComm= fobComm1 + fobComm2 + fobComm3;
sp1Comm = sp1Comm + fobComm1;
sp2Comm = sp2Comm + fobComm2;
sp3Comm = sp3Comm + fobComm3;
//To calculate commission on FOB LESS QUANTITY
if("Y".equalsIgnoreCase(commPercOn))
{
fobQtyComm1= ((fobAmt - qtyComm) * commPerc) / 100;
}
if("Y".equalsIgnoreCase(commPercOn))
{
fobQtyComm2= ((fobAmt - qtyComm) * commPerc1) / 100;
}
if("Y".equalsIgnoreCase(commPercOn))
{
fobQtyComm3= ((fobAmt - qtyComm) * commPerc2) / 100;
}
fobQtyComm= fobQtyComm1 + fobQtyComm2 + fobQtyComm3;
sp1Comm = sp1Comm + fobQtyComm1;
sp2Comm = sp2Comm + fobQtyComm2;
sp3Comm = sp3Comm + fobQtyComm3;
//To calculate commission on AMOUNT LESS QUANTITY
if("Z".equalsIgnoreCase(commPercOn))
{
amtQtyComm1= ((netAmt - qtyComm) * commPerc) / 100;
}
if("Z".equalsIgnoreCase(commPercOn))
{
amtQtyComm2= ((netAmt - qtyComm) * commPerc1) / 100;
}
if("Z".equalsIgnoreCase(commPercOn))
{
amtQtyComm3= ((netAmt - qtyComm) * commPerc2) / 100;
}
amtQtyComm= amtQtyComm1 + amtQtyComm2 + amtQtyComm3;
sp1Comm = sp1Comm + amtQtyComm1;
sp2Comm = sp2Comm + amtQtyComm2;
sp3Comm = sp3Comm + amtQtyComm3;
netComm = commAmt + qtyComm + fobComm + fobQtyComm + amtQtyComm + baseAmtComm + asesAmtComm + taxAmtComm ;
if(netComm < 0)
{
netComm=0;
}
if(exchRateComm > 0)
{
sp1Comm = sp1Comm / exchRateComm;
}
if(exchRateComm1 > 0)
{
sp2Comm = sp2Comm / exchRateComm1;
}
if(exchRateComm2 > 0)
{
sp3Comm = sp2Comm / exchRateComm2;
}
commissionMap.put("errorStr", errString);
commissionMap.put("sp1Comm", sp1Comm);
commissionMap.put("sp2Comm", sp2Comm);
commissionMap.put("sp3Comm", sp3Comm);
commissionMap.put("netComm", netComm);
System.out.println("commissionMap:::"+commissionMap.toString());
}
catch(Exception e)
{
System.out.println("Exception ::calcCommission:"+e);
throw new ITMException(e);
}
return commissionMap;
}
private String checkNull(String str)
{
if(str == null)
{
return "";
}
else
{
return str ;
}
}
private HashMap commPercBase(String custCode, String itemCode,String itemSer, double ordPrice, String priceListDate, Connection conn) throws ITMException
{
//This function calculates the commission perc required for Business Logic
//First check comm perc from customeritem then from customer series then
//from customer then pick price list code from disparm and based on price
//list pick the rate for case 'L'....
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
String sql="",defaultPriceList="",errString="";
double commPerc=0.0,priceListVal=0.0;
PreparedStatement pstmt = null ;
ResultSet rs = null;
DistCommon distCommon= new DistCommon();
HashMap commPercMap = null;
try
{
commPercMap = new HashMap();
sql="SELECT comm_perc__base FROM customeritem WHERE cust_code = ? AND item_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custCode);
pstmt.setString(2,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
commPerc = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(commPerc == 0)
{
sql="SELECT comm_perc__base FROM customer_series WHERE cust_code = ? AND item_ser = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, custCode);
pstmt.setString(2, itemSer);
rs = pstmt.executeQuery();
if(rs.next())
{
commPerc = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(commPerc == 0)
{
sql="SELECT comm_perc__base FROM customer WHERE cust_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
commPerc = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(commPerc == 0)
{
defaultPriceList=distCommon.getDisparams("999999", "BASE_PRICE_LIST", conn);
System.out.println(">>>>>>>>>>>>>>>defaultPriceList:"+defaultPriceList);
if("NULLFOUND".equalsIgnoreCase(defaultPriceList) || defaultPriceList == null || defaultPriceList.trim().length()==0)
{
errString = itmDBAccessLocal.getErrorString("","VTNOPL","Missing DISPARM Environment Variable: BASE_PRICE_LIST");
commPercMap.put("errorStr", errString);
return commPercMap;
}
else
{
priceListVal=distCommon.pickRate(defaultPriceList, priceListDate, itemCode, "", "L", conn);
commPerc= ordPrice - priceListVal;
}
}
else if(commPerc > 0)
{
defaultPriceList=distCommon.getDisparams("999999", "DEFAULT_PRICE_LIST", conn);
System.out.println(">>>>>>>>>>>>>>>defaultPriceList:"+defaultPriceList);
if("NULLFOUND".equalsIgnoreCase(defaultPriceList) || defaultPriceList == null || defaultPriceList.trim().length()==0)
{
errString = itmDBAccessLocal.getErrorString("","VTNOPL","");
commPercMap.put("errorStr", errString);
return commPercMap;
}
else
{
priceListVal=distCommon.pickRate(defaultPriceList, priceListDate, itemCode, "", "L", conn);
commPerc = (priceListVal * commPerc) / 100;
commPerc = ordPrice - commPerc;
}
}
}
else if(commPerc > 0)
{
defaultPriceList=distCommon.getDisparams("999999", "DEFAULT_PRICE_LIST", conn);
System.out.println(">>>>>>>>>>>>>>>defaultPriceList:"+defaultPriceList);
if(defaultPriceList.equals("NULLFOUND") || defaultPriceList==null || defaultPriceList.trim().length()==0 )
{
// = 'VTNOPL' + "~t" + " Missing DISPARM Environment Variable: BASE_PRICE_LIST ";
errString = itmDBAccessLocal.getErrorString("","VTNOPL","");
commPercMap.put("errorStr", errString);
return commPercMap;
}
else
{
priceListVal=distCommon.pickRate(defaultPriceList, priceListDate, itemCode, "", "L", conn);
commPerc = (priceListVal * commPerc) / 100;
commPerc = ordPrice - commPerc;
}
}
}
else if(commPerc > 0)
{
defaultPriceList=distCommon.getDisparams("999999", "DEFAULT_PRICE_LIST", conn);
System.out.println(">>>>>>>>>>>>>>>defaultPriceList:"+defaultPriceList);
if(defaultPriceList.equals("NULLFOUND") || defaultPriceList == null || defaultPriceList.trim().length()==0 )
{
errString = itmDBAccessLocal.getErrorString("","VTNOPL","");
commPercMap.put("errorStr", errString);
return commPercMap;
}
else
{
priceListVal=distCommon.pickRate(defaultPriceList, priceListDate, itemCode, "", "L", conn);
commPerc = (priceListVal * commPerc) / 100;
commPerc = ordPrice - commPerc;
commPercMap.put("commPerc", commPerc);
}
}
}
catch(Exception e)
{
System.out.println("Exception :"+e);
throw new ITMException(e);
}
//need to return error code..
return commPercMap;
}
private HashMap commPercSalesPers(String salesPers, double ordPrice,String priceListDate, String itemCode, Connection conn) throws ITMException
{
String sql="",salesPersCode="",priceList ="",errString="";
double priceListVal=0.0,commPerc=0.0;
PreparedStatement pstmt = null ;
ResultSet rs = null;
DistCommon distCommon= new DistCommon();
HashMap commPercSalesMap = null;
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
//New Function Added, Used By Business Logic For Sales Person Commission Type...
try
{
commPercSalesMap =new HashMap();
sql="SELECT price_list FROM sales_pers WHERE sales_pers = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,salesPers);
rs = pstmt.executeQuery();
if(rs.next())
{
priceList = rs.getString(1) == null ?"":rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(priceList.trim().length()==0)
{
errString = itmDBAccessLocal.getErrorString("","VTNOPL","");
commPercSalesMap.put("errorStr", errString);
}
else
{
priceListVal=distCommon.pickRate(priceList, priceListDate, itemCode, "", "L", conn);
commPerc= ordPrice - priceListVal;
commPercSalesMap.put("commPercSales", commPerc);
}
}
catch(Exception e)
{
System.out.println("Exception :"+e);
throw new ITMException(e);
}
//need to return error code....
return commPercSalesMap;
}
private String checkNullDouble(String input)
{
if (input == null || input.trim().length()==0 )
{
input="0";
}
return input;
}
} }
...@@ -11,14 +11,18 @@ import java.util.ArrayList; ...@@ -11,14 +11,18 @@ import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import javax.ejb.Stateless;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB; import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.fin.FinCommon; import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.fin.InvAcct; import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.fin.adv.CalculateCommission;
import ibase.webitm.ejb.sys.UtilMethods; import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
@Stateless
public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoicePostLocal,PostOrdInvoicePostRemote public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoicePostLocal,PostOrdInvoicePostRemote
{ {
E12GenericUtility genericUtility= new E12GenericUtility(); E12GenericUtility genericUtility= new E12GenericUtility();
...@@ -26,7 +30,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -26,7 +30,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
FinCommon finCommon=new FinCommon(); FinCommon finCommon=new FinCommon();
@Override @Override
public String invoicePosting(String invoiceId, Connection conn) throws ITMException //public String invoicePosting(String invoiceId, Connection conn) throws ITMException
public String invoicePosting(String invoiceId,String xtraParams,String forcedFlag,Connection conn) throws ITMException
{ {
String retString="",sql="",itemSer="",lsCctrCodeSal="",lsAcctCodeSal="",lsAnalysis="",lsTemp="",tempInvId="",sqlUpd=""; String retString="",sql="",itemSer="",lsCctrCodeSal="",lsAcctCodeSal="",lsAnalysis="",lsTemp="",tempInvId="",sqlUpd="";
String detInvId="",detAcctCode="",detCctrCode="",hdrAnalCode="",detAnalysis1="",detAnalysis2="",detAnalysis3="",detItemCd=""; String detInvId="",detAcctCode="",detCctrCode="",hdrAnalCode="",detAnalysis1="",detAnalysis2="",detAnalysis3="",detItemCd="";
...@@ -43,21 +48,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -43,21 +48,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
// TODO Auto-generated method stub // TODO Auto-generated method stub
HashMap<String, String> InvoiceHrdMap=new HashMap<String, String>(); HashMap<String, String> InvoiceHrdMap=new HashMap<String, String>();
// HashMap<String, HashMap<String, String>> InvoiceAcctMap=new HashMap<String, HashMap<String,String>>(); // HashMap<String, HashMap<String, String>> InvoiceAcctMap=new HashMap<String, HashMap<String,String>>();
ArrayList<Object> invoiceAcctList=new ArrayList<Object>(); ArrayList<Object> invoiceAcctList=new ArrayList<Object>();
ArrayList<Object> invoiceDeapList=new ArrayList<Object>(); ArrayList<Object> invoiceDeapList=new ArrayList<Object>();
ArrayList<Object> invoiceDetList=new ArrayList<Object>(); ArrayList<Object> invoiceDetList=new ArrayList<Object>();
HashMap<String, String>InvoiceDetMap=null; HashMap<String, String>InvoiceDetMap=null;
String analysisStr []=null; String analysisStr []=null;
String lineNoTemp="";
HashMap<String, String> invAcctMap = null;
ArrayList<HashMap<String, String>> invAcctList = new ArrayList<HashMap<String,String>>();
try try
{ {
if(conn==null) if(conn==null)
{ {
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
//Changes and Commented By Bhushan on 09-06-2016 :START conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false); conn.setAutoCommit(false);
connDriver = null; connDriver = null;
connFlag=true; connFlag=true;
...@@ -77,7 +84,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -77,7 +84,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
invoiceDeapList=getInvoiceDesp(invoiceId,conn); invoiceDeapList=getInvoiceDesp(invoiceId,conn);
System.out.println("Invoice trace list size:- ["+invoiceDeapList.size()+"]"); System.out.println("Invoice trace list size:- ["+invoiceDeapList.size()+"]");
// invoiceDetList=getInvoiceDet(invoiceId,conn); // invoiceDetList=getInvoiceDet(invoiceId,conn);
/** /**
* Invoice trace list size * Invoice trace list size
...@@ -91,7 +98,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -91,7 +98,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
for(int itr=0;itr<invoiceDeapList.size();itr++) for(int itr=0;itr<invoiceDeapList.size();itr++)
{ {
InvoiceDetMap=(HashMap<String, String>) invoiceDeapList.get(itr); InvoiceDetMap=(HashMap<String, String>) invoiceDeapList.get(itr);
System.out.println("@@@@@91 itr["+itr+"] InvoiceDetMap["+InvoiceDetMap+"]");
detInvId=InvoiceDetMap.get("invoice_id"); detInvId=InvoiceDetMap.get("invoice_id");
detItemCd=InvoiceDetMap.get("item_code"); detItemCd=InvoiceDetMap.get("item_code");
...@@ -99,7 +106,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -99,7 +106,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
detLineNo=Integer.parseInt(InvoiceDetMap.get("line_no")); detLineNo=Integer.parseInt(InvoiceDetMap.get("line_no"));
detAmount=Double.parseDouble(InvoiceDetMap.get("quantity__stduom")) * Double.parseDouble(InvoiceDetMap.get("rate__stduom")); detAmount=Double.parseDouble(InvoiceDetMap.get("quantity__stduom")) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"));
System.out.println("@@@@@@@99 detAmount["+detAmount+"]");
lsAnalysis=invAcct.AcctAnalysisType(" ","S-INV",InvoiceHrdMap.get("inv_type"),"CR",conn); lsAnalysis=invAcct.AcctAnalysisType(" ","S-INV",InvoiceHrdMap.get("inv_type"),"CR",conn);
lsTemp="CR"+lsAnalysis; lsTemp="CR"+lsAnalysis;
...@@ -200,7 +207,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -200,7 +207,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
rs=null; rs=null;
lsCctrCodeSal=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "SAL", InvoiceDetMap.get("inv_type"), conn)); lsCctrCodeSal=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "SAL", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal; //detCctrCode=lsCctrCodeSal;
System.out.println("@@@@@@@@@@@@@@ lsCctrCodeSal["+lsCctrCodeSal+"]"); System.out.println("@@@@@@@@@@@@@@ lsCctrCodeSal["+lsCctrCodeSal+"]");
String ls_acct_code__sal[]=lsCctrCodeSal.split(","); String ls_acct_code__sal[]=lsCctrCodeSal.split(",");
if( ls_acct_code__sal.length > 0) if( ls_acct_code__sal.length > 0)
...@@ -211,19 +218,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -211,19 +218,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsCctrCodeSal=ls_acct_code__sal[1]; lsCctrCodeSal=ls_acct_code__sal[1];
} }
// detAcctCode=lsAcctCodeSal; // detAcctCode=lsAcctCodeSal;
System.out.println("@@@@@@@@@@@@@@lsAcctCodeSal["+lsAcctCodeSal+"]:::lsCctrCodeSal["+lsCctrCodeSal+"]"); System.out.println("@@@@@@@@@@@@@@lsAcctCodeSal["+lsAcctCodeSal+"]:::lsCctrCodeSal["+lsCctrCodeSal+"]");
sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?"; System.out.println("@@@@@@213 detAmount["+detAmount+"]");
/*
sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? " +
//" and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeSal); pstmt.setString(1, lsAcctCodeSal);
pstmt.setString(2, lsCctrCodeSal); pstmt.setString(2, lsCctrCodeSal);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
detAmount=detAmount+tempAmount; detAmount=detAmount+tempAmount;
...@@ -231,15 +243,36 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -231,15 +243,36 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,detAmount,conn); updateAcctAmt(tempInvId,detAmount,conn);
} }
else else */
{ /*{
/** detLineNo++;
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,detAmount,analysis1__cr,analysis2__cr,analysis3__cr,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,detAmount,analysis1__cr,analysis2__cr,analysis3__cr,conn);
} }*/
/*pstmt.close();
pstmt=null;
rs.close();
rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeSal);
invAcctMap.put("cctr_code", lsCctrCodeSal);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+detAmount);
invAcctMap.put("analysis1", analysis1__cr);
invAcctMap.put("analysis2", analysis2__cr);
invAcctMap.put("analysis3", analysis3__cr);
System.out.println("@@@@@@@1 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
lnAmountDis=(Double.parseDouble(InvoiceDetMap.get("rate__stduom"))*Double.parseDouble(InvoiceDetMap.get("quantity__stduom"))) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"))/100; invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeSal,lsCctrCodeSal , detAmount, checkNullSpace(hdrAnalCode) );
//lnAmountDis=(Double.parseDouble(InvoiceDetMap.get("rate__stduom"))*Double.parseDouble(InvoiceDetMap.get("quantity__stduom"))) * Double.parseDouble(InvoiceDetMap.get("rate__stduom"))/100;
lnAmountDis=(Double.parseDouble(InvoiceDetMap.get("rate__stduom"))*Double.parseDouble(InvoiceDetMap.get("quantity__stduom"))) * Double.parseDouble(InvoiceDetMap.get("discount"))/100;
System.out.println("@@@@@@243 lnAmountDis["+lnAmountDis+"]");
if(lnAmountDis!=0) if(lnAmountDis!=0)
{ {
/** /**
...@@ -256,63 +289,89 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -256,63 +289,89 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsCctrCodeDis=ls_acct_code__dis[1]; lsCctrCodeDis=ls_acct_code__dis[1];
} }
// detAcctCode=lsAcctCodeDis; // detAcctCode=lsAcctCodeDis;
if(lsCctrCodeDis==null || lsCctrCodeDis.trim().length()==0) if(lsCctrCodeDis==null || lsCctrCodeDis.trim().length()==0)
{ {
lsCctrCodeDis=InvoiceHrdMap.get("cctr_code__dis"); lsCctrCodeDis=InvoiceHrdMap.get("cctr_code__dis");
} }
sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?"; /*sql="select invoice_id,amount from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeDis); pstmt.setString(1, lsAcctCodeDis);
pstmt.setString(2, lsCctrCodeDis); pstmt.setString(2, lsCctrCodeDis);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
/** *//**
* Discount amount * Discount amount
* */ * *//*
lnAmountDis=tempAmount-lnAmountDis; lnAmountDis=tempAmount-lnAmountDis;
updateAcctAmt(tempInvId,lnAmountDis,conn); updateAcctAmt(tempInvId,lnAmountDis,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,"","","",conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,"","","",conn);
} }*/
/*pstmt.close();
pstmt=null;
rs.close();
rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeDis);
invAcctMap.put("cctr_code", lsCctrCodeDis);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountDis*(-1));
//invAcctMap.put("amount", ""+lnAmountDis);//CHANGE BY CHANDRASHEKAR
invAcctMap.put("analysis1", "");
invAcctMap.put("analysis2", "");
invAcctMap.put("analysis3", "");
System.out.println("@@@@@@@2 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeDis,lsCctrCodeDis , lnAmountDis, checkNullSpace(hdrAnalCode) );
}//lnAmountDis amount not 0 END }//lnAmountDis amount not 0 END
/** /**
* Find lc_scheme_discount * Find lc_scheme_discount
* */ * */
lcSchemeDiscount=Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))+Double.parseDouble(InvoiceDetMap.get("disc_schem_offinv_amt")); lcSchemeDiscount=Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))+Double.parseDouble(InvoiceDetMap.get("disc_schem_offinv_amt"));
System.out.println("@@@@@@304 lcSchemeDiscount["+lcSchemeDiscount+"]");
if(lcSchemeDiscount!=0) if(lcSchemeDiscount!=0)
{ {
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?" /*sql="select invoice_id from invacct where acct_code=? and cctr_code=? " +
// "and anal_code=?"
" and case when anal_code is null then ' ' else anal_code end = ? "
+ " and analysis1=? and analysis2=? and analysis3=?"; + " and analysis1=? and analysis2=? and analysis3=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodePr); pstmt.setString(1, lsAcctCodePr);
pstmt.setString(2, lsCctrCodePr); pstmt.setString(2, lsCctrCodePr);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
pstmt.setString(4, analysis1__dr); pstmt.setString(4, analysis1__dr);
pstmt.setString(5, analysis2__dr); pstmt.setString(5, analysis2__dr);
pstmt.setString(6, analysis3__dr); pstmt.setString(6, analysis3__dr);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -321,36 +380,59 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -321,36 +380,59 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lnAmountDis,conn); updateAcctAmt(tempInvId,lnAmountDis,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,lnAmountDis,analysis1__dr,analysis2__dr,analysis3__dr,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,lnAmountDis,analysis1__dr,analysis2__dr,analysis3__dr,conn);
} }
*/
/*pstmt.close();
pstmt=null;
rs.close();
rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodePr);
invAcctMap.put("cctr_code", lsCctrCodePr);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountDis);
invAcctMap.put("analysis1", analysis1__dr);
invAcctMap.put("analysis2", analysis2__dr);
invAcctMap.put("analysis3", analysis3__dr);
System.out.println("@@@@@@@3 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodePr,lsCctrCodePr , lnAmountDis, checkNullSpace(hdrAnalCode) );
}// lc_scheme_discount>0 END }// lc_scheme_discount>0 END
/** /**
* check lc_billback_amt>0 * check lc_billback_amt>0
* */ * */
System.out.println("@@@@@@345 InvoiceDetMap.get(disc_schem_billback_amt)["+InvoiceDetMap.get("disc_schem_billback_amt")+"]");
if(Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))>0) if(Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt"))>0)
{ {
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?" /*sql="select invoice_id from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=?"
" and case when anal_code is null then ' ' else anal_code end = ? "
+ " and analysis1=? and analysis2=? and analysis3=?"; + " and analysis1=? and analysis2=? and analysis3=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodePr); pstmt.setString(1, lsAcctCodePr);
pstmt.setString(2, lsCctrCodePr); pstmt.setString(2, lsCctrCodePr);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
pstmt.setString(4, analysis1__dr); pstmt.setString(4, analysis1__dr);
pstmt.setString(5, analysis2__dr); pstmt.setString(5, analysis2__dr);
pstmt.setString(6, analysis3__dr); pstmt.setString(6, analysis3__dr);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -359,24 +441,47 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -359,24 +441,47 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lnAmountDis,conn); updateAcctAmt(tempInvId,lnAmountDis,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt")),analysis1__dr,analysis2__dr,analysis3__dr,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodePr,lsCctrCodePr,hdrAnalCode,Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt")),analysis1__dr,analysis2__dr,analysis3__dr,conn);
} }*/
/*pstmt.close();
pstmt=null;
rs.close();
rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodePr);
invAcctMap.put("cctr_code", lsCctrCodePr);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", InvoiceDetMap.get("disc_schem_billback_amt"));
invAcctMap.put("analysis1", analysis1__dr);
invAcctMap.put("analysis2", analysis2__dr);
invAcctMap.put("analysis3", analysis3__dr);
System.out.println("@@@@@@@4 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodePr,lsCctrCodePr , Double.parseDouble(InvoiceDetMap.get("disc_schem_billback_amt")), checkNullSpace(hdrAnalCode) );
}// lc_billback_amt>0 END }// lc_billback_amt>0 END
/** /**
* Select 'taxtran'details * Select 'taxtran'details
* */ * */
sql="select acct_code,cctr_code,sum(tax_amt), case when sum(reco_amount) is null then 0 else sum(reco_amount) end"
lineNoTemp = " "+InvoiceDetMap.get("line_no");
lineNoTemp = lineNoTemp.substring(lineNoTemp.length()-3, lineNoTemp.length());
System.out.println("@@@@@@@ lineNoTemp["+lineNoTemp+"]");
sql="select acct_code,cctr_code,sum(tax_amt) as tax_amt, case when sum(reco_amount) is null then 0 else sum(reco_amount) end as reco_amount "
+ " from taxtran where tran_code = 'S-INV' and tran_id = ? and line_no = ? " + " from taxtran where tran_code = 'S-INV' and tran_id = ? and line_no = ? "
+ " and effect <> 'N' group BY acct_code,cctr_code"; + " and effect <> 'N' group BY acct_code,cctr_code";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id")); pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no")); pstmt.setString(2, lineNoTemp);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
...@@ -385,17 +490,29 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -385,17 +490,29 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
lnAmountTax=rs.getDouble("tax_amt"); lnAmountTax=rs.getDouble("tax_amt");
lcRecoAmt=rs.getDouble("reco_amount"); lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?"; if( lsAcctCodeTax == null || lsAcctCodeTax.trim().length() == 0)
{
lsAcctCodeTax = lsAcctCodeSal;
lsCctrCodeTax = lsCctrCodeSal;
}
if( lsCctrCodeTax == null || lsCctrCodeTax.trim().length() == 0 )
{
lsCctrCodeTax = " ";
}
lnAmountTax=lnAmountTax-lcRecoAmt;
/*sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt1=conn.prepareStatement(sql1); pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctCodeTax); pstmt1.setString(1, lsAcctCodeTax);
pstmt1.setString(2, lsCctrCodeTax); pstmt1.setString(2, lsCctrCodeTax);
pstmt1.setString(3, hdrAnalCode); pstmt1.setString(3, checkNullSpace(hdrAnalCode));
rs1=pstmt1.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) if(rs1.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -403,20 +520,34 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -403,20 +520,34 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lnAmountTax,conn); updateAcctAmt(tempInvId,lnAmountTax,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record
* */
tempAmount=lnAmountTax-lcRecoAmt; tempAmount=lnAmountTax-lcRecoAmt;
System.out.println("@@@@@@431 tempAmount["+tempAmount+"]");
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,tempAmount,"","","",conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,tempAmount,"","","",conn);
} }*/
pstmt1.close(); /* pstmt1.close();
pstmt1=null; pstmt1=null;
rs1.close(); rs1.close();
rs1=null; rs1=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeTax);
invAcctMap.put("cctr_code", lsCctrCodeTax);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountTax);
invAcctMap.put("analysis1", "");
invAcctMap.put("analysis2", "");
invAcctMap.put("analysis3", "");
System.out.println("@@@@@@@5 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeTax,lsCctrCodeTax , lnAmountTax, checkNullSpace(hdrAnalCode) );
}//'taxtran'details while END }//'taxtran'details while END
pstmt.close(); pstmt.close();
...@@ -431,7 +562,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -431,7 +562,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
* */ * */
lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn)); lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal; // detCctrCode=lsCctrCodeSal;
String ls_tax_reco_acct[]=lsTaxRecoCctr.split(","); String ls_tax_reco_acct[]=lsTaxRecoCctr.split(",");
if( ls_tax_reco_acct.length > 0) if( ls_tax_reco_acct.length > 0)
...@@ -442,9 +573,13 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -442,9 +573,13 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsTaxRecoCctr =ls_tax_reco_acct[1]; lsTaxRecoCctr =ls_tax_reco_acct[1];
} }
// detAcctCode=lsAcctCodeSal; // detAcctCode=lsAcctCodeSal;
sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end" lineNoTemp = " "+InvoiceDetMap.get("line_no");
lineNoTemp = lineNoTemp.substring(lineNoTemp.length()-3, lineNoTemp.length());
System.out.println("@@@@@@@ lineNoTemp["+lineNoTemp+"]");
sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end as reco_amount "
+ " from taxtran" + " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?" + " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? and effect <> 'N'" + " and line_no = ? and effect <> 'N'"
...@@ -452,7 +587,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -452,7 +587,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
+ " group BY acct_code__reco, cctr_code__reco "; + " group BY acct_code__reco, cctr_code__reco ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id")); pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no")); pstmt.setString(2, lineNoTemp);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
...@@ -460,17 +595,29 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -460,17 +595,29 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
lsCctrReco=checkNull(rs.getString("cctr_code__reco")); lsCctrReco=checkNull(rs.getString("cctr_code__reco"));
lcRecoAmt=rs.getDouble("reco_amount"); lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?"; if( lsAcctReco == null || lsAcctReco.trim().length() == 0 )
{
lsAcctReco = lsTaxRecoAcct;
lsCctrReco = lsTaxRecoCctr;
}
if( lsCctrReco == null || lsCctrReco.trim().length() == 0 )
{
lsCctrReco = " ";
}
/*sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt1=conn.prepareStatement(sql1); pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctReco); pstmt1.setString(1, lsAcctReco);
pstmt1.setString(2, lsCctrReco); pstmt1.setString(2, lsCctrReco);
pstmt1.setString(3, hdrAnalCode); pstmt1.setString(3, checkNullSpace(hdrAnalCode));
rs1=pstmt1.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) if(rs1.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -479,14 +626,39 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -479,14 +626,39 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lcRecoAmt,conn); updateAcctAmt(tempInvId,lcRecoAmt,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record System.out.println("@@@@@@508 lcRecoAmt["+lcRecoAmt+"]");
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,"","","",conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,"","","",conn);
} } */
/*pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctReco);
invAcctMap.put("cctr_code", lsCctrReco);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lcRecoAmt);
invAcctMap.put("analysis1", "");
invAcctMap.put("analysis2", "");
invAcctMap.put("analysis3", "");
System.out.println("@@@@@@@6 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctReco,lsCctrReco , lcRecoAmt, checkNullSpace(hdrAnalCode) );
}//tax reco details while END }//tax reco details while END
pstmt.close();
pstmt=null;
rs.close();
rs=null;
...@@ -508,7 +680,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -508,7 +680,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
for(int itr=0;itr<invoiceDetList.size();itr++) for(int itr=0;itr<invoiceDetList.size();itr++)
{ {
InvoiceDetMap=(HashMap<String, String>) invoiceDetList.get(itr); InvoiceDetMap=(HashMap<String, String>) invoiceDetList.get(itr);
System.out.println("@@@@@@526 itr["+itr+"]InvoiceDetMap["+InvoiceDetMap+"]");
detInvId=InvoiceDetMap.get("invoice_id"); detInvId=InvoiceDetMap.get("invoice_id");
detItemCd=InvoiceDetMap.get("item_code"); detItemCd=InvoiceDetMap.get("item_code");
...@@ -546,21 +718,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -546,21 +718,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsCctrCodeSal=ls_acct_code__sal[1]; lsCctrCodeSal=ls_acct_code__sal[1];
} }
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=? and analysis1=? and analysis2=?" /*sql="select invoice_id from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=? " +
" and case when anal_code is null then ' ' else anal_code end = ? "+
" and analysis1=? and analysis2=?"
+ " and analysis3=?"; + " and analysis3=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeSal); pstmt.setString(1, lsAcctCodeSal);
pstmt.setString(2, lsCctrCodeSal); pstmt.setString(2, lsCctrCodeSal);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
pstmt.setString(4, lsAnalysis1); pstmt.setString(4, lsAnalysis1);
pstmt.setString(5, lsAnalysis2); pstmt.setString(5, lsAnalysis2);
pstmt.setString(6, lsAnalysis3); pstmt.setString(6, lsAnalysis3);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -569,17 +744,32 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -569,17 +744,32 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
uActCnt=updateAcctAmt(tempInvId,lnAmountSal,conn); uActCnt=updateAcctAmt(tempInvId,lnAmountSal,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record System.out.println("@@@@@@603 lnAmountSal["+lnAmountSal+"]");
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,lnAmountSal,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeSal,lsCctrCodeSal,hdrAnalCode,lnAmountSal,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
} }*/
pstmt.close(); /*pstmt.close();
pstmt=null; pstmt=null;
rs.close(); rs.close();
rs=null; rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeSal);
invAcctMap.put("cctr_code", lsCctrCodeSal);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountSal);
invAcctMap.put("analysis1", lsAnalysis1);
invAcctMap.put("analysis2", lsAnalysis2);
invAcctMap.put("analysis3", lsAnalysis3);
System.out.println("@@@@@@@7 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeSal,lsCctrCodeSal , lnAmountSal, checkNullSpace(hdrAnalCode) );
if(lnAmountDis!=0) if(lnAmountDis!=0)
{ {
...@@ -597,21 +787,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -597,21 +787,24 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsCctrCodeDis=ls_acct_code__dis[1]; lsCctrCodeDis=ls_acct_code__dis[1];
} }
sql="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=? and analysis1=? and analysis2=?" /*sql="select invoice_id from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=? " +
" and case when anal_code is null then ' ' else anal_code end = ? "+
" and analysis1=? and analysis2=?"
+ " and analysis3=?"; + " and analysis3=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, lsAcctCodeDis); pstmt.setString(1, lsAcctCodeDis);
pstmt.setString(2, lsCctrCodeDis); pstmt.setString(2, lsCctrCodeDis);
pstmt.setString(3, hdrAnalCode); pstmt.setString(3, checkNullSpace(hdrAnalCode));
pstmt.setString(4, lsAnalysis1); pstmt.setString(4, lsAnalysis1);
pstmt.setString(5, lsAnalysis2); pstmt.setString(5, lsAnalysis2);
pstmt.setString(6, lsAnalysis3); pstmt.setString(6, lsAnalysis3);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -620,31 +813,49 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -620,31 +813,49 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lnAmountDis,conn); updateAcctAmt(tempInvId,lnAmountDis,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record System.out.println("@@@@@@659 lnAmountDis["+lnAmountDis+"]");
* */
lnAmountDis=0-lnAmountDis; lnAmountDis=0-lnAmountDis;
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeDis,lsCctrCodeDis,hdrAnalCode,lnAmountDis,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
} }*/
pstmt.close(); /*pstmt.close();
pstmt=null; pstmt=null;
rs.close(); rs.close();
rs=null; rs=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeDis);
invAcctMap.put("cctr_code", lsCctrCodeDis);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountDis);
invAcctMap.put("analysis1", lsAnalysis1);
invAcctMap.put("analysis2", lsAnalysis2);
invAcctMap.put("analysis3", lsAnalysis3);
System.out.println("@@@@@@@8 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeDis,lsCctrCodeDis , lnAmountDis, checkNullSpace(hdrAnalCode) );
}// lnAmountDis!=0 END }// lnAmountDis!=0 END
/** /**
* select 'taxtran' details * select 'taxtran' details
* */ * */
lineNoTemp = " "+InvoiceDetMap.get("line_no");
lineNoTemp = lineNoTemp.substring(lineNoTemp.length()-3, lineNoTemp.length());
System.out.println("@@@@@@@ lineNoTemp["+lineNoTemp+"]");
sql="select acct_code,cctr_code,sum(tax_amt), case when sum(reco_amount) is null then 0 else sum(reco_amount) end" sql="select acct_code,cctr_code,sum(tax_amt) as tax_amt , case when sum(reco_amount) is null then 0 else sum(reco_amount) end as reco_amount "
+ " from taxtran" + " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?" + " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? effect <> 'N'" + " and line_no = ? effect <> 'N'"
+ " group BY acct_code,cctr_code"; + " group BY acct_code,cctr_code";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id")); pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no")); pstmt.setString(2, lineNoTemp);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
...@@ -653,17 +864,28 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -653,17 +864,28 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
lnAmountTax=rs.getDouble("tax_amt"); lnAmountTax=rs.getDouble("tax_amt");
lcRecoAmt=rs.getDouble("reco_amount"); lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id from invacct where acct_code=? and cctr_code=? and anal_code=?"; if( lsAcctCodeTax == null || lsAcctCodeTax.trim().length() == 0)
{
lsAcctCodeTax = lsAcctCodeSal;
lsCctrCodeTax = lsCctrCodeSal;
}
if( lsCctrCodeTax == null || lsCctrCodeTax.trim().length() == 0 )
{
lsCctrCodeTax = " ";
}
/*sql1="select invoice_id from invacct where acct_code=? and cctr_code=? " +
// "and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt1=conn.prepareStatement(sql1); pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctCodeTax); pstmt1.setString(1, lsAcctCodeTax);
pstmt1.setString(2, lsCctrCodeTax); pstmt1.setString(2, lsCctrCodeTax);
pstmt1.setString(3, hdrAnalCode); pstmt1.setString(3, checkNullSpace(hdrAnalCode));
rs1=pstmt1.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) if(rs1.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -672,18 +894,35 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -672,18 +894,35 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lnAmountTax,conn); updateAcctAmt(tempInvId,lnAmountTax,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record
* */
lnAmountTax=lnAmountTax-lcRecoAmt; lnAmountTax=lnAmountTax-lcRecoAmt;
System.out.println("@@@@@@716 lnAmountTax["+lnAmountTax+"]");
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,lnAmountTax,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctCodeTax,lsCctrCodeTax,hdrAnalCode,lnAmountTax,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
} }*/
pstmt1.close(); /*pstmt1.close();
pstmt1=null; pstmt1=null;
rs1.close(); rs1.close();
rs1=null; rs1=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctCodeTax);
invAcctMap.put("cctr_code", lsCctrCodeTax);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lnAmountTax);
invAcctMap.put("analysis1", lsAnalysis1);
invAcctMap.put("analysis2", lsAnalysis2);
invAcctMap.put("analysis3", lsAnalysis3);
System.out.println("@@@@@@@9 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctCodeTax,lsCctrCodeTax , lnAmountTax, checkNullSpace(hdrAnalCode) );
} }
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
...@@ -696,7 +935,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -696,7 +935,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
* */ * */
lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn)); lsTaxRecoCctr=checkNull(finCommon.getAcctDetrTtype(InvoiceDetMap.get("item_code"), itemSer, "TAXRECO", InvoiceDetMap.get("inv_type"), conn));
// detCctrCode=lsCctrCodeSal; // detCctrCode=lsCctrCodeSal;
String ls_tax_reco_acct[]=lsTaxRecoCctr.split(","); String ls_tax_reco_acct[]=lsTaxRecoCctr.split(",");
if( ls_tax_reco_acct.length > 0) if( ls_tax_reco_acct.length > 0)
...@@ -707,9 +946,13 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -707,9 +946,13 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsTaxRecoCctr=ls_tax_reco_acct[1]; lsTaxRecoCctr=ls_tax_reco_acct[1];
} }
// detAcctCode=lsAcctCodeSal; // detAcctCode=lsAcctCodeSal;
lineNoTemp = " "+InvoiceDetMap.get("line_no");
lineNoTemp = lineNoTemp.substring(lineNoTemp.length()-3, lineNoTemp.length());
System.out.println("@@@@@@@ lineNoTemp["+lineNoTemp+"]");
sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end" sql="select acct_code__reco, cctr_code__reco, case when sum(reco_amount) is null then 0 else sum(reco_amount) end as reco_amount "
+ " from taxtran" + " from taxtran"
+ " where tran_code = 'S-INV' and tran_id = ?" + " where tran_code = 'S-INV' and tran_id = ?"
+ " and line_no = ? and effect <> 'N'" + " and line_no = ? and effect <> 'N'"
...@@ -717,7 +960,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -717,7 +960,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
+ " group BY acct_code__reco, cctr_code__reco "; + " group BY acct_code__reco, cctr_code__reco ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, InvoiceDetMap.get("invoice_id")); pstmt.setString(1, InvoiceDetMap.get("invoice_id"));
pstmt.setString(2, InvoiceDetMap.get("line_no")); pstmt.setString(2, lineNoTemp);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
...@@ -725,17 +968,28 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -725,17 +968,28 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
lsCctrReco=checkNull(rs.getString("cctr_code__reco")); lsCctrReco=checkNull(rs.getString("cctr_code__reco"));
lcRecoAmt=rs.getDouble("reco_amount"); lcRecoAmt=rs.getDouble("reco_amount");
sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? and anal_code=?"; if( lsAcctReco == null || lsAcctReco.trim().length() == 0 )
{
lsAcctReco = lsTaxRecoAcct;
lsCctrReco = lsTaxRecoCctr;
}
if( lsCctrReco == null || lsCctrReco.trim().length() == 0 )
{
lsCctrReco = " ";
}
/*sql1="select invoice_id,amount from invacct where acct_code=? and cctr_code=? " +
// " and anal_code=?";
" and case when anal_code is null then ' ' else anal_code end = ? ";
pstmt1=conn.prepareStatement(sql1); pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, lsAcctReco); pstmt1.setString(1, lsAcctReco);
pstmt1.setString(2, lsCctrReco); pstmt1.setString(2, lsCctrReco);
pstmt1.setString(3, hdrAnalCode); pstmt1.setString(3, checkNullSpace(hdrAnalCode));
rs1=pstmt1.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) if(rs1.next())
{ {
/** *//**
* Update record * Update record
* */ * *//*
tempInvId=rs.getString("invoice_id"); tempInvId=rs.getString("invoice_id");
tempAmount=rs.getDouble("amount"); tempAmount=rs.getDouble("amount");
...@@ -744,17 +998,33 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -744,17 +998,33 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
updateAcctAmt(tempInvId,lcRecoAmt,conn); updateAcctAmt(tempInvId,lcRecoAmt,conn);
} }
else else*/
{ /*{
/** detLineNo++;
* Insert record System.out.println("@@@@@@791 lcRecoAmt["+lcRecoAmt+"]");
* */
iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn); iActCnt=insertInvAcct(detInvId,detLineNo,lsAcctReco,lsCctrReco,hdrAnalCode,lcRecoAmt,lsAnalysis1,lsAnalysis2,lsAnalysis3,conn);
} }*/
pstmt1.close(); /*pstmt1.close();
pstmt1=null; pstmt1=null;
rs1.close(); rs1.close();
rs1=null; rs1=null;*/
invAcctMap = new HashMap<String, String>();
invAcctMap.put("invoice_id", detInvId);
//invAcctMap.put("line_no",detLineNo);
invAcctMap.put("acct_code", lsAcctReco);
invAcctMap.put("cctr_code", lsCctrReco);
invAcctMap.put("anal_code", hdrAnalCode);
invAcctMap.put("amount", ""+lcRecoAmt);
invAcctMap.put("analysis1", lsAnalysis1);
invAcctMap.put("analysis2", lsAnalysis2);
invAcctMap.put("analysis3", lsAnalysis3);
System.out.println("@@@@@@@10 invAcctMap["+invAcctMap+"]");
//invAcctList.add(invAcctMap);
invAcctList = modifyinvAcctList(invAcctList,invAcctMap,lsAcctReco,lsCctrReco , lcRecoAmt, checkNullSpace(hdrAnalCode) );
} }
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
...@@ -762,6 +1032,56 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -762,6 +1032,56 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
rs=null; rs=null;
}//invoiceDetList FOR loop END }//invoiceDetList FOR loop END
} }
retString = insertInvAcctList( invAcctList,conn );
System.out.println("@@@@@1032 retString["+retString+"]");
//calling poonam code here start 13/06/16 cpatil
boolean lb_comm= false;
String commCalcOnOff="",confDrcrOpt="",confJvOpt="",gs_run_mode="";
if( retString == null || retString.trim().length() == 0 )
{
if( gs_run_mode == null || !"B".equalsIgnoreCase(gs_run_mode))
{
//ls_comm_calc_on_off = trim(gf_getfinparm('999999','COMM_CALC_ON_OFF'))
commCalcOnOff = finCommon.getFinparams("999999", "COMM_CALC_ON_OFF", conn);
System.out.println("@@@@@1046 commCalcOnOff["+commCalcOnOff+"]");
if("Y".equalsIgnoreCase(commCalcOnOff))
{
lb_comm = true;
if( lb_comm == true )
{
lb_comm = false;
//nvo_commission_calculation lnvo_commission
//lnvo_commission = create nvo_commission_calculation
//ls_conf_drcr_opt = trim(gf_getfinparm('999999','COMM_DRCR_CONF'))
//ls_conf_jv_opt = trim(gf_getfinparm('999999','COMM_JV_CONF'))
confDrcrOpt = finCommon.getFinparams("999999", "COMM_DRCR_CONF", conn);
confJvOpt = finCommon.getFinparams("999999", "COMM_JV_CONF", conn);
System.out.println("@@@@@1061 confDrcrOpt["+confDrcrOpt+"]confJvOpt["+confJvOpt+"]");
CalculateCommission calculateCommission = new CalculateCommission();
//ls_errcode = lnvo_commission.gbf_calc_commission(ls_invoice_id[ll_cntr],'I','',ls_conf_drcr_opt,ls_conf_jv_opt)
retString = calculateCommission.CalCommission(invoiceId, "I", "", confDrcrOpt, confJvOpt, xtraParams, conn);
System.out.println("@@@@@1065 calculateCommission retString["+retString+"]");
}//end if
}
}
}
// end cpatil
System.out.println("@@@@@1073 retString["+retString+"]");
if( retString == null || retString.trim().length() == 0)
{
/** /**
* Select from * Select from
* Invoice acct * Invoice acct
...@@ -775,9 +1095,11 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -775,9 +1095,11 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
retString=gbfPostInvoice(InvoiceHrdMap,invoiceAcctList,conn); retString=gbfPostInvoice(InvoiceHrdMap,invoiceAcctList,conn);
System.out.println("Invoice post return String :- ["+retString+"]"); System.out.println("Invoice post return String :- ["+retString+"]");
/** /**
* Local connection commit * Local connection commit
* */ * */
}
if(connFlag) if(connFlag)
{ {
conn.commit(); conn.commit();
...@@ -808,6 +1130,398 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -808,6 +1130,398 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
return retString; return retString;
} }
private String gbfPostDrcradj(String invoiceId, String lineNoRef, Connection conn) throws Exception
{
PreparedStatement pstmt = null,pstmt1=null,pstmt2=null;
ResultSet rs = null,rs1=null,rs2=null;
String retString="",ls_tran_id__rcv="",sqlStr2="";
String sql="",sqlStr="",ls_linenoref="",ls_contactcode="";
String ls_tranid="",ls_refser="",ls_refno="",ls_refseradj="",ls_refnoadj="",ls_tranidrcv="";
String ls_status="",ls_curr_code="";
String ls_fin_entity="",ls_site_code="",ls_cust_code="",ls_acct_code="",ls_cctr_code="";
double lc_exch_rate=0.0;
double lc_totamt=0.0,lc_adjamt=0.0,lc_netamt=0.0,lc_recadj=0.0,lc_rectot=0.0,lc_lineadjamt=0.0;
double lc_balamt=0.0;
int rcvadjcnt=0,ll_refcount=0;
Timestamp sysDate=null;
HashMap sundryBalMap=null;
Timestamp ld_trandate=null,ld_effdate=null;
try
{
DistCommon distCommon = new DistCommon();
FinCommon finCommon = new FinCommon();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDateStr = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDateStr);
sysDate = Timestamp.valueOf(genericUtility.getValidDateString(sysDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql ="select tran_id from receivables " +
"where tran_ser = 'S-INV' and ref_no = ? and line_no__ref = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
pstmt.setString(2, lineNoRef);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_tran_id__rcv = checkNull(rs.getString("tran_id"));
}
rs.close();
rs=null;
pstmt.close();
pstmt = null;
if(ls_tran_id__rcv.trim().length()<=0)
{
retString="DS000";
return retString;
}
sql="update receivables_adj set tran_id__rcv = ? WHERE ref_ser = 'S-INV' AND" +
" ref_no = ? AND tran_id__rcv = ' '";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,ls_tran_id__rcv);
pstmt.setString(2,invoiceId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
sql ="SELECT receivables_adj.tran_id,receivables_adj.ref_ser,receivables_adj.ref_no, " +
"receivables_adj.tot_amt,receivables_adj.adj_amt,receivables_adj.ref_ser_adj, " +
"receivables_adj.ref_no_adj,receivables_adj.net_amt,receivables_adj.tran_id__rcv " +
"FROM receivables_adj WHERE ((receivables_adj.ref_ser = 'S-INV' " +
"AND receivables_adj.ref_no = ?) OR (receivables_adj.ref_ser_adj = 'S-INV' " +
" AND receivables_adj.ref_no_adj = ?))";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
pstmt.setString(2, invoiceId);
rs = pstmt.executeQuery();
while(rs.next())
{
rcvadjcnt++;
ls_tranid = checkNull(rs.getString("tran_id"));
ls_refser = checkNull(rs.getString("ref_ser"));
ls_refno = checkNull(rs.getString("ref_no"));
lc_totamt = rs.getDouble("tot_amt");
lc_adjamt = rs.getDouble("adj_amt");
ls_refseradj = checkNull(rs.getString("ref_ser_adj"));
ls_refnoadj = checkNull(rs.getString("ref_no_adj"));
lc_netamt = rs.getDouble("net_amt");
ls_tranidrcv = checkNull(rs.getString("tran_id__rcv"));
sqlStr ="select tot_amt, adj_amt from receivables where tran_ser = ? " +
" and ref_no = ? and line_no__ref = ? ";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1, ls_refser);
pstmt1.setString(2, ls_refno);
pstmt1.setString(3, lineNoRef);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
lc_rectot = rs1.getDouble("tot_amt");
lc_recadj = rs1.getDouble("adj_amt");
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 = null;
ll_refcount = 1;
if("S-INV".equalsIgnoreCase(ls_refser))
{
sqlStr ="select count(1) as ll_refcount from receivables " +
" where tran_ser = ? and ref_no = ? and line_no__ref = ? ";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1, ls_refser);
pstmt1.setString(2, ls_refno);
pstmt1.setString(3, lineNoRef);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
ll_refcount = rs1.getInt("ll_refcount");
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 = null;
}
if("S-INV".equalsIgnoreCase(ls_refser) && lc_adjamt>0 && ll_refcount > 1)
{
lc_balamt=lc_adjamt;
sqlStr ="select tot_amt - adj_amt as amt, line_no__ref from receivables " +
" where tran_ser = ? and ref_no = ? " +
" and tot_amt - adj_amt > 0 ";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1, ls_refser);
pstmt1.setString(2, ls_refno);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
lc_lineadjamt = rs1.getDouble("amt");
ls_linenoref = checkNull(rs1.getString("line_no__ref"));
sqlStr2 ="select tot_amt, adj_amt from receivables" +
" where tran_ser = ? and ref_no = ? and line_no__ref = ? ";
pstmt2 = conn.prepareStatement(sqlStr2);
pstmt2.setString(1, ls_refser);
pstmt2.setString(2, ls_refno);
pstmt2.setString(3, ls_linenoref);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
lc_rectot = rs2.getDouble("tot_amt");
lc_recadj = rs2.getDouble("adj_amt");
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2 = null;
if(lc_balamt < lc_lineadjamt)
{
lc_lineadjamt = lc_balamt;
}
lc_balamt = lc_balamt - lc_lineadjamt;
if(lc_rectot == (lc_recadj + lc_lineadjamt))
{
ls_status = "A";
}else
{
ls_status = "P";
}
sql="update receivables set adj_amt = adj_amt + ? , status = ?," +
" stat_date = ? where tran_ser = ? " +
"and ref_no = ? and line_no__ref = ? ";
pstmt2=conn.prepareStatement(sql);
pstmt2.setDouble(1,lc_lineadjamt);
pstmt2.setString(2,ls_status);
pstmt2.setTimestamp(3, sysDate);
pstmt2.setString(4,ls_refser);
pstmt2.setString(5,ls_refno);
pstmt2.setString(6,ls_linenoref);
pstmt2.executeUpdate();
pstmt2.close();
pstmt2=null;
if(lc_balamt <=0)
{
return retString;
}
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 = null;
if(lc_balamt > 0)
{
retString="VTBALAMT";
return retString;
}
if(retString.trim().length()>0)
{
return retString;
}
}else
{
if("1".equalsIgnoreCase(checkNull(lineNoRef).trim()))
{
if(lc_rectot == (lc_adjamt + lc_recadj))
{
ls_status = "A";
}else
{
ls_status = "P";
}
sql="update receivables set adj_amt = adj_amt + ?,status = ?," +
"stat_date = ? where tran_ser = ? and ref_no = ? and " +
" line_no__ref = ? ";
pstmt2=conn.prepareStatement(sql);
pstmt2.setDouble(1,lc_adjamt);
pstmt2.setString(2,ls_status);
pstmt2.setTimestamp(3, sysDate);
pstmt2.setString(4,ls_refser);
pstmt2.setString(5,ls_refno);
pstmt2.setString(6,lineNoRef);
pstmt2.executeUpdate();
pstmt2.close();
pstmt2=null;
}
}
if("R-ADV".equalsIgnoreCase(ls_refser))
{
int radvCnt=0;
sqlStr ="select fin_entity, site_code, cust_code, acct_code, cctr_code,curr_code, exch_rate " +
" from receivables where tran_ser = ? and ref_no = ? and line_no__ref = '1'";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1, ls_refser);
pstmt1.setString(2, ls_refno);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
radvCnt++;
ls_fin_entity = rs1.getString("fin_entity");
ls_site_code = rs1.getString("site_code");
ls_cust_code = rs1.getString("cust_code");
ls_acct_code = rs1.getString("acct_code");
ls_cctr_code = rs1.getString("cctr_code");
ls_curr_code = rs1.getString("curr_code");
lc_exch_rate = rs1.getDouble("exch_rate");
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 = null;
if(radvCnt==0)
{
retString="DS000";
return retString;
}
sqlStr ="select tran_date,eff_date from invoice " +
" where invoice_id = ? ";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1, invoiceId);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
ld_trandate = rs1.getTimestamp("tran_date");
ld_effdate = rs1.getTimestamp("eff_date");
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1 = null;
sundryBalMap = new HashMap();
sundryBalMap.put("tran_date",ld_trandate);
sundryBalMap.put("eff_date",ld_effdate);
sundryBalMap.put("fin_entity", ls_fin_entity);
sundryBalMap.put("site_code", ls_site_code);
sundryBalMap.put("sundry_type", "C");
sundryBalMap.put("sundry_code", ls_cust_code);
sundryBalMap.put("acct_code", ls_acct_code);
sundryBalMap.put("cctr_code", ls_cctr_code);
sundryBalMap.put("curr_code", ls_curr_code);
sundryBalMap.put("exch_rate", lc_exch_rate);
sundryBalMap.put("dr_amt", Double.parseDouble("0"));
sundryBalMap.put("cr_amt", Double.parseDouble("0"));
sundryBalMap.put("adv_amt", lc_adjamt);
ls_contactcode = finCommon.getContactCode("C", ls_cust_code, conn) ;
sundryBalMap.put("contact_code", ls_contactcode);
System.out.println("@@@@@@@@@@@ ls_refser R-ADV sundryBalMap["+sundryBalMap+"]");
/**
* sundry_bal update
* */
retString = finCommon.gbf_sundrybal_upd(sundryBalMap,conn);
}
}
rs.close();
rs=null;
pstmt.close();
pstmt = null;
/*if(rcvadjcnt==0)
{
retString="DS000";
return retString;
}
*/
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
// TODO Auto-generated method stub
return retString;
}
private String insertInvAcctList(
ArrayList<HashMap<String, String>> invAcctList, Connection conn) throws ITMException
{
int detLineNo=0;
String sql="",errCode="";
PreparedStatement pstmt=null;
try
{
System.out.println("@@@@@@@1087 invAcctList.size["+invAcctList.size()+"]");
for( int i=0; i < invAcctList.size() ; i++ )
{
detLineNo++;
HashMap<String, String> tempMap = new HashMap<String, String>();
tempMap = invAcctList.get(i);
System.out.println("@@@@@@@@@ i["+i+"]tempMap["+tempMap+"]");
if( tempMap != null)
{
sql="insert into invacct (invoice_id,line_no,acct_code,cctr_code,anal_code,amount,analysis1,analysis2,analysis3)"
+ " values (?,?,?,?,?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tempMap.get("invoice_id"));
pstmt.setInt(2, detLineNo);
pstmt.setString(3, tempMap.get("acct_code"));
pstmt.setString(4, tempMap.get("cctr_code"));
pstmt.setString(5, tempMap.get("anal_code"));
pstmt.setDouble(6, Double.parseDouble(tempMap.get("amount")==null?"0":tempMap.get("amount")));
pstmt.setString(7, tempMap.get("analysis1"));
pstmt.setString(8, tempMap.get("analysis2"));
pstmt.setString(9, tempMap.get("analysis3"));
int insertCnt=pstmt.executeUpdate();
System.out.println("@@@@@@@@@ i["+i+"]insertCnt["+insertCnt+"]");
pstmt.close();
pstmt=null;
}
}
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
return errCode;
}
private ArrayList<HashMap<String, String>> modifyinvAcctList(
ArrayList<HashMap<String, String>> invAcctList,
HashMap<String, String> invAcctMap, String lsAcctCodeSal,
String lsCctrCodeSal, double detAmount, String analCode)
{
boolean findFlag=false;
System.out.println("@@@@@@@@1131 invAcctMap["+invAcctMap+"]");
for( int i=0; i < invAcctList.size() ; i++ )
{
HashMap<String, String> tempMap = new HashMap<String, String>();
tempMap = invAcctList.get(i);
System.out.println("@@@@@@@@1135 tempMap["+tempMap+"]");
if(tempMap.containsKey(lsAcctCodeSal+lsCctrCodeSal+analCode))
{
detAmount=detAmount + Double.parseDouble(tempMap.get("amount"));
tempMap.put("amount", ""+detAmount);
findFlag = true;
invAcctList.add(tempMap);
break;
}
}
if(! findFlag )
{
invAcctList.add(invAcctMap);
}
return invAcctList;
}
private int updateAcctAmt(String tempInvId, double amount, Connection conn) throws ITMException private int updateAcctAmt(String tempInvId, double amount, Connection conn) throws ITMException
{ {
int uActCnt=0; int uActCnt=0;
...@@ -966,7 +1680,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -966,7 +1680,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
return invoiceDetList; return invoiceDetList;
} }
private String gbfPostInvoice(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList,Connection conn) throws ITMException private String gbfPostInvoice(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList,Connection conn) throws Exception
{ {
String retString=""; String retString="";
// TODO Auto-generated method stub // TODO Auto-generated method stub
...@@ -975,12 +1689,17 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -975,12 +1689,17 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
* Posting Invoice header * Posting Invoice header
* */ * */
retString=gbfPostInvoiceHdr(InvoiceHrdMap,conn); retString=gbfPostInvoiceHdr(InvoiceHrdMap,conn);
System.out.println("@@@@@@@@997 retString gbfPostInvoiceHdr["+retString+"]");
if( retString == null || retString.trim().length() == 0)
{
retString=gbfPostInvoiceDet(InvoiceHrdMap,invoiceAcctList,conn); retString=gbfPostInvoiceDet(InvoiceHrdMap,invoiceAcctList,conn);
}
System.out.println("@@@@@@@@1002 retString gbfPostInvoiceDet["+retString+"]");
return retString; return retString;
} }
private String gbfPostInvoiceDet(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList, Connection conn) throws ITMException private String gbfPostInvoiceDet(HashMap<String, String> InvoiceHrdMap, ArrayList<Object> invoiceAcctList, Connection conn) throws Exception
{ {
// TODO Auto-generated method stub // TODO Auto-generated method stub
String retString="",lsPostdate="",ldPostdate="",sql="",lsProjCode="",partyDocRef=""; String retString="",lsPostdate="",ldPostdate="",sql="",lsProjCode="",partyDocRef="";
...@@ -988,7 +1707,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -988,7 +1707,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
ResultSet rs=null; ResultSet rs=null;
HashMap glTraceMap = null; HashMap glTraceMap = null;
HashMap<String, String>InvoiceAcctMap=null; HashMap<String, String>InvoiceAcctMap=null;
Timestamp ldPostdate2=null;
try try
{ {
lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn)); lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn));
...@@ -1026,7 +1745,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1026,7 +1745,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
InvoiceAcctMap=new HashMap<String, String>(); InvoiceAcctMap=new HashMap<String, String>();
InvoiceAcctMap=(HashMap<String, String>) invoiceAcctList.get(itr); InvoiceAcctMap=(HashMap<String, String>) invoiceAcctList.get(itr);
System.out.println("@@@@@@@1063 itr["+itr+"]InvoiceAcctMap["+InvoiceAcctMap+"].......................InvoiceHrdMap["+InvoiceHrdMap+"]");
/** /**
* Generate gl_trace Map * Generate gl_trace Map
* */ * */
...@@ -1035,12 +1754,16 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1035,12 +1754,16 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
glTraceMap.put("ref_type", "D"); glTraceMap.put("ref_type", "D");
glTraceMap.put("ref_ser", "S-INV"); glTraceMap.put("ref_ser", "S-INV");
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id")); glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id")); //glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn); partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn);
glTraceMap.put("party_doc_ref", partyDocRef); glTraceMap.put("party_doc_ref", partyDocRef);
glTraceMap.put("tran_date", ldPostdate); if( ldPostdate != null && ldPostdate.trim().length() > 0 )
{
ldPostdate2 = Timestamp.valueOf(genericUtility.getValidDateString(ldPostdate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
glTraceMap.put("tran_date", ldPostdate2);
glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date")))); glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date"))));
glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity")); glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
glTraceMap.put("site_code", InvoiceHrdMap.get("site_code")); glTraceMap.put("site_code", InvoiceHrdMap.get("site_code"));
...@@ -1050,25 +1773,38 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1050,25 +1773,38 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
glTraceMap.put("cctr_code",InvoiceAcctMap.get("cctr_code")); glTraceMap.put("cctr_code",InvoiceAcctMap.get("cctr_code"));
glTraceMap.put("anal_code",InvoiceAcctMap.get("anal_code")); glTraceMap.put("anal_code",InvoiceAcctMap.get("anal_code"));
glTraceMap.put("curr_code",InvoiceHrdMap.get("curr_code")); glTraceMap.put("curr_code",InvoiceHrdMap.get("curr_code"));
glTraceMap.put("exch_rate",InvoiceHrdMap.get("exch_rate")); //glTraceMap.put("exch_rate",InvoiceHrdMap.get("exch_rate"));
glTraceMap.put("exch_rate", Double.parseDouble(InvoiceHrdMap.get("exch_rate").toString()));
if(Double.parseDouble(InvoiceAcctMap.get("amount"))>0) if(Double.parseDouble(InvoiceAcctMap.get("amount"))>0)
{ {
glTraceMap.put("dr_amt",0); //glTraceMap.put("dr_amt",0);
glTraceMap.put("cr_amt",InvoiceAcctMap.get("amount")); glTraceMap.put("dr_amt", Double.parseDouble("0"));
//glTraceMap.put("cr_amt",InvoiceAcctMap.get("amount"));
//glTraceMap.put("dr_amt", Double.parseDouble("0"));
glTraceMap.put("cr_amt", Double.parseDouble(InvoiceAcctMap.get("amount").toString()));
//glTraceMap.put("dr_amt", Double.parseDouble(InvoiceAcctMap.get("amount").toString()));
//glTraceMap.put("cr_amt", Double.parseDouble("0"));
} }
else else
{ {
glTraceMap.put("dr_amt",(0-Double.parseDouble(InvoiceAcctMap.get("amount")))); //glTraceMap.put("dr_amt",(0-Double.parseDouble(InvoiceAcctMap.get("amount"))));
glTraceMap.put("cr_amt",0); glTraceMap.put("dr_amt", (0-Double.parseDouble(InvoiceAcctMap.get("amount"))));
//glTraceMap.put("cr_amt",0);
glTraceMap.put("cr_amt", Double.parseDouble("0"));
//glTraceMap.put("dr_amt", Double.parseDouble("0"));
//glTraceMap.put("cr_amt", (0-Double.parseDouble(InvoiceAcctMap.get("amount"))));
} }
glTraceMap.put("remarks", InvoiceHrdMap.get("net_amt").substring(0, 60)); System.out.println("@@@@@1103 InvoiceHrdMap.get(remarks)["+InvoiceHrdMap.get("remarks")+"]");
//glTraceMap.put("remarks", InvoiceHrdMap.get("remarks").substring(0, 60));
glTraceMap.put("remarks", InvoiceHrdMap.get("remarks"));
glTraceMap.put("proj_code", lsProjCode); glTraceMap.put("proj_code", lsProjCode);
glTraceMap.put("ANALYSIS1", InvoiceAcctMap.get("analysis1")); glTraceMap.put("analysis1", InvoiceAcctMap.get("analysis1"));
glTraceMap.put("ANALYSIS2", InvoiceAcctMap.get("analysis2")); glTraceMap.put("analysis2", InvoiceAcctMap.get("analysis2"));
glTraceMap.put("ANALYSIS3", InvoiceAcctMap.get("analysis3")); glTraceMap.put("analysis3", InvoiceAcctMap.get("analysis3"));
System.out.println("@@@@@@@ glTraceMap["+glTraceMap+"]");
/** /**
* gl_trace update * gl_trace update
* */ * */
...@@ -1076,6 +1812,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1076,6 +1812,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
} }
} catch (ITMException e) } catch (ITMException e)
{ {
e.printStackTrace(); e.printStackTrace();
...@@ -1096,6 +1833,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1096,6 +1833,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
// TODO Auto-generated method stub // TODO Auto-generated method stub
String retSting="",sysDate="",lsPostdate="",sql="",lsProjCode="",partyDocRef="",lcCramt="",lsAnalysis="",lsTemp="",llRelAfter="",lsAmtType=""; String retSting="",sysDate="",lsPostdate="",sql="",lsProjCode="",partyDocRef="",lcCramt="",lsAnalysis="",lsTemp="",llRelAfter="",lsAmtType="";
String analysis1__dr="",analysis2__dr="",analysis3__dr="",analysis1__cr="",analysis2__cr="",analysis3__cr="",sql1=""; String analysis1__dr="",analysis2__dr="",analysis3__dr="",analysis1__cr="",analysis2__cr="",analysis3__cr="",sql1="";
String lineNoRef="";
double lc_cramt=0.0,lc_dramt=0.0,lcSchemehdrAmt=0.0,lcRelAmt=0.0,lcTotAmt=0.0; double lc_cramt=0.0,lc_dramt=0.0,lcSchemehdrAmt=0.0,lcRelAmt=0.0,lcTotAmt=0.0;
Timestamp ldDueDate=null; Timestamp ldDueDate=null;
PreparedStatement pstmt=null,pstmt1=null; PreparedStatement pstmt=null,pstmt1=null;
...@@ -1119,7 +1857,11 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1119,7 +1857,11 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
System.out.println("System date :- [" + sysDate + "]"); System.out.println("System date :- [" + sysDate + "]");
lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn)); lsPostdate=checkNull(finCommon.getFinparams("999999", "POST_DATE_INV", conn));
if(lsPostdate==null || lsPostdate.trim().length()==0) if(lsPostdate==null || lsPostdate.trim().length()==0 || "NULLFOUND".equalsIgnoreCase(lsPostdate))
{
lsPostdate=InvoiceHrdMap.get("tran_date");
}
else if(lsPostdate.contains("TRAN"))
{ {
lsPostdate=InvoiceHrdMap.get("tran_date"); lsPostdate=InvoiceHrdMap.get("tran_date");
} }
...@@ -1127,6 +1869,10 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1127,6 +1869,10 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
lsPostdate=InvoiceHrdMap.get("eff_date"); lsPostdate=InvoiceHrdMap.get("eff_date");
} }
else
{
lsPostdate=InvoiceHrdMap.get("tran_date");
}
/** /**
* Generate sundry_bal Map * Generate sundry_bal Map
* */ * */
...@@ -1140,12 +1886,18 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1140,12 +1886,18 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
sundryBalMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar")); sundryBalMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
sundryBalMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar")); sundryBalMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
sundryBalMap.put("curr_code", InvoiceHrdMap.get("curr_code")); sundryBalMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
sundryBalMap.put("exch_rate", InvoiceHrdMap.get("exch_rate")); //sundryBalMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
sundryBalMap.put("dr_amt", InvoiceHrdMap.get("net_amt")); sundryBalMap.put("exch_rate", Double.parseDouble(InvoiceHrdMap.get("exch_rate").toString()));
sundryBalMap.put("cr_amt", 0); //sundryBalMap.put("dr_amt", InvoiceHrdMap.get("net_amt"));
sundryBalMap.put("adv_amt", 0.0); sundryBalMap.put("dr_amt", Double.parseDouble(InvoiceHrdMap.get("net_amt").toString()));
//sundryBalMap.put("cr_amt", 0);
sundryBalMap.put("cr_amt", Double.parseDouble("0"));
//sundryBalMap.put("adv_amt", 0.0);
sundryBalMap.put("adv_amt", Double.parseDouble("0"));
sundryBalMap.put("contact_code", ""); sundryBalMap.put("contact_code", "");
System.out.println("@@@@@@@@@@@ sundryBalMap["+sundryBalMap+"]");
/** /**
* sundry_bal update * sundry_bal update
* */ * */
...@@ -1168,6 +1920,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1168,6 +1920,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
/** /**
* Generate gl_trace Map * Generate gl_trace Map
* */ * */
glTraceMap = new HashMap(); // added by cpatil for null pointer error on 23/05/16
glTraceMap.put("ref_type", "D"); glTraceMap.put("ref_type", "D");
glTraceMap.put("ref_ser", "S-INV"); glTraceMap.put("ref_ser", "S-INV");
glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id")); glTraceMap.put("ref_id", InvoiceHrdMap.get("invoice_id"));
...@@ -1175,22 +1929,49 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1175,22 +1929,49 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn); partyDocRef = finCommon.gfGetPartyDocRef((String)glTraceMap.get("ref_ser"), (String)glTraceMap.get("ref_id"),conn);
glTraceMap.put("party_doc_ref", partyDocRef); glTraceMap.put("party_doc_ref", partyDocRef);
glTraceMap.put("tran_date", lsPostdate); System.out.println("@@@@@ lsPostdate["+lsPostdate+"]");
Timestamp lsPostdateTemp = Timestamp.valueOf(genericUtility.getValidDateString(lsPostdate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("@@@@@ lsPostdateTemp["+lsPostdateTemp+"]");
//glTraceMap.put("tran_date", lsPostdate);
glTraceMap.put("tran_date", lsPostdateTemp);
glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date")))); glTraceMap.put("eff_date",new Timestamp(Timestamp.parse(InvoiceHrdMap.get("eff_date"))));
glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity")); glTraceMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
glTraceMap.put("site_code", InvoiceHrdMap.get("site_code")); glTraceMap.put("site_code", InvoiceHrdMap.get("site_code"));
glTraceMap.put("sundry_type", "C"); glTraceMap.put("sundry_type", "C");
glTraceMap.put("sundry_code", InvoiceHrdMap.get("cust_code__bil")); glTraceMap.put("sundry_code", InvoiceHrdMap.get("cust_code__bil"));
glTraceMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar")); glTraceMap.put("acct_code", InvoiceHrdMap.get("acct_code__ar"));
glTraceMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
glTraceMap.put("anal_code", InvoiceHrdMap.get("anal_code")); glTraceMap.put("anal_code", InvoiceHrdMap.get("anal_code"));
glTraceMap.put("curr_code", InvoiceHrdMap.get("curr_code")); glTraceMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
glTraceMap.put("exch_rate", InvoiceHrdMap.get("exch_rate")); //glTraceMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
glTraceMap.put("dr_amt", InvoiceHrdMap.get("net_amt")); glTraceMap.put("exch_rate", Double.parseDouble(InvoiceHrdMap.get("exch_rate").toString()));
glTraceMap.put("cr_amt", 0); //glTraceMap.put("dr_amt", InvoiceHrdMap.get("net_amt"));
glTraceMap.put("remarks", InvoiceHrdMap.get("net_amt").substring(0, 60)); glTraceMap.put("dr_amt", Double.parseDouble(InvoiceHrdMap.get("net_amt").toString()));
//glTraceMap.put("cr_amt", 0);
glTraceMap.put("cr_amt", Double.parseDouble("0"));
System.out.println("@@@@@@ InvoiceHrdMap.get(remarks)["+InvoiceHrdMap.get("remarks").toString()+"]");
String remarksTemp ="";
if( InvoiceHrdMap.get("remarks").toString() != null && InvoiceHrdMap.get("remarks").toString().trim().length() > 0 )
{
if(InvoiceHrdMap.get("remarks").toString().trim().length() > 60)
{
remarksTemp = InvoiceHrdMap.get("remarks").substring(0, 60);
}
else
{
remarksTemp = InvoiceHrdMap.get("remarks").toString();
}
}
System.out.println("@@@@@@ remarksTemp["+remarksTemp+"]");
glTraceMap.put("remarks", remarksTemp);
glTraceMap.put("proj_code", lsProjCode); glTraceMap.put("proj_code", lsProjCode);
sql="select sum(case when tax_amt is null then 0 else tax_amt end) as lcCramt from taxtran where tran_code = 'S-INV'" //sql="select sum(case when tax_amt is null then 0 else tax_amt end) as lcCramt from taxtran where tran_code = 'S-INV'"
sql="select (case when sum(tax_amt) is null then 0 else sum(tax_amt) end) as lcCramt from taxtran where tran_code = 'S-INV'"
+ " and tran_id = ? and effect <> 'N' and pay_tax = 'Y' "; + " and tran_id = ? and effect <> 'N' and pay_tax = 'Y' ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, glTraceMap.get("ref_id").toString()); pstmt.setString(1, glTraceMap.get("ref_id").toString());
...@@ -1204,17 +1985,19 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1204,17 +1985,19 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
rs.close(); rs.close();
rs=null; rs=null;
System.out.println("@@@@@@@1262 glTraceMap["+glTraceMap+"]");
if(lcCramt==null || lcCramt.trim().length()==0) if(lcCramt==null || lcCramt.trim().length()==0)
{ {
lc_cramt=0; lc_cramt=0;
lc_dramt=(Double)glTraceMap.get("dr_amt")-lc_cramt; lc_dramt=(Double)glTraceMap.get("dr_amt")-lc_cramt;
glTraceMap.put("dr_amt",lc_dramt); glTraceMap.put("dr_amt",lc_dramt);
}
/** /**
* gl_trace update * gl_trace update
* */ * */
retSting=finCommon.glTraceUpdate(glTraceMap,conn); retSting=finCommon.glTraceUpdate(glTraceMap,conn);
}
if(Math.abs(Double.parseDouble(lcCramt))>0) if(Math.abs(Double.parseDouble(lcCramt))>0)
{ {
glTraceMap.put("dr_amt",0); glTraceMap.put("dr_amt",0);
...@@ -1228,7 +2011,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1228,7 +2011,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
retSting=finCommon.glTraceUpdate(glTraceMap,conn); retSting=finCommon.glTraceUpdate(glTraceMap,conn);
} }
lcSchemehdrAmt=Double.parseDouble(InvoiceHrdMap.get("disc_offinv_amt_hdr"))+Double.parseDouble(InvoiceHrdMap.get("disc_billback_amt_hdr")); System.out.println("@@@@@@@@ disc_offinv_amt_hdr["+InvoiceHrdMap.get("disc_offinv_amt_hdr")+"]");
System.out.println("@@@@@@@@ disc_billback_amt_hdr["+InvoiceHrdMap.get("disc_billback_amt_hdr")+"]");
if((InvoiceHrdMap.get("disc_offinv_amt_hdr") ==null) || (InvoiceHrdMap.get("disc_offinv_amt_hdr") !=null && InvoiceHrdMap.get("disc_offinv_amt_hdr").trim().length()==0))
{
InvoiceHrdMap.put("disc_offinv_amt_hdr","0");
}
if((InvoiceHrdMap.get("disc_billback_amt_hdr") ==null) || (InvoiceHrdMap.get("disc_offinv_amt_hdr") !=null && InvoiceHrdMap.get("disc_billback_amt_hdr").trim().length()==0))
{
InvoiceHrdMap.put("disc_billback_amt_hdr","0");
}
lcSchemehdrAmt=Double.parseDouble(InvoiceHrdMap.get("disc_offinv_amt_hdr")==null?"0":InvoiceHrdMap.get("disc_offinv_amt_hdr"))+Double.parseDouble(InvoiceHrdMap.get("disc_billback_amt_hdr")==null?"0":InvoiceHrdMap.get("disc_billback_amt_hdr"));
System.out.println("@@@@@ lcSchemehdrAmt["+lcSchemehdrAmt+"]");
if(lcSchemehdrAmt>0) if(lcSchemehdrAmt>0)
{ {
InvAcct invAcct=new InvAcct(); InvAcct invAcct=new InvAcct();
...@@ -1382,6 +2181,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1382,6 +2181,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no")); receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no"));
receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date")); receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date"));
receivablesMap.put("mrp_value","0");
ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"), ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"),
InvoiceHrdMap.get("tran_date"),conn); InvoiceHrdMap.get("tran_date"),conn);
receivablesMap.put("discount_date", ldDiscdt); receivablesMap.put("discount_date", ldDiscdt);
...@@ -1390,6 +2192,15 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1390,6 +2192,15 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
* receivable update * receivable update
* */ * */
retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn); retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn);
//Start Added by chandrashekar on 12-sep-2016
System.out.println("gbfReceivablesUpd retSting 1>>>"+retSting);
if(retSting == null ||retSting.trim().length()==0)
{
lineNoRef=""+lsNo;
retSting=gbfPostDrcradj(InvoiceHrdMap.get("invoice_id"),lineNoRef,conn);
}
//End Added by chandrashekar on 12-sep-2016
} }
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
...@@ -1400,12 +2211,15 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1400,12 +2211,15 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
{ {
receivablesMap=new HashMap(); receivablesMap=new HashMap();
receivablesMap.put("tran_ser", "S-INV"); receivablesMap.put("tran_ser", "S-INV");
receivablesMap.put("tran_date", Timestamp.valueOf(lsPostdate)); // receivablesMap.put("tran_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("tran_date", Timestamp.valueOf(genericUtility.getValidDateString(lsPostdate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"));
receivablesMap.put("fin_entity", InvoiceHrdMap.get("fin_entity")); receivablesMap.put("fin_entity", InvoiceHrdMap.get("fin_entity"));
receivablesMap.put("site_code", InvoiceHrdMap.get("site_code")); receivablesMap.put("site_code", InvoiceHrdMap.get("site_code"));
receivablesMap.put("ref_no", InvoiceHrdMap.get("invoice_id")); receivablesMap.put("ref_no", InvoiceHrdMap.get("invoice_id"));
receivablesMap.put("ref_date", Timestamp.valueOf(lsPostdate)); // receivablesMap.put("ref_date", Timestamp.valueOf(lsPostdate));
receivablesMap.put("due_date", InvoiceHrdMap.get("due_date")); receivablesMap.put("ref_date", Timestamp.valueOf(genericUtility.getValidDateString(lsPostdate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"));
// receivablesMap.put("due_date", InvoiceHrdMap.get("due_date"));
receivablesMap.put("due_date", Timestamp.valueOf(genericUtility.getValidDateString(InvoiceHrdMap.get("due_date").toString(), genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"));
receivablesMap.put("curr_code", InvoiceHrdMap.get("curr_code")); receivablesMap.put("curr_code", InvoiceHrdMap.get("curr_code"));
receivablesMap.put("exch_rate", InvoiceHrdMap.get("exch_rate")); receivablesMap.put("exch_rate", InvoiceHrdMap.get("exch_rate"));
receivablesMap.put("cust_code", InvoiceHrdMap.get("cust_code__bil")); receivablesMap.put("cust_code", InvoiceHrdMap.get("cust_code__bil"));
...@@ -1413,19 +2227,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1413,19 +2227,23 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
receivablesMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar")); receivablesMap.put("cctr_code", InvoiceHrdMap.get("cctr_code__ar"));
receivablesMap.put("tax_amt", InvoiceHrdMap.get("tax_amt")); receivablesMap.put("tax_amt", InvoiceHrdMap.get("tax_amt"));
receivablesMap.put("discount", InvoiceHrdMap.get("disc_amt")); receivablesMap.put("discount", InvoiceHrdMap.get("disc_amt"));
receivablesMap.put("tot_amt",lcRelAmt); //receivablesMap.put("tot_amt",lcRelAmt);
receivablesMap.put("tot_amt",InvoiceHrdMap.get("net_amt"));//Change by chandrashekar on 09-sep-2016
receivablesMap.put("auto_rcp", "N"); receivablesMap.put("auto_rcp", "N");
receivablesMap.put("bank_code",InvoiceHrdMap.get("bank_code")); receivablesMap.put("bank_code",InvoiceHrdMap.get("bank_code"));
receivablesMap.put("ref_type", InvoiceHrdMap.get("inv_type")); receivablesMap.put("ref_type", InvoiceHrdMap.get("inv_type"));
receivablesMap.put("cr_term", InvoiceHrdMap.get("cr_term")); receivablesMap.put("cr_term", InvoiceHrdMap.get("cr_term"));
receivablesMap.put("sales_pers", InvoiceHrdMap.get("sales_pers")); receivablesMap.put("sales_pers", InvoiceHrdMap.get("sales_pers"));
receivablesMap.put("eff_date", InvoiceHrdMap.get("eff_date")); // receivablesMap.put("eff_date", InvoiceHrdMap.get("eff_date"));
receivablesMap.put("eff_date", Timestamp.valueOf(genericUtility.getValidDateString(InvoiceHrdMap.get("eff_date").toString(), genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"));
receivablesMap.put("sales_pers__1", InvoiceHrdMap.get("sales_pers__1")); receivablesMap.put("sales_pers__1", InvoiceHrdMap.get("sales_pers__1"));
receivablesMap.put("sales_pers__2", InvoiceHrdMap.get("sales_pers__2")); receivablesMap.put("sales_pers__2", InvoiceHrdMap.get("sales_pers__2"));
receivablesMap.put("item_ser", InvoiceHrdMap.get("item_ser")); receivablesMap.put("item_ser", InvoiceHrdMap.get("item_ser"));
receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no")); receivablesMap.put("gp_no", InvoiceHrdMap.get("gp_no"));
receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date")); receivablesMap.put("gp_date", InvoiceHrdMap.get("gp_date"));
receivablesMap.put("mrp_value","0");
ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"), ldDiscdt=gbf_calc_discountdate(InvoiceHrdMap.get("cr_term"), InvoiceHrdMap.get("tran_date"), InvoiceHrdMap.get("eff_date"),
InvoiceHrdMap.get("tran_date"),conn); InvoiceHrdMap.get("tran_date"),conn);
receivablesMap.put("discount_date", ldDiscdt); receivablesMap.put("discount_date", ldDiscdt);
...@@ -1433,7 +2251,17 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1433,7 +2251,17 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
/** /**
* receivable update * receivable update
* */ * */
System.out.println("@@@@@@@@ receivablesMap["+receivablesMap+"]");
retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn); retSting = finCommon.gbfReceivablesUpd(receivablesMap,conn);
//Start Added by chandrashekar on 12-sep-2016
System.out.println("gbfReceivablesUpd retSting 2 >>>"+retSting);
if(retSting == null ||retSting.trim().length()==0)
{
lineNoRef="1";
retSting=gbfPostDrcradj(InvoiceHrdMap.get("invoice_id"),lineNoRef,conn);
}
//End Added by chandrashekar on 12-sep-2016
} }
} catch (ITMException e) } catch (ITMException e)
...@@ -1487,7 +2315,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1487,7 +2315,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
} }
else if(lsStart.equalsIgnoreCase("B")) else if(lsStart.equalsIgnoreCase("B"))
{ {
ldTranDt=Timestamp.valueOf(billDate); // ldTranDt=Timestamp.valueOf(billDate);
ldTranDt=Timestamp.valueOf(genericUtility.getValidDateString(billDate, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
} }
liMonth=ldTranDt.getMonth(); liMonth=ldTranDt.getMonth();
...@@ -1524,7 +2353,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1524,7 +2353,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
pstmt=null; pstmt=null;
rs.close(); rs.close();
rs=null; rs=null;
System.out.println("@@@@@@@@1613 lsOverridediscdt["+lsOverridediscdt+"]");
if(sqlCount>0) if(sqlCount>0)
{ {
if(lsOverridediscdt!=null && lsOverridediscdt.trim().length()>0) if(lsOverridediscdt!=null && lsOverridediscdt.trim().length()>0)
...@@ -1552,7 +2381,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1552,7 +2381,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
pstmt=null; pstmt=null;
rs.close(); rs.close();
rs=null; rs=null;
System.out.println("@@@@@@@@1614 lsOverridediscdt["+lsOverridediscdt+"]");
if(sqlCount>0) if(sqlCount>0)
{ {
liCrDays=Long.parseLong(lsOverridediscdt.substring(2)); liCrDays=Long.parseLong(lsOverridediscdt.substring(2));
...@@ -1588,6 +2417,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1588,6 +2417,9 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
e.printStackTrace(); e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage()); System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e); throw new ITMException(e);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
return ldDuedate; return ldDuedate;
...@@ -1701,7 +2533,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1701,7 +2533,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
ln_amount_sal=Double.parseDouble(qtyStd) * Double.parseDouble(rateStd); ln_amount_sal=Double.parseDouble(qtyStd) * Double.parseDouble(rateStd);
InvoiceDespMap.put("ln_amount_sal", String.valueOf(ln_amount_sal)); InvoiceDespMap.put("ln_amount_sal", String.valueOf(ln_amount_sal));
System.out.println("@@@@@1826 InvoiceDespMap["+InvoiceDespMap+"]");
invoiceDeapList.add(InvoiceDespMap); invoiceDeapList.add(InvoiceDespMap);
} }
pstmt.close(); pstmt.close();
...@@ -1730,8 +2562,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1730,8 +2562,8 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
private ArrayList<Object> getInvoiceAcct(String invoiceId, Connection conn) throws ITMException private ArrayList<Object> getInvoiceAcct(String invoiceId, Connection conn) throws ITMException
{ {
// HashMap<String, HashMap<String, String>> InvoiceAcctExpMap=new HashMap<String, HashMap<String,String>>(); // HashMap<String, HashMap<String, String>> InvoiceAcctExpMap=new HashMap<String, HashMap<String,String>>();
HashMap<String, String>InvoiceAcctMap=new HashMap<String, String>();
ArrayList<Object> invoiceAcctList=new ArrayList<Object>(); ArrayList<Object> invoiceAcctList=new ArrayList<Object>();
String sql="",lineNo=""; String sql="",lineNo="";
PreparedStatement pstmt=null; PreparedStatement pstmt=null;
...@@ -1747,6 +2579,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1747,6 +2579,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
HashMap<String, String>InvoiceAcctMap=new HashMap<String, String>();
lineNo=checkNull(rs.getString("line_no")); lineNo=checkNull(rs.getString("line_no"));
InvoiceAcctMap.put("invoice_id", checkNull(rs.getString("invoice_id"))); InvoiceAcctMap.put("invoice_id", checkNull(rs.getString("invoice_id")));
...@@ -1760,7 +2593,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1760,7 +2593,7 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
InvoiceAcctMap.put("analysis2", checkNull(rs.getString("analysis2"))); InvoiceAcctMap.put("analysis2", checkNull(rs.getString("analysis2")));
InvoiceAcctMap.put("analysis3", checkNull(rs.getString("analysis3"))); InvoiceAcctMap.put("analysis3", checkNull(rs.getString("analysis3")));
// InvoiceAcctExpMap.put(lineNo, InvoiceAcctMap); // InvoiceAcctExpMap.put(lineNo, InvoiceAcctMap);
invoiceAcctList.add(InvoiceAcctMap); invoiceAcctList.add(InvoiceAcctMap);
} }
pstmt.close(); pstmt.close();
...@@ -1965,5 +2798,14 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi ...@@ -1965,5 +2798,14 @@ public class PostOrdInvoicePost extends ActionHandlerEJB implements PostOrdInvoi
} }
return inputStr; return inputStr;
} }
private String checkNullSpace(String inputStr)
{
// TODO Auto-generated method stub
if(inputStr==null || inputStr.trim().length() == 0 )
{
inputStr=" ";
}
return inputStr;
}
} }
...@@ -921,7 +921,8 @@ public class PostOrderActivity { ...@@ -921,7 +921,8 @@ public class PostOrderActivity {
sitelocCode=locCode; sitelocCode=locCode;
} }
stkOpt = mfgCommon.chkStkOpt(itemCode,siteCodeCh,conn); //stkOpt = mfgCommon.chkStkOpt(itemCode,siteCodeCh,conn);
stkOpt = mfgCommon.chkStkOpt(siteCodeCh,itemCode,conn);
lnno++; lnno++;
lineNo=String.valueOf(lnno); lineNo=String.valueOf(lnno);
...@@ -2814,7 +2815,7 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt))); ...@@ -2814,7 +2815,7 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt)));
String rndStr="",rndOff="",rndToStr="",acct="",cctr=""; String rndStr="",rndOff="",rndToStr="",acct="",cctr="";
String tempSplitCode=""; String tempSplitCode="";
String splitCode=""; String splitCode="";
String drcrTranid="",insertsql=""; String drcrTranid="",insertsql="",exciseDrAcct="",exciseDrAcctcd="",exciseDrCctrCd="";
double rndto=0.0; double rndto=0.0;
double exchRate=0.0; double exchRate=0.0;
double taxAmt=0.0,totAmount=0.0; double taxAmt=0.0,totAmount=0.0;
...@@ -2895,6 +2896,23 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt))); ...@@ -2895,6 +2896,23 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt)));
excise=checkNull(distCommon.getDisparams("999999", "EXC_TAX_CODE_MODVAT", conn)).trim(); excise=checkNull(distCommon.getDisparams("999999", "EXC_TAX_CODE_MODVAT", conn)).trim();
cess=checkNull(distCommon.getDisparams("999999", "CESS_TAX_CODE_MODVAT", conn)).trim(); cess=checkNull(distCommon.getDisparams("999999", "CESS_TAX_CODE_MODVAT", conn)).trim();
hsEdu=checkNull(distCommon.getDisparams("999999", "HS_EDU_CESS_TAXCODE", conn)).trim(); hsEdu=checkNull(distCommon.getDisparams("999999", "HS_EDU_CESS_TAXCODE", conn)).trim();
// below finparm define for excise act code req id -F16FUNI001 - dt- 27-sep-2016
exciseDrAcct=checkNull(finCommon.getFinparams("999999", "EXCISE_DR_ACCT", conn)).trim();
if ((!"NULLFOUND".equalsIgnoreCase(exciseDrAcct) && exciseDrAcct != null && exciseDrAcct.trim().length() > 0) )
{
if(exciseDrAcct.trim().length() >0)
{
String[] arrStr1 =exciseDrAcct.split(";");
if(arrStr1.length>0)
{
exciseDrAcctcd =arrStr1[0];
}
if(arrStr1.length>1)
{
exciseDrCctrCd =arrStr1[1];
}
}
}
//Excise Tax Code, selected from despatch //Excise Tax Code, selected from despatch
if ((!"NULLFOUND".equalsIgnoreCase(excise) && excise != null && excise.trim().length() > 0) ) if ((!"NULLFOUND".equalsIgnoreCase(excise) && excise != null && excise.trim().length() > 0) )
{ {
...@@ -3074,6 +3092,15 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt))); ...@@ -3074,6 +3092,15 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt)));
isHeaderPrepared=true; isHeaderPrepared=true;
drcrTranid=generateTranId("w_drcrrcp_dr",siteCode,conn); drcrTranid=generateTranId("w_drcrrcp_dr",siteCode,conn);
// below finparm define for excise act code req id -F16FUNI001 - dt- 27-sep-2016
if(exciseDrAcctcd !=null && checkNull(exciseDrAcctcd).trim().length()>0)
{
acctCodeAr=exciseDrAcctcd;
}
if(exciseDrAcctcd !=null && checkNull(exciseDrAcctcd).trim().length()>0)
{
cctrCodeAr=exciseDrCctrCd;
}
insertsql = " INSERT INTO DRCR_RCP ( tran_id, tran_date, site_code, fin_entity, tran_type," + insertsql = " INSERT INTO DRCR_RCP ( tran_id, tran_date, site_code, fin_entity, tran_type," +
" tran_ser, drcr_flag, cust_code, item_ser, invoice_id ,acct_code ,cctr_code ,eff_date ," + " tran_ser, drcr_flag, cust_code, item_ser, invoice_id ,acct_code ,cctr_code ,eff_date ," +
"due_date ,curr_code ,exch_rate ,anal_code ,cr_term ,emp_code__aprv ,chg_date ,chg_user," + "due_date ,curr_code ,exch_rate ,anal_code ,cr_term ,emp_code__aprv ,chg_date ,chg_user," +
...@@ -3841,7 +3868,8 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt))); ...@@ -3841,7 +3868,8 @@ pstmt1.setDouble(6,netAmt-(-1*(drAmt-netAmt)));
} }
}// FOR LOOP [2] --END-- }// FOR LOOP [2] --END--
lsDocValue = lsDocValue.substring(2, lsDocValue.length()); System.out.println("lsDocValue>>>>>>["+lsDocValue+"]");
lsDocValue = lsDocValue.substring(1, lsDocValue.length());
if ("I".equalsIgnoreCase(tranType)) if ("I".equalsIgnoreCase(tranType))
{ {
......
...@@ -4,9 +4,13 @@ import ibase.system.config.AppConnectParm; ...@@ -4,9 +4,13 @@ import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ProcessEJB; import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.fin.InvAcct; import ibase.webitm.ejb.fin.InvAcct;
import ibase.webitm.ejb.fin.adv.CalculateCommission;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.webitm.ejb.sys.UtilMethods; import ibase.webitm.ejb.sys.UtilMethods;
//import ibase.webitm.utility.GenericUtility; //import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -46,6 +50,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -46,6 +50,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
UtilMethods utilMethod = new UtilMethods(); UtilMethods utilMethod = new UtilMethods();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
ibase.webitm.ejb.dis.DistCommon dist = new ibase.webitm.ejb.dis.DistCommon(); ibase.webitm.ejb.dis.DistCommon dist = new ibase.webitm.ejb.dis.DistCommon();
FinCommon fnComm=new FinCommon();
E12GenericUtility genericUtility = new E12GenericUtility(); E12GenericUtility genericUtility = new E12GenericUtility();
UtilMethods utilmethod = new UtilMethods(); UtilMethods utilmethod = new UtilMethods();
SimpleDateFormat sdf =null; SimpleDateFormat sdf =null;
...@@ -53,8 +58,11 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -53,8 +58,11 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
String strToWrite="",strToWriteHead="",logFileInit="",xmlString1="",chgTerm="",chgUser=""; String strToWrite="",strToWriteHead="",logFileInit="",xmlString1="",chgTerm="",chgUser="";
String err = ""; String err = "";
boolean postLogYn=false; boolean postLogYn=false;
PostOrderActivity postordact=new PostOrderActivity();
String xtraparam="";
//Connection conn = null; //Connection conn = null;
ArrayList<String> salesOrderListAll=new ArrayList<String>();
ArrayList<String> postSalOder=new ArrayList<String>();
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
{ {
...@@ -79,7 +87,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -79,7 +87,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
System.out.println("xmlString*********"+xmlString); System.out.println("xmlString*********"+xmlString);
System.out.println("xmlString2*********"+xmlString2); System.out.println("xmlString2*********"+xmlString2);
xtraparam=xtraParams;
retStr = process(headerDom, detailDom, windowName, xtraParams); retStr = process(headerDom, detailDom, windowName, xtraParams);
System.out.println("@@@@@@@@@@@ retStr["+retStr+"]"); System.out.println("@@@@@@@@@@@ retStr["+retStr+"]");
...@@ -105,7 +113,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -105,7 +113,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
String postSal="";
String saleOrder="";
//PostOrder //PostOrder
...@@ -118,7 +127,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -118,7 +127,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
String sql="",custCode=""; String sql="",custCode="";
// String[] custCode; // String[] custCode;
int cnt = 0,liCtr = 0,custCdIndex = 0,sordIndex=0; int cnt = 0,liCtr = 0,custCdIndex = 0,sordIndex=0;
boolean isPostDone=false;
ArrayList<String> custCodeList = new ArrayList<String>(); ArrayList<String> custCodeList = new ArrayList<String>();
//custCodeList = null; //custCodeList = null;
...@@ -127,10 +136,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -127,10 +136,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
try try
{ {
System.out.println("process starts................"); System.out.println("process starts................");
//Changes and Commented By Bhushan on 09-06-2016 :START conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false); conn.setAutoCommit(false);
sdf = new SimpleDateFormat(e12GenericUtility.getApplDateFormat()); sdf = new SimpleDateFormat(e12GenericUtility.getApplDateFormat());
...@@ -279,8 +285,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -279,8 +285,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setString(2, toSaleOrder); pstmt.setString(2, toSaleOrder);
pstmt.setString(3, fromCustCode); pstmt.setString(3, fromCustCode);
pstmt.setString(4, toCustCode); pstmt.setString(4, toCustCode);
pstmt.setString(5, fromDateStr); //pstmt.setString(5, fromDateStr);
pstmt.setString(6, toDateStr); //pstmt.setString(6, toDateStr);
pstmt.setTimestamp(5, fromDate);
pstmt.setTimestamp(6, toDate);
pstmt.setString(7, siteCodeShip); pstmt.setString(7, siteCodeShip);
if(orderType != null && orderType.trim().length() > 0) if(orderType != null && orderType.trim().length() > 0)
{ {
...@@ -309,13 +317,45 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -309,13 +317,45 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
for(custCdIndex = 0 ; custCdIndex < custCodeList.size() ;custCdIndex++) for(custCdIndex = 0 ; custCdIndex < custCodeList.size() ;custCdIndex++)
{ {
retString = postOrder( headerDom, custCodeList.get(custCdIndex),"",xtraParams,conn); retString = postOrder( headerDom, custCodeList.get(custCdIndex),"",xtraParams,conn);
System.out.println("retString :"+retString); System.out.println("cust post ord retString :"+retString);
if(retString == null || retString.trim().length() <= 0) if(retString== null || retString.trim().length()==0)
{
isPostDone=true;
}else
{
conn.rollback();
errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
}
/*if(retString== null || retString.trim().length()==0)
{
errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
conn.rollback();
}else
{
isPostDone=true;
errString = itmDBAccessEJB.getErrorString("","VTPOST03","","",conn);
System.out.println("errString@@@>>>"+errString);
String begPart = errString.substring( 0, errString.indexOf("<trace>") + 7 );
String endPart = errString.substring( errString.indexOf("</trace>"));
String mainStr = "For Following Sales orders Posting Successful :" ;
mainStr=begPart+mainStr+retString;
if(mainStr.trim().length()==0)
{
mainStr = begPart;
}
mainStr = mainStr + endPart;
errString = mainStr;
System.out.println("errString>>>>>"+errString);
}*/
/*if(retString == null || retString.trim().length() <= 0)
{ {
//error to be display with codeCode on the message //error to be display with codeCode on the message
System.out.println("Sales Orders for Customer are posted"); System.out.println("Sales Orders for Customer are posted");
conn.commit(); //conn.commit();changed by chandrashekar on 07-june-2016
} }
else else
{ {
...@@ -323,7 +363,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -323,7 +363,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("Sales Orders for Customer are not posted"); System.out.println("Sales Orders for Customer are not posted");
retString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn); retString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
return retString; return retString;
} }*/
} }
} }
else else
...@@ -347,8 +387,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -347,8 +387,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setString(2, toSaleOrder); pstmt.setString(2, toSaleOrder);
pstmt.setString(3, fromCustCode); pstmt.setString(3, fromCustCode);
pstmt.setString(4, toCustCode); pstmt.setString(4, toCustCode);
pstmt.setString(5, fromDateStr); //pstmt.setString(5, fromDateStr);
pstmt.setString(6, toDateStr); //pstmt.setString(6, toDateStr);//change by chandrashekar on jun 02
pstmt.setTimestamp(5, fromDate);
pstmt.setTimestamp(6, toDate);
pstmt.setString(7, siteCodeShip); pstmt.setString(7, siteCodeShip);
if(orderType != null && orderType.trim().length() > 0) if(orderType != null && orderType.trim().length() > 0)
{ {
...@@ -387,12 +429,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -387,12 +429,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
retString = postOrder(headerDom, "",saleOrderList.get(sordIndex),xtraParams,conn); retString = postOrder(headerDom, "",saleOrderList.get(sordIndex),xtraParams,conn);
System.out.println("postOrder return:::::::::::[["+retString+"]]......"); System.out.println("postOrder return:::::::::::[["+retString+"]]......");
if(retString == null || retString.trim().length() <= 0 )
if(retString== null || retString.trim().length()==0)
{
if(postSalOder.size()>0)
{
isPostDone=true;
}
}else
{
conn.rollback();
errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
}
/*
if(retString== null || retString.trim().length()==0)
{
errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
//conn.rollback();
}else
{
isPostDone=true;
}*/
/*if(retString == null || retString.trim().length() <= 0 )
{ {
//error to be display with codeCode on the message //error to be display with codeCode on the message
errString = itmDBAccessEJB.getErrorString("", "VTPOST03", "","", conn); errString = itmDBAccessEJB.getErrorString("", "VTPOST03", "","", conn);
System.out.println("Sales Orders for Customer are posted..........conn.commit().........."); System.out.println("Sales Orders for Customer are posted..........conn.commit()..........");
conn.commit(); //conn.commit();
} }
else else
{ {
...@@ -400,10 +467,57 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -400,10 +467,57 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("Sales Orders for Customer are not posted.........conn.rollback()........."); System.out.println("Sales Orders for Customer are not posted.........conn.rollback().........");
errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn); errString = itmDBAccessEJB.getErrorString("", "VTPOSTORD1", "","", conn);
conn.rollback(); conn.rollback();
}*/
} }
} }
if(isPostDone)
{
System.out.println("salesOrderListAll>>>>"+salesOrderListAll);
System.out.println("postSalOder>>>>"+postSalOder);
for(int i=0;i<salesOrderListAll.size();i++)
{
saleOrder=salesOrderListAll.get(i);
for(int j=0;j<postSalOder.size();j++)
{
postSal=postSalOder.get(j);
if(postSal.trim().equalsIgnoreCase(saleOrder.trim()));
{
salesOrderListAll.remove(postSal);
}
}
}
System.out.println("salesOrderListAll>>> After Remove>>>"+salesOrderListAll);
retString="";
String mainStr="";
for(int i=0;i<salesOrderListAll.size();i++)
{
retString=retString+salesOrderListAll.get(i)+",";
}
if(retString !=null && retString.trim().length()>0)
{
retString = retString.substring(0, retString.length() - 1);
mainStr = "For Following Sales orders Not posted :" ;
}else
{
mainStr = "All Order Posted Successfully ." ;
}
errString = itmDBAccessEJB.getErrorString("","VTPOST03","","",conn);
System.out.println("errString@@@>>>"+errString);
String begPart = errString.substring( 0, errString.indexOf("<trace>") + 7 );
String endPart = errString.substring( errString.indexOf("</trace>"));
mainStr=begPart+mainStr+retString;
if(mainStr.trim().length()==0)
{
mainStr = begPart;
}
mainStr = mainStr + endPart;
errString = mainStr;
} }
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -428,6 +542,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -428,6 +542,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
try try
{ {
salesOrderListAll.clear();
postSalOder.clear();
if(rs != null) if(rs != null)
{ {
...@@ -439,7 +555,13 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -439,7 +555,13 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
if(conn !=null)
{
conn.close(); conn.close();
conn=null;
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -472,7 +594,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -472,7 +594,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
String errCode=""; String errCode="";
InitialContext ctx = null; InitialContext ctx = null;
String postUpto="",confDespOnPost="",autoInvOnDesp=""; String postUpto="",confDespOnPost="",autoInvOnDesp="";
Connection connCP=null;
ArrayList showSordrList=new ArrayList<String>();
try try
{ {
//conn = connDriver.getConnectDB("DriverITM"); //conn = connDriver.getConnectDB("DriverITM");
...@@ -609,11 +732,12 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -609,11 +732,12 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
} }
System.out.println("errCode.trim().length()!!!! :"+errCode.trim().length()); System.out.println("errCode.trim().length()!!!! :"+errCode);
if(errCode.trim().length() > 0) if(errCode != null && errCode.trim().length() > 0)
{ {
conn.rollback(); conn.rollback();
return errCode;
//RETURN; //RETURN;
} }
//else if("Y".equalsIgnoreCase(allocStk)) //else if("Y".equalsIgnoreCase(allocStk))
...@@ -627,10 +751,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -627,10 +751,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("Despatch creation Test@@@@@@@@@"); System.out.println("Despatch creation Test@@@@@@@@@");
//dispact coding starts //dispact coding starts
//added by priyanka //added by priyanka
PostOrdDespatchGen postOrdDespatchGen=new PostOrdDespatchGen(); PostOrdDespatchGen postOrdDespatchGen=new PostOrdDespatchGen();
errCode=postOrdDespatchGen.createDespatch(fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, fromDate, toDate, siteCodeShip, conn); //showSordrList= postOrdDespatchGen.createDespatch(fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, fromDate, toDate, siteCodeShip,clubOrder, conn);
//showSordrList= postOrdDespatchGen.createDespatch(SaleOrder, SaleOrder, custCode, custCode, fromDate, toDate, siteCodeShip,clubOrder, conn);
if("Y".equalsIgnoreCase(clubOrder))
{
errString= postOrdDespatchGen.createDespatch(fromSaleOrder, toSaleOrder, custCode, custCode, fromDate, toDate, siteCodeShip,clubOrder, xtraParams, conn);
}else
{
errString= postOrdDespatchGen.createDespatch(SaleOrder, SaleOrder, fromCustCode, toCustCode, fromDate, toDate, siteCodeShip,clubOrder, xtraParams, conn);
}
System.out.println("ErrCode from Despatch creation===="+errCode); System.out.println("ErrCode from Despatch creation===="+errCode);
if(errCode != null && errCode.trim().length() > 0)
if (errCode == null || errCode.trim().length()==0)
{
postSalOder.add(SaleOrder);
}
/*for(int i=0;i<showSordrList.size();i++)
{
errString=errString+showSordrList.get(i)+",";
}
if(errString !=null && errString.trim().length()>0)
{
errString = errString.substring(0, errString.length() - 1);
postSalOder.add(errString);
}*/
System.out.println(" postSalOder list>>>"+postSalOder);
/*if(errCode != null && errCode.trim().length() > 0)
{ {
if(errCode.indexOf("VTCONPARM") > -1) if(errCode.indexOf("VTCONPARM") > -1)
{ {
...@@ -654,22 +805,58 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -654,22 +805,58 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
tranIdDespatch = arrayForTranId[1].substring(0, endIndex); tranIdDespatch = arrayForTranId[1].substring(0, endIndex);
System.out.println("tranIdDespatch====="+tranIdDespatch); System.out.println("tranIdDespatch====="+tranIdDespatch);
System.out.println("Calling Despatch Confirmation"); System.out.println("Calling Despatch Confirmation");
String despIdArr[]=tranIdDespatch.split(",");
if(despIdArr.length>0)
{
DespatchConfirmLocal despatchConfirm = null; DespatchConfirmLocal despatchConfirm = null;
AppConnectParm appConnect = new AppConnectParm(); AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty()); ctx = new InitialContext(appConnect.getProperty());
despatchConfirm = (DespatchConfirmLocal) ctx.lookup("ibase/DespatchConfirm/local"); despatchConfirm = (DespatchConfirmLocal) ctx.lookup("ibase/DespatchConfirm/local");
System.out.println("-----------despatchConfirm------- " + despatchConfirm);
String forcedFlag="N"; String forcedFlag="N";
errString=despatchConfirm.confirm(tranIdDespatch, xtraParams, forcedFlag,conn); String desTranId="",desSOrder="";
System.out.println("errCode in despatch confirmation===="+errString); for(int ctr=0;ctr<despIdArr.length;ctr++)
} {
String[] arrStr =despIdArr[ctr].split("@");
if(arrStr.length>0)
{
desTranId =arrStr[0];
System.out.println("desTranId>>>>"+desTranId);
} }
if(arrStr.length>1)
{
desSOrder =arrStr[1];
System.out.println("desSOrder>>>>"+desSOrder);
} }
connCP=chaneParnerExist(desTranId,xtraParams,conn);
errString=despatchConfirm.confirm(desTranId, xtraParams, forcedFlag,conn,connCP);
System.out.println("despatchConfirm return string >>>>"+errString);
//errString=despatchConfirm.confirm(despIdArr[ctr], xtraParams, forcedFlag,conn);
if(errString == null || errString.trim().length()==0 || "".equalsIgnoreCase(errString) || errString.contains("CONFSUCC")|| errString.contains("VTPOSTDES") ) if(errString == null || errString.trim().length()==0 || "".equalsIgnoreCase(errString) || errString.contains("CONFSUCC")|| errString.contains("VTPOSTDES") )
{ {
errString = ""; errString = "";
connCP.commit();
conn.commit();
}
else
{
connCP.rollback();
conn.rollback();
break;
}
}
}
System.out.println("errCode in despatch confirmation===="+errString);
}
} }
}*/
/* //commented same code repeate in despatchconfirm... /* //commented same code repeate in despatchconfirm...
if(errStringConf != null && errStringConf.trim().length() > 0) if(errStringConf != null && errStringConf.trim().length() > 0)
{ {
...@@ -723,25 +910,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -723,25 +910,37 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
public String invPosting(String fromSaleOrder,String toSaleOrder,String fromCustCode,String toCustCode,String tranIdDespatch, String orderType,Timestamp fromDate,String clubOrder,String clubPendingOrd,String adjDrcr,String adjCustAdv,String advAdjMode,String adjNewProdInv,String siteCodeShip,Connection conn) throws ITMException
public String invPosting(String fromSaleOrder,String toSaleOrder,String fromCustCode,String toCustCode,String tranIdDespatch, String orderType,Timestamp fromDate,String clubOrder,String clubPendingOrd,String adjDrcr,String adjCustAdv,String advAdjMode,String adjNewProdInv,String siteCodeShip,String xtraParams,Connection conn) throws ITMException
{ {
System.out.println("@@@@@@@@@@@@ invPosting() called........."); System.out.println("@@@@@@@@@@@@ invPosting() called.........");
Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false; Boolean adjDrcrFlag= false, adjAdv=false, adjNewProdInvFlag=false;
String advAdj=""; String advAdj="";
String commDrcrConf="",commJvConf="";
DistCommon dis=new DistCommon(); DistCommon dis=new DistCommon();
String errString="",invoiceId="",sql="",ls_drnid=""; String errString="",invoiceId="",sql="",ls_drnid="",loginEmpCode;
PreparedStatement pstmt=null; PreparedStatement pstmt=null;
ResultSet rs=null; ResultSet rs=null;
String applyTime="I",crPolicy="",lsStatus=""; String applyTime="I",crPolicy="",lsStatus="",finScheme="";
double finAdjAmt=0;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
String autoInvOnDesp = dis.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn); String autoInvOnDesp = dis.getDisparams("999999", "AUTO_INV_ON_DESPATCH", conn);
InitialContext ctx = null;
Timestamp sysDate = null;
if("Y".equalsIgnoreCase(autoInvOnDesp)) if("Y".equalsIgnoreCase(autoInvOnDesp))
{ {
//conn.commit(); // added testing purpose //conn.commit(); // added testing purpose
try try
{ {
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDateStr = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDateStr);
sysDate = Timestamp.valueOf(genericUtility.getValidDateString(sysDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("xtraParams>>>"+xtraParams);
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
PostOrdInvoiceGen invgen = new PostOrdInvoiceGen(); PostOrdInvoiceGen invgen = new PostOrdInvoiceGen();
System.out.println("from date ::::::::"+fromDate); System.out.println("from date ::::::::"+fromDate);
// SimpleDateFormat dateFormat = new SimpleDateFormat(genericUtility.getDBDateFormat()); // SimpleDateFormat dateFormat = new SimpleDateFormat(genericUtility.getDBDateFormat());
...@@ -776,7 +975,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -776,7 +975,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
advAdj = advAdjMode; advAdj = advAdjMode;
errString = invgen.invoiceProcess(fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv, conn); errString = invgen.invoiceProcess(fromSaleOrder, toSaleOrder, fromCustCode, toCustCode, tranIdDespatch, orderType, fromDate, clubOrder, clubPendingOrd, adjDrcr, adjCustAdv, advAdjMode, adjNewProdInv,xtraParams, conn);
System.out.println("@@@@@@@@@695::::invgen.invoiceProcess():::errString["+errString+"]"); System.out.println("@@@@@@@@@695::::invgen.invoiceProcess():::errString["+errString+"]");
//if(errString != null && errString.trim().length()>0 ) //if(errString != null && errString.trim().length()>0 )
//{ //{
...@@ -868,6 +1067,54 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -868,6 +1067,54 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
System.out.println("@@@@@ crPolicy["+crPolicy+"]lc_check_amt["+lc_check_amt+"]lsStatus["+lsStatus+"]"); System.out.println("@@@@@ crPolicy["+crPolicy+"]lc_check_amt["+lc_check_amt+"]lsStatus["+lsStatus+"]");
*/ */
errString=postordact.prdSchemeTraceUpd(invoiceId,xtraParams,conn);
if( errString == null || errString.trim().length() == 0 )
{
//gbf_scheme_history
errString=postordact.schemeHistoryUpd(invoiceId,siteCodeShip,"I", conn);
}
if( errString == null || errString.trim().length() == 0 )
{
errString=postordact.schemeDiscTrace(invoiceId,xtraParams,conn);
}
if( errString == null || errString.trim().length() == 0 )
{
sql="select fin_scheme from sorder where sale_order = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, fromSaleOrder);
rs=pstmt.executeQuery();
if(rs.next())
{
finScheme=rs.getString(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql="select abs(sum(tot_amt - adj_amt) ) from receivables "
+ " where cust_code = ? and fin_scheme = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, fromCustCode);
pstmt.setString(2, finScheme);
rs=pstmt.executeQuery();
if(rs.next())
{
finAdjAmt=rs.getDouble(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(finAdjAmt>=netAmt)
{
errString=postordact.finSchemeInvAdj(siteCodeShip,itemSer,fromCustCode,invoiceId,netAmt,adjDrcrFlag, adjAdv,conn);
}
}
if( errString == null || errString.trim().length() == 0 )
{
System.out.println("@@@@@@@@@@@@ postOrdCreditChk()...........finish........."); System.out.println("@@@@@@@@@@@@ postOrdCreditChk()...........finish.........");
...@@ -896,19 +1143,48 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -896,19 +1143,48 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
errString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjAdv, advAdj, adjNewProdInvFlag, frtDrnArr, conn); errString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjAdv, advAdj, adjNewProdInvFlag, frtDrnArr, conn);
//retString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjCustAdvFlag, advAdj, adjNewProdInvFlag, frtDrnArr, conn); //retString = invoiceDrCrAdj1.invoiceDrcrAdj(siteCodeShip, invoiceId, toCustCode, itemSer, netAmt, adjDrcrFlag, adjCustAdvFlag, advAdj, adjNewProdInvFlag, frtDrnArr, conn);
System.out.println("@@@@@@@@@3 invoiceDrCrAdj1.invoiceDrcrAdj() errString["+errString+"]"); System.out.println("@@@@@@@@@3 invoiceDrCrAdj1.invoiceDrcrAdj() errString["+errString+"]");
}
if( errString == null || errString.trim().length() == 0 ) if( errString == null || errString.trim().length() == 0 )
{ {
//CreteCommCrNote creteCommCrNote = new CreteCommCrNote();
// retString = creteCommCrNote.creteCommCrNote(invoiceId, conn);
System.out.println("@@@@@@@@@4 CreteCommCrNote() errString["+errString+"]");
PostOrdInvoicePostLocal PostOrdInvoicePost = null;
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
PostOrdInvoicePost = (PostOrdInvoicePostLocal) ctx.lookup("ibase/PostOrdInvoicePost/local");
String forcedFlag="N";
String retString1=PostOrdInvoicePost.invoicePosting(invoiceId, xtraParams, forcedFlag,conn);
System.out.println("PostOrdInvoicePost return string >>>>"+retString1);
if( retString1 != null && retString1.trim().length() > 0 )
{
return retString1;
}
sql="update invoice set confirmed = 'Y',conf_date=?, emp_code__aprv = ? where invoice_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setTimestamp(1,sysDate);
pstmt.setString(2,loginEmpCode);
pstmt.setString(3,invoiceId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
//CreteCommCrNote creteCommCrNote = new CreteCommCrNote();
CalculateCommission calCom=new CalculateCommission();
commDrcrConf = checkNull(fnComm.getFinparams("999999", "COMM_DRCR_CONF", conn));
commJvConf = checkNull(fnComm.getFinparams("999999", "COMM_JV_CONF", conn));
errString = calCom.CalCommission(invoiceId,"I","",commDrcrConf,commJvConf,xtraParams, conn);
//errString = postordact.createCommCrNote(invoiceId, conn);
System.out.println("@@@@@@@@@4 CreteCommCrNote() errString["+errString+"]");
if( errString != null && errString.trim().length() > 0 )
{
return errString;
}
if( errString == null || errString.trim().length() == 0 ) if( errString == null || errString.trim().length() == 0 )
{ {
// AutoExciseDrNote autoExciseDrNote = new AutoExciseDrNote(); // AutoExciseDrNote autoExciseDrNote = new AutoExciseDrNote();
// retString = autoExciseDrNote.autoExciseDrNote(invoiceId, conn); errString = postordact.autoExciseDrNote(invoiceId,xtraParams, conn);
System.out.println("@@@@@@@@@5 autoExciseDrNote() errString["+errString+"]"); System.out.println("@@@@@@@@@5 autoExciseDrNote() errString["+errString+"]");
} }
...@@ -1200,13 +1476,15 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1200,13 +1476,15 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
DistCommon discommon = new DistCommon(); DistCommon discommon = new DistCommon();
ArrayList<SorderBean> sorderList = new ArrayList<SorderBean>(); ArrayList<SorderBean> sorderList = new ArrayList<SorderBean>();
ArrayList<SordItemBean> sordItemList = null;; ArrayList<SordItemBean> sordItemList = null;
ArrayList<StockBean> stockList = null; ArrayList<StockBean> stockList = null;
Date currentDate = new Date(); Date currentDate = new Date();
Timestamp allocDate = null,orderDate=null,plDate=null; Timestamp allocDate = null,orderDate=null,plDate=null;
int totRecords=0,records=0; int totRecords=0,records=0;
int saleOrderCnt=0,skiplineCnt=0; int saleOrderCnt=0,skiplineCnt=0;
String tranidSoalloc="",linenoSoalloc=""; String tranidSoalloc="",linenoSoalloc="";
String itemOld="",lsItem="";
int countItem=0;
double pendingDeallocQty=0.0,stockTot=0.0; double pendingDeallocQty=0.0,stockTot=0.0;
int updSordAllDetCnt=0; int updSordAllDetCnt=0;
...@@ -1342,7 +1620,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1342,7 +1620,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
status = sorderBean.getStatus(); status = sorderBean.getStatus();
locGroup=sorderBean.getLocGroup(); locGroup=sorderBean.getLocGroup();
System.out.println("status :"+status); System.out.println("status :"+status);
if(!salesOrderListAll.contains(saleOrder))
{
salesOrderListAll.add(saleOrder);
}
varValue = itmDBAccessEJB.getEnvDis("999999", "CREATE_POST_LOG_FILE", conn); varValue = itmDBAccessEJB.getEnvDis("999999", "CREATE_POST_LOG_FILE", conn);
System.out.println("varValue :"+varValue); System.out.println("varValue :"+varValue);
//ls_varvalue = gf_getenv_dis('999999','CREATE_POST_LOG_FILE') //ls_varvalue = gf_getenv_dis('999999','CREATE_POST_LOG_FILE')
...@@ -1421,6 +1702,30 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1421,6 +1702,30 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
//qtyDesp = rs.getDouble("qty_desp"); //qtyDesp = rs.getDouble("qty_desp");
nature = checkNull(rs.getString("nature")); nature = checkNull(rs.getString("nature"));
//Start Added by chandrashekar on 26-sep-2016
if("B".equalsIgnoreCase(itemFlag) && "F".equalsIgnoreCase(nature))
{
sql = "select item_code__parent , unit from item where item_code = ?";
pstmt3 = conn.prepareStatement(sql);
pstmt3.setString(1,itemCode);
rs3 = pstmt3.executeQuery();
if(rs3.next())
{
itemCodeParent = rs3.getString("item_code__parent");
unitStd = rs3.getString("unit");
}
rs3.close();
rs3 = null;
pstmt3.close();
pstmt3 = null;
sordItemBean.setUnitStd(unitStd);
sordItemBean.setUnit(unitStd);
}else
{
sordItemBean.setUnitStd(unitStd);
sordItemBean.setUnit(unit);
}
//End Added by chandrashekar on 26-sep-2016
sordItemBean.setSaleOrder(saleOrder); sordItemBean.setSaleOrder(saleOrder);
sordItemBean.setLineNo(lineNo); sordItemBean.setLineNo(lineNo);
sordItemBean.setConvQtyStduom(convQtyStduom); sordItemBean.setConvQtyStduom(convQtyStduom);
...@@ -1434,13 +1739,20 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1434,13 +1739,20 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
sordItemBean.setQtyAlloc(rs.getDouble("qty_alloc")); sordItemBean.setQtyAlloc(rs.getDouble("qty_alloc"));
sordItemBean.setSiteCode(siteCode); sordItemBean.setSiteCode(siteCode);
//sordItemBean.setQtyDesp(qtyDesp); //sordItemBean.setQtyDesp(qtyDesp);
sordItemBean.setUnitStd(unitStd);
sordItemBean.setItemCodeOrd(itemCodeOrd); sordItemBean.setItemCodeOrd(itemCodeOrd);
if(!(unit.equalsIgnoreCase(unitStd)))//Added by chandrashekar on 21-sep-2016
{
sordItmQty=sordItmQty*convQtyStduom;
sordItemBean.setQuantity(sordItmQty); sordItemBean.setQuantity(sordItmQty);
sordItemBean.setSordItmQty(sordItmQty); sordItemBean.setSordItmQty(sordItmQty);
}else
{
sordItemBean.setQuantity(sordItmQty);
sordItemBean.setSordItmQty(sordItmQty);
}
sordItemBean.setQuantityStduom(quantityStduom); sordItemBean.setQuantityStduom(quantityStduom);
sordItemBean.setStatus(status); sordItemBean.setStatus(status);
sordItemBean.setUnit(unit);
sordItemBean.setRate(rateClg); sordItemBean.setRate(rateClg);
sordItemBean.setRateClg(rateClg); sordItemBean.setRateClg(rateClg);
sordItemBean.setNature(nature); sordItemBean.setNature(nature);
...@@ -1448,12 +1760,11 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1448,12 +1760,11 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
// sordItemList.add(sordItemBean); // sordItemList.add(sordItemBean);
if(!(unit.equalsIgnoreCase(unitStd))) if(!(unit.equalsIgnoreCase(unitStd)))
{ {
System.out.println("unit and unitStd are not equals!!"); System.out.println("unit and unitStd are not equals!!");
sordItmQty=dist.convQtyFactor(unit,unitStd,itemCode, convQtyStduom, conn); sordItmQty=dist.convQtyFactor(unit,unitStd,itemCode, convQtyStduom, conn);
System.out.println("sordItmQty :"+sordItmQty); System.out.println("sordItmQty@@@@ :"+sordItmQty);
//if(sordItmQty == -999999999) //if(sordItmQty == -999999999)
if(sordItmQty == 0) if(sordItmQty == 0)
{ {
...@@ -1469,6 +1780,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1469,6 +1780,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{ {
orderUnit = unit; orderUnit = unit;
unit = unitStd; unit = unitStd;
sordItemBean.setUnit(unit);
} }
...@@ -1476,7 +1788,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1476,7 +1788,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
else else
{ {
orderUnit = unit; orderUnit = unit;
sordItemBean.setUnit(unit);
} }
System.out.println("sordItmQty>>"+sordItmQty); System.out.println("sordItmQty>>"+sordItmQty);
sql = " select sum(quantity - case when qty_desp is null then 0 else qty_desp end) " + sql = " select sum(quantity - case when qty_desp is null then 0 else qty_desp end) " +
"as siteItmQty from sorditem where sale_order = ? and " + "as siteItmQty from sorditem where sale_order = ? and " +
...@@ -1541,7 +1856,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1541,7 +1856,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
int stockTestCnt=0,forTestCnt=0; int stockTestCnt=0,forTestCnt=0;
System.out.println("sordItemList :"+sordItemList.size()); System.out.println("sordItemList size :"+sordItemList.size());
for(SordItemBean sordItemBean :sordItemList ) for(SordItemBean sordItemBean :sordItemList )
{ {
System.out.println("sale order :"+sordItemBean.getSorderBean().getSaleOrder()); System.out.println("sale order :"+sordItemBean.getSorderBean().getSaleOrder());
...@@ -1594,9 +1909,14 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1594,9 +1909,14 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("orderType "+orderType); System.out.println("orderType "+orderType);
partQty = sordItemBean.getSorderBean().getPartQty(); partQty = sordItemBean.getSorderBean().getPartQty();
System.out.println("partQty "+partQty); System.out.println("partQty "+partQty);
nature = sordItemBean.getNature();
System.out.println("nature::: "+nature);
itemCodeParent=sordItemBean.getItemCodeParent();
System.out.println("itemCodeParent:::["+itemCodeParent+"]");
unit = sordItemBean.getUnit();
unitStd = sordItemBean.getUnitStd();
System.out.println("@@@unit["+unit+"]");
System.out.println("@@@unitStd["+unitStd+"]");
sql = " select sum(a.quantity - case when a.alloc_qty is null then 0 else a.alloc_qty end - case when a.hold_qty is null then 0 else a.hold_qty end ) as quantity "; sql = " select sum(a.quantity - case when a.alloc_qty is null then 0 else a.alloc_qty end - case when a.hold_qty is null then 0 else a.hold_qty end ) as quantity ";
sql = sql + "from stock a, invstat b, location c "; sql = sql + "from stock a, invstat b, location c ";
...@@ -1807,6 +2127,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1807,6 +2127,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
if("B".equalsIgnoreCase(itemFlag.trim())) if("B".equalsIgnoreCase(itemFlag.trim()))
{ {
System.out.println("itemCodeOrd>>>>@@@["+itemCodeOrd+"]");
sql = " select grace_days from scheme_applicability " + sql = " select grace_days from scheme_applicability " +
" where scheme_code = ? and app_from <= ? "; " where scheme_code = ? and app_from <= ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1840,7 +2162,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1840,7 +2162,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
schemeCnt = rs.getInt("grace_days"); schemeCnt = rs.getInt(1);
} }
rs.close(); rs.close();
rs = null; rs = null;
...@@ -1891,7 +2213,54 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -1891,7 +2213,54 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
} }
//Start added by chandrashekar on 03-aug-2016
countItem=0;
if(isScheme)
{
sql = " select count(*) as count from SORDITEM where SALE_ORDER = ? " +
" and LINE_TYPE = 'I' AND line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
countItem = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(countItem>1)
{
itemOld="";
sql = " select item_code from sorditem where sale_order = ? " +
"and line_type = 'I' and line_no = ? order by item_code ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNo);
rs = pstmt.executeQuery();
while(rs.next())
{
lsItem = checkNull(rs.getString("item_code"));
if (lsItem.trim().length()>0)
{
if(!itemOld.trim().equalsIgnoreCase(lsItem))
{
isScheme = false;
break;
}
}
itemOld=lsItem;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
//End added by chandrashekar on 03-aug-2016
//CHECKING CUSTOMER FOR WHICH ORDER IS BOOKED IS APPLICABLE OR NOT IN SCHEME. //CHECKING CUSTOMER FOR WHICH ORDER IS BOOKED IS APPLICABLE OR NOT IN SCHEME.
...@@ -2182,6 +2551,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2182,6 +2551,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{ {
if(priceList != null && priceList.trim().length() > 0) if(priceList != null && priceList.trim().length() > 0)
{ {
allocDateStr=sdf.format(allocDate);
rate = dist.pickRate(priceList, allocDateStr,itemCode,lotNo,"D", quantityStduom, conn); rate = dist.pickRate(priceList, allocDateStr,itemCode,lotNo,"D", quantityStduom, conn);
} }
} }
...@@ -2404,10 +2774,16 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2404,10 +2774,16 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
if(schemeCnt > 0) if(schemeCnt > 0)
{ {
System.out.println("lineNo>>>>"+lineNo);
System.out.println("lineNoOld>>>>"+lineNoOld);
System.out.println("saleOrder>>>>"+saleOrder);
System.out.println("saleOrderOld>>>>"+saleOrderOld);
System.out.println("itemCodeOld>>>>"+itemCodeOld);
System.out.println("itemCode>>>>"+itemCode);
if(lineNo != lineNoOld || saleOrder != saleOrderOld || itemCodeOld != itemCode ) if(lineNo != lineNoOld || saleOrder != saleOrderOld || itemCodeOld != itemCode )
{ {
//ratio = i_nvo_post_order.gbf_scheme(msaleorder,integer(mline_no),as_lot_sl,ls_loc_group) //ratio = i_nvo_post_order.gbf_scheme(msaleorder,integer(mline_no),as_lot_sl,ls_loc_group)
ratio=gbfScheme(saleOrder,lineNo,lotSl,locGroup,itemCode,conn);
ratioOld = ratio; ratioOld = ratio;
} }
else if("0".equalsIgnoreCase(ratio) && lineNo.equalsIgnoreCase(lineNoOld) else if("0".equalsIgnoreCase(ratio) && lineNo.equalsIgnoreCase(lineNoOld)
...@@ -2419,7 +2795,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2419,7 +2795,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{ {
ratio = "10000"; ratio = "10000";
} }
if(ratio==null || ratio.trim().length()==0)
{
ratio="0";
}
if("0".equalsIgnoreCase(ratio)) if("0".equalsIgnoreCase(ratio))
{ {
System.out.println("Short Quantity for scheme item"); System.out.println("Short Quantity for scheme item");
...@@ -2439,7 +2818,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2439,7 +2818,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
/*elseif not isnumber(lc_ratio) then /*elseif not isnumber(lc_ratio) then
merrcode = lc_ratio merrcode = lc_ratio
goto exit_now*/ goto exit_now*/
else if(!("1000".equalsIgnoreCase(ratio))) else if(Double.parseDouble(ratio) !=10000)
//else if(!("1000".equalsIgnoreCase(ratio)))
{ {
sql = "SELECT bomdet.qty_per FROM bomdet WHERE " + sql = "SELECT bomdet.qty_per FROM bomdet WHERE " +
" ( bomdet.bom_code = ? ) AND ( bomdet.item_code = ? )" + " ( bomdet.bom_code = ? ) AND ( bomdet.item_code = ? )" +
...@@ -2457,8 +2837,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2457,8 +2837,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
if(ratio != null && ratio.trim().length()>0)
netQuantity = bomQtyPer * Integer.parseInt(ratio); {
netQuantity = bomQtyPer * Double.parseDouble(ratio);
}
qtyStk = netQuantity; qtyStk = netQuantity;
} }
...@@ -2469,10 +2851,12 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2469,10 +2851,12 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
if((qtyStk - allocQty - holdQty) <= netQuantity) if((qtyStk - allocQty - holdQty) <= netQuantity)
{ {
inputQty = qtyStk - allocQty - holdQty; inputQty = qtyStk - allocQty - holdQty;
sordItemBean.setSordItmQty(inputQty);//Added by chandrashekar on 03-oct-2016
} }
else else
{ {
inputQty = netQuantity; inputQty = netQuantity;
sordItemBean.setSordItmQty(inputQty);//Added by chandrashekar on 03-oct-2016
} }
System.out.println("inputQty>>"+inputQty); System.out.println("inputQty>>"+inputQty);
if(inputQty > 0) if(inputQty > 0)
...@@ -2480,6 +2864,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2480,6 +2864,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
//if isnull(as_tranid) or len(trim(as_tranid)) = 0 //if isnull(as_tranid) or len(trim(as_tranid)) = 0
//{ //{
orgQty = inputQty; orgQty = inputQty;
unitPack="";
sql = "select unit__pack from" + sql = "select unit__pack from" +
" item_lot_packsize where item_code = ? and" + " item_lot_packsize where item_code = ? and" +
" lot_no__from <= ?and lot_no__to >= ? "; " lot_no__from <= ?and lot_no__to >= ? ";
...@@ -2496,12 +2881,13 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2496,12 +2881,13 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("unitPack>>@@@@>>["+unitPack+"]");
if(unitPack == null || "B".equalsIgnoreCase(itemFlag)) if(unitPack == null || unitPack.trim().length()==0 || "B".equalsIgnoreCase(itemFlag))
{ {
unitPack = unit; unitPack = unit;
} }
System.out.println("unitPack>>>>["+unitPack+"]");
System.out.println("unit>>>>"+unit+"]");
if(!(unitPack.equalsIgnoreCase(unit))) if(!(unitPack.equalsIgnoreCase(unit)))
{ {
...@@ -2585,9 +2971,23 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2585,9 +2971,23 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{ {
if("F".equalsIgnoreCase(nature)) if("F".equalsIgnoreCase(nature))
{ {
sql = "select item_code__parent from item where item_code = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
while(rs.next())
{
itemCodeParent = rs.getString("item_code__parent");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(itemCodeParent != null && itemCodeParent.trim().length() > 0 ) if(itemCodeParent != null && itemCodeParent.trim().length() > 0 )
{ {
schemeCode = checkScheme(itemCode, orderType,custCode,siteCode,stateCodeDlv,countCodeDlv,allocDate,conn); schemeCode = checkScheme(itemCodeParent, orderType,custCode,siteCode,stateCodeDlv,countCodeDlv,allocDate,conn);
if(schemeCode != null && schemeCode.trim().length() > 0) if(schemeCode != null && schemeCode.trim().length() > 0)
...@@ -2651,8 +3051,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2651,8 +3051,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
sql = " select bom.batch_qty,bomdet.qty_per,bomdet.app_min_qty, " + sql = " select bom.batch_qty as lc_batqty,bomdet.qty_per as lc_qtyper,bomdet.app_min_qty as lc_app_min_qty , " +
" bomdet.app_max_qty " + " bomdet.app_max_qty as lc_app_max_qty " +
" from bom, bomdet where " + " from bom, bomdet where " +
" bom.bom_code = bomdet.bom_code and bomdet.bom_code " + " bom.bom_code = bomdet.bom_code and bomdet.bom_code " +
" = ? and bomdet.nature= 'F' and ? " + " = ? and bomdet.nature= 'F' and ? " +
...@@ -2673,16 +3073,23 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2673,16 +3073,23 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("chargeQty>>>"+chargeQty);
System.out.println("appMinQty>>>"+appMinQty);
System.out.println("appMaxQty>>>"+appMaxQty);
if(chargeQty >= appMinQty && chargeQty <= appMaxQty) if(chargeQty >= appMinQty && chargeQty <= appMaxQty)
{ {
//freeQty = truncate(chargeQty / batqty,0) * qtyper //freeQty = truncate(chargeQty / batqty,0) * qtyper
freeQty = (chargeQty / batqty) * qtyper;
} }
else else
{ {
freeQty=0; freeQty=0;
} }
System.out.println("inputQty>>>"+inputQty);
System.out.println("totFreeQty>>>"+totFreeQty);
System.out.println("allocFreeQty>>>"+allocFreeQty);
System.out.println("freeQty>>>"+freeQty);
if((inputQty + totFreeQty + allocFreeQty) > freeQty ) if((inputQty + totFreeQty + allocFreeQty) > freeQty )
{ {
System.out.println("Chargeable quantity of group of items not eligible for the free quantity"); System.out.println("Chargeable quantity of group of items not eligible for the free quantity");
...@@ -2787,6 +3194,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2787,6 +3194,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("lotNO>>"+lotNo+"lotSl >>"+lotSl); System.out.println("lotNO>>"+lotNo+"lotSl >>"+lotSl);
System.out.println("allocQty["+allocQty+"]"+"holdQty["+holdQty+"]"+"qtyStk - allocQty - holdQty["+(qtyStk - allocQty - holdQty)+""); System.out.println("allocQty["+allocQty+"]"+"holdQty["+holdQty+"]"+"qtyStk - allocQty - holdQty["+(qtyStk - allocQty - holdQty)+"");
System.out.println("stockTot["+stockTot+"]"+"qtyStk["+qtyStk+"]"+"sordItmQty["+sordItmQty+""); System.out.println("stockTot["+stockTot+"]"+"qtyStk["+qtyStk+"]"+"sordItmQty["+sordItmQty+"");
stockTot=0.0;
stockTot = stockTot + (qtyStk - allocQty - holdQty); stockTot = stockTot + (qtyStk - allocQty - holdQty);
System.out.println("stockTot >>>>"+stockTot); System.out.println("stockTot >>>>"+stockTot);
if(stockTot > sordItmQty) if(stockTot > sordItmQty)
...@@ -2814,14 +3222,17 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2814,14 +3222,17 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
int vaildateData=0; int vaildateData=0;
double totInputQty=0.0; double totInputQty=0.0;
System.out.println("sordItemList lenth@@@"+sordItemList.size());
for(SordItemBean sordItemBean :sordItemList )//required for update sorditem accordingly line no and sale order for(SordItemBean sordItemBean :sordItemList )//required for update sorditem accordingly line no and sale order
{ {
sordItmQty = sordItemBean.getSordItmQty(); sordItmQty = sordItemBean.getSordItmQty();
netQuantity=sordItmQty; netQuantity=sordItmQty;
System.out.println("netQuantity>>>"+netQuantity); System.out.println("netQuantity>>>"+netQuantity);
stockList=sordItemBean.getStockList(); stockList=sordItemBean.getStockList();
System.out.println("stockList.size()>>>"+stockList.size()); System.out.println("stockList>>>"+stockList);
System.out.println("expLev>@@@@@@@@@>"+expLev);
totInputQty=0; totInputQty=0;
System.out.println("stockList lenth@@@"+stockList.size());
for(StockBean stockBean :stockList) for(StockBean stockBean :stockList)
{ {
System.out.println("stockList iterator starts..........."); System.out.println("stockList iterator starts...........");
...@@ -2870,10 +3281,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2870,10 +3281,10 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
isRejected = stockBean.isRejected(); isRejected = stockBean.isRejected();
System.out.println("isRejected>>"+isRejected); System.out.println("isRejected>>"+isRejected);
//inputQty=sordItmQty; //inputQty=sordItmQty;
quantityStduom=sordItmQty; //quantityStduom=sordItmQty;
expLev=stockBean.getSordItemBean().getExpLev();
System.out.println("expLev>>>"+expLev);
skipline = skipline == null ? "" : skipline; skipline = skipline == null ? "" : skipline;
skiplot = skiplot == null ? "" : skiplot; skiplot = skiplot == null ? "" : skiplot;
System.out.println("saleOrder["+saleOrder+"]"+"itemCode["+itemCode+"]"+"lineNo["+lineNo+"]"); System.out.println("saleOrder["+saleOrder+"]"+"itemCode["+itemCode+"]"+"lineNo["+lineNo+"]");
...@@ -2883,6 +3294,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2883,6 +3294,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("sordItmQty :"+sordItmQty); System.out.println("sordItmQty :"+sordItmQty);
System.out.println("skipline:"+skipline); System.out.println("skipline:"+skipline);
System.out.println("skiplot:"+skiplot); System.out.println("skiplot:"+skiplot);
System.out.println("itemCode@@@@["+itemCode+"]unit@@@["+unit+"]unitsTD"+unitStd);
System.out.println("skiplot.trim() :"+skiplot.trim()); System.out.println("skiplot.trim() :"+skiplot.trim());
System.out.println("'"+lineNo.trim()); System.out.println("'"+lineNo.trim());
...@@ -2978,7 +3390,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2978,7 +3390,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setDouble(4, quantityStduom);//quantity pstmt.setDouble(4, quantityStduom);//quantity
pstmt.setString(5, itemCodeOrd); pstmt.setString(5, itemCodeOrd);
pstmt.setString(6, siteCode); pstmt.setString(6, siteCode);
pstmt.setString(7, orderUnit); pstmt.setString(7, unit);
//pstmt.setString(7, orderUnit);
pstmt.setString(8, status); pstmt.setString(8, status);
pstmt.setString(9, expLev); pstmt.setString(9, expLev);
pstmt.setString(10, itemRef); pstmt.setString(10, itemRef);
...@@ -2998,6 +3411,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -2998,6 +3411,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
insCnt = pstmt.executeUpdate(); insCnt = pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null;
System.out.println(">>>>>>>>insCnt:"+insCnt); System.out.println(">>>>>>>>insCnt:"+insCnt);
if(insCnt > 0) if(insCnt > 0)
{ {
...@@ -3011,6 +3425,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3011,6 +3425,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
}//end of if(sordallocCnt == 0) }//end of if(sordallocCnt == 0)
else else
{ {
inputQty = sordItmQty;
sql = "update sordalloc set qty_alloc = qty_alloc + ?," + sql = "update sordalloc set qty_alloc = qty_alloc + ?," +
" status = 'D' where sale_order = ? " + " status = 'D' where sale_order = ? " +
" and line_no = ? and exp_lev = ? " + " and line_no = ? and exp_lev = ? " +
...@@ -3030,6 +3445,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3030,6 +3445,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setString(8,lotSl ); pstmt.setString(8,lotSl );
pstmt.setString(9,locCode); pstmt.setString(9,locCode);
updSordAllCnt = pstmt.executeUpdate(); updSordAllCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if(updSordAllCnt > 0) if(updSordAllCnt > 0)
{ {
logMsg= saleOrder + "\t" + itemCode + "\t"+locCode + "\t" +lotNo+"\t"+ lineNo + "\tUpdated data in sordalloc"; logMsg= saleOrder + "\t" + itemCode + "\t"+locCode + "\t" +lotNo+"\t"+ lineNo + "\tUpdated data in sordalloc";
...@@ -3082,7 +3499,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3082,7 +3499,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setString(2,tranidSoalloc); pstmt.setString(2,tranidSoalloc);
pstmt.setString(3,linenoSoalloc); pstmt.setString(3,linenoSoalloc);
updSordAllDetCnt = pstmt.executeUpdate(); updSordAllDetCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
} }
} }
...@@ -3147,7 +3565,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3147,7 +3565,8 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
pstmt.setString(5,lineNo); pstmt.setString(5,lineNo);
pstmt.setString(6,expLev); pstmt.setString(6,expLev);
updSorditemCnt = pstmt.executeUpdate(); updSorditemCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
} }
} }
...@@ -3169,10 +3588,28 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3169,10 +3588,28 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
strToWrite=strToWrite+logMsg+"\t\r\n"; strToWrite=strToWrite+logMsg+"\t\r\n";
} }
}*/ }*/
//Start Added by chandrashekar on 13-sep-2016
System.out.println("********************************************************");
System.out.println("records["+records+"]"+"stockOpt["+stockOpt+"]"+"saleOrder["+saleOrder+"]");
int updSordCnt=0;
if(records > 0 || stockOpt == 0 && !isRejected)
{
sql = " update sorder set alloc_flag = 'Y' where sale_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
updSordCnt = pstmt.executeUpdate();
if(updSordCnt > 0)
{
logMsg= saleOrder + "\t" + "\tupdate sorder alloc_flag 'Y'";
strToWrite=strToWrite+logMsg+"\t\r\n";
}
pstmt.close();
pstmt = null;
}
//End Added by chandrashekar on 13-sep-2016
}//end of for(SordItemBean sordItemBean :sordItemList )...2nd }//end of for(SordItemBean sordItemBean :sordItemList )...2nd
System.out.println("********************************************************"); /*System.out.println("********************************************************");
System.out.println("records["+records+"]"+"stockOpt["+stockOpt+"]"+"saleOrder["+saleOrder+"]"); System.out.println("records["+records+"]"+"stockOpt["+stockOpt+"]"+"saleOrder["+saleOrder+"]");
int updSordCnt=0; int updSordCnt=0;
if(records > 0 || stockOpt == 0) if(records > 0 || stockOpt == 0)
...@@ -3186,7 +3623,9 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3186,7 +3623,9 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
logMsg= saleOrder + "\t" + "\tupdate sorder alloc_flag 'Y'"; logMsg= saleOrder + "\t" + "\tupdate sorder alloc_flag 'Y'";
strToWrite=strToWrite+logMsg+"\t\r\n"; strToWrite=strToWrite+logMsg+"\t\r\n";
} }
} pstmt.close();
pstmt = null;
}*/
if(totLines - skiplineCnt == 0) if(totLines - skiplineCnt == 0)
{ {
merrcode = "VTPOSTSKIP"; merrcode = "VTPOSTSKIP";
...@@ -3312,6 +3751,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3312,6 +3751,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
private String intializingLog(String fileName,String saleOrder) throws ITMException private String intializingLog(String fileName,String saleOrder) throws ITMException
{ {
String log=""; String log="";
...@@ -3561,10 +4001,16 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3561,10 +4001,16 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
public double convertBox(String itemCode,String unitPack,String unit,double convQtyStduom,Connection conn) throws ITMException public double convertBox(String itemCode,String unitPack,String unit,double convQtyStduom,Connection conn) throws ITMException
{ {
double convQty = 0.0; double convQty = 0.0;
double convFact=0.0;
ArrayList convAr = null;
try try
{ {
convQty = dist.convQtyFactor(unit,unitPack,itemCode, convQtyStduom, conn); //convQty = dist.convQtyFactor(unit,unitPack,itemCode, convQtyStduom, conn);
convAr = dist.getConvQuantityFact(unit, unitPack, itemCode, convQtyStduom, convFact, conn);
convFact = Double.parseDouble( convAr.get(0).toString() );
System.out.println("convFact>>>>"+convFact);
convQty = Double.parseDouble( convAr.get(1).toString() );
System.out.println("convQty>>>>"+convQty);
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -3784,7 +4230,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3784,7 +4230,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
sql = " select a.scheme_code from scheme_applicability a, scheme_applicability_det b" + sql = " select a.scheme_code from scheme_applicability a, scheme_applicability_det b" +
" where a.scheme_code = b.scheme_code and a.item_code = ? " + " where a.scheme_code = b.scheme_code and a.item_code = ? " +
" and a.app_from <= ? and a.valid_upto >= ? and " + " and a.app_from <= ? and a.valid_upto >= ? and " +
" (b.site_code = ? or b.state_code = ? or b.count_code = ? "; " (b.site_code = ? or b.state_code = ? or b.count_code = ? )";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode); pstmt.setString(1,itemCode);
pstmt.setTimestamp(2,tranDate); pstmt.setTimestamp(2,tranDate);
...@@ -3808,9 +4254,9 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3808,9 +4254,9 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
while(rs1.next()) while(rs1.next())
{ {
applyCustList = rs.getString("apply_cust_list"); applyCustList = rs1.getString("apply_cust_list");
noApplyCustList = rs.getString("noapply_cust_list"); noApplyCustList = rs1.getString("noapply_cust_list");
applicableordtypes = rs.getString("order_type"); applicableordtypes = rs1.getString("order_type");
if("NE".equalsIgnoreCase(as_order_type) && applicableordtypes==null) if("NE".equalsIgnoreCase(as_order_type) && applicableordtypes==null)
{ {
...@@ -3914,10 +4360,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -3914,10 +4360,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
System.out.println("xmlString1>>"+xmlString1); System.out.println("xmlString1>>"+xmlString1);
System.out.println("chgUser["+chgUser+"]"+"chgTerm["+chgTerm+"]"); System.out.println("chgUser["+chgUser+"]"+"chgTerm["+chgTerm+"]");
/*ConnDriver connDriver = new ConnDriver(); /*ConnDriver connDriver = new ConnDriver();
//Changes and Commented By Bhushan on 09-06-2016 :START conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false);*/ conn.setAutoCommit(false);*/
sql = " select site_code " + sql = " select site_code " +
...@@ -4066,10 +4509,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -4066,10 +4509,7 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
{ {
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
//Changes and Commented By Bhushan on 09-06-2016 :START conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Changes and Commented By Bhushan on 09-06-2016 :END
conn.setAutoCommit(false); conn.setAutoCommit(false);
if(conn != null) if(conn != null)
...@@ -4146,13 +4586,189 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca ...@@ -4146,13 +4586,189 @@ public class PostOrderProcess extends ProcessEJB implements PostOrderProcessLoca
} }
private String gbfScheme(String saleOrder, String lineNo, String lotSl, String locGroup, String itemCode,Connection conn) throws ITMException
{
Timestamp sysDate=null;
String sql="",sql1="",sql2="",mitemCode="",mitemCodeOrd="",msiteCode="",lineNoStr="",trackShelfLife="";
String mchkDateStr="";
PreparedStatement pstmt1=null,pstmt=null,pstmt2=null;
ResultSet rs1=null,rs=null,rs2=null;
Double mquantity=0.0,mminShelfLife=0.0;
double mmin_shelf_life=0.0,stkQty=0.0,mqty=0.0,mmodqty=0.0;
double lc_ratio=10000.0,li_ratio=0.0;
Timestamp mchkDate=null;
DistCommon discmn=new DistCommon();
try
{
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDateStr = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDateStr);
sysDate = Timestamp.valueOf(genericUtility.getValidDateString(sysDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
String DB = CommonConstants.DB_NAME;
System.out.println("DB ==========>>>>>"+DB);
lineNo=" "+lineNo;
System.out.println("---"+lineNo+"---");
lineNo = lineNo.substring(lineNo.length() - 3);
sql1="select distinct(item_code) as item_code , sum(quantity - qty_desp) as qty, " +
"item_code__ord, site_code " +
" from sorditem where sale_order = ? and" +
" line_no = ? and (quantity - qty_desp) >0 and" +
" line_type = 'I' and item_code = ? " +
" group by item_code, item_code__ord, site_code " +
"order by item_code, item_code__ord, site_code";
pstmt1= conn.prepareStatement(sql1);
pstmt1.setString(1, saleOrder);
pstmt1.setString(2, lineNo);
pstmt1.setString(3, itemCode);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
mitemCode = rs1.getString("item_code");
mquantity = rs1.getDouble("qty");
mitemCodeOrd = rs1.getString("item_code__ord");
msiteCode = rs1.getString("site_code");
mminShelfLife = 0.0;
sql2=" select sum(a.quantity - a.alloc_qty - case when a.hold_qty is null then 0 else a.hold_qty end ) as qty " +
" from stock a, invstat b, location c where c.inv_stat = b.inv_stat and c.loc_code = a.loc_code " +
"and a.item_code = '"+mitemCode+"' and a.site_code = '"+msiteCode+"' " +
"and a.quantity > 0 and b.available = 'Y' ";
if(lotSl != null && checkNull(lotSl).trim().length()>0)
{
sql2=sql2+" and a.lot_sl = '"+lotSl+"' ";
}
if(locGroup != null && checkNull(locGroup).trim().length()>0)
{
sql2=sql2+" and c.loc_group = '"+locGroup+"' ";
}
sql="select track_shelf_life from item where item_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitemCode);
rs = pstmt.executeQuery();
if (rs.next())
{
trackShelfLife = rs.getString("track_shelf_life");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="select min_shelf_life from sorditem where sale_order = ? " +
"and line_no = ? and line_type = 'I' and item_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, saleOrder);
pstmt.setString(2, lineNo);
pstmt.setString(3, mitemCode);
rs = pstmt.executeQuery();
if (rs.next())
{
mminShelfLife = rs.getDouble("min_shelf_life");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
mchkDate=discmn.CalcExpiry(sysDate,mminShelfLife+1);
System.out.println("mchkDate>>>>"+mchkDate);
if("Y".equalsIgnoreCase(trackShelfLife) && mminShelfLife >0)
{
if("db2".equalsIgnoreCase(DB))
{
SimpleDateFormat sdt = new SimpleDateFormat("yyyy-mm-dd");
if(mchkDate !=null)
{
mchkDateStr = sdt.format(mchkDate.getTime());
}
sql2=sql2+" and ( a.exp_date > TIMESTAMP('"+mchkDateStr+" 00:00:00.000"+"') or a.exp_date is null) ";
}else
{
SimpleDateFormat sdt = new SimpleDateFormat("dd-MMM-yyyy");
if(mchkDate !=null)
{
mchkDateStr = sdt.format(mchkDate.getTime());
}
sql2=sql2+" and ( a.exp_date > '"+mchkDateStr+"' or a.exp_date is null) ";
}
}
pstmt2=conn.prepareStatement(sql2);
rs2=pstmt2.executeQuery();
while(rs2.next())
{
stkQty=rs2.getDouble("qty");
sql="SELECT SUM(qty_per) as mqty FROM bomdet WHERE ( bom_code = ? ) AND ( item_code = ? )";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mitemCodeOrd);
pstmt.setString(2, mitemCode);
rs = pstmt.executeQuery();
if (rs.next())
{
mqty = rs.getDouble("mqty");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(stkQty<mqty)
{
break;
}
if(stkQty < mquantity)
{
if(mqty>0)
{
sql="Select mod(?,?) as mmodqty from dual";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, stkQty);
pstmt.setDouble(2, mqty);
rs = pstmt.executeQuery();
if (rs.next())
{
mmodqty = rs.getDouble("mmodqty");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
li_ratio = ((stkQty - mmodqty) / mqty);
if (lc_ratio > li_ratio)
{
lc_ratio = li_ratio ;
}
}
}
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2=null;
}
rs1.close();
rs1= null;
pstmt1.close();
pstmt1= null;
}catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
return Double.toString(lc_ratio);
}
} }
...@@ -4251,11 +4867,4 @@ class Log ...@@ -4251,11 +4867,4 @@ class Log
} }
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