Commit 94d24508 authored by wansari's avatar wansari

W16FKAT002 updated source for due date and despatch date validation.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104027 ce508802-f39f-4f6c-b175-0d175dae99d5
parent a0f9be40
...@@ -47,6 +47,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -47,6 +47,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
{ {
E12GenericUtility genericUtility = new E12GenericUtility(); E12GenericUtility genericUtility = new E12GenericUtility();
DistCommon distCommon = new DistCommon(); DistCommon distCommon = new DistCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
/** /**
* Default constructor. * Default constructor.
*/ */
...@@ -220,6 +221,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -220,6 +221,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
if (rs.next()) if (rs.next())
{ {
prdCode = checkNullAndTrim(rs.getString("CODE")); prdCode = checkNullAndTrim(rs.getString("CODE"));
count++;
} }
if (rs != null) if (rs != null)
{ {
...@@ -230,6 +232,12 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -230,6 +232,12 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
pstmt.close();pstmt = null; pstmt.close();pstmt = null;
} }
if(count == 0)
{
errList.add( "VTORDTINV" );
errFields.add( childNodeName.toLowerCase() );
}
sql = " SELECT STAT_SAL FROM PERIOD_STAT WHERE PRD_CODE = ? AND SITE_CODE = ?"; sql = " SELECT STAT_SAL FROM PERIOD_STAT WHERE PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, prdCode); pstmt.setString(1, prdCode);
...@@ -238,7 +246,6 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -238,7 +246,6 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
if (rs.next()) if (rs.next())
{ {
statSal = checkNullAndTrim(rs.getString("STAT_SAL")); statSal = checkNullAndTrim(rs.getString("STAT_SAL"));
count++;
} }
if (rs != null) if (rs != null)
{ {
...@@ -256,15 +263,197 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -256,15 +263,197 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
errList.add( "VTPRDSAL" ); errList.add( "VTPRDSAL" );
errFields.add( childNodeName.toLowerCase() ); errFields.add( childNodeName.toLowerCase() );
} }
else if(count == 0) }
if (childNodeName.equalsIgnoreCase("due_date"))
{
String appDateFormat = genericUtility.getApplDateFormat();
String morderDateStr = checkNullAndTrim(genericUtility.getColumnValue("order_date", dom1));
String siteCode = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom1));
java.util.Date morderDate = getDateInForamt( morderDateStr, appDateFormat );
java.util.Date mdueDate = getDateInForamt( columnValue, appDateFormat );
System.out.println("mdueDate["+mdueDate+"] and morderDate["+morderDate+"]");
if( mdueDate.compareTo( morderDate ) < 0 )
{ {
errList.add( "VTORDTINV" ); errList.add( "VTDUEDT" );
errFields.add( childNodeName.toLowerCase() ); errFields.add( childNodeName.toLowerCase() );
} }
else
{
String statSal = "",prdCode = "";
int count = 0;
System.out.println("Despatch Date="+columnValue);
String despDate = genericUtility.getValidDateTimeString(
checkNullAndTrim(columnValue), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
sql = " SELECT CODE FROM PERIOD WHERE ? BETWEEN FR_DATE AND TO_DATE ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf(despDate));
rs = pstmt.executeQuery();
if (rs.next())
{
prdCode = checkNullAndTrim(rs.getString("CODE"));
count++;
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
if(count == 0)
{
errList.add( "VTINVDUE" );
errFields.add( "due_date".toLowerCase() );
}
sql = " SELECT STAT_SAL FROM PERIOD_STAT WHERE PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, prdCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
statSal = checkNullAndTrim(rs.getString("STAT_SAL"));
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
if("N".equalsIgnoreCase(statSal))
{
errList.add( "VTPRDDSP" );
errFields.add( "due_date".toLowerCase() );
}
}
} }
} }
break; break;
case 3:
String morderDateStr = checkNullAndTrim(genericUtility.getColumnValue("order_date", dom1));
String siteCode = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom1));
String appDateFormat = genericUtility.getApplDateFormat();
String itemCode = "",dspDate = "";
NodeList detail3NodeList =dom.getElementsByTagName("Detail3");
int detail3NodeListlen = detail3NodeList.getLength();
System.out.println("Detail3 Length wfVal"+detail3NodeListlen);
for(int ctrH = 0; ctrH < detail3NodeListlen ; ctrH++)
{
childNodeList = detail3NodeList.item(ctrH).getChildNodes();
int childNodeListlen = childNodeList.getLength();
for(int ctrD = 0; ctrD < childNodeListlen ; ctrD++)
{
childNode = childNodeList.item(ctrD);
if(childNode == null || childNode.getNodeType() != childNode.ELEMENT_NODE)
{
continue;
}
if(childNode != null && "item_code".equalsIgnoreCase(childNode.getNodeName()) && childNode.getFirstChild() != null)
{
itemCode = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
else if(childNode != null && "dsp_date".equalsIgnoreCase(childNode.getNodeName()) && childNode.getFirstChild() != null)
{
dspDate = checkNullAndTrim(childNode.getFirstChild().getNodeValue());
}
}
System.out.println("Validation for itemCode["+itemCode+"] and DspDate["+dspDate+"]");
if(dspDate.length() > 0)
{
java.util.Date morderDate = getDateInForamt( morderDateStr, appDateFormat );
java.util.Date mdueDate = getDateInForamt( dspDate, appDateFormat );
System.out.println("mdueDate["+mdueDate+"] and morderDate["+morderDate+"]");
if( mdueDate.compareTo( morderDate ) < 0 )
{
//errList.add( "VTDSPDT" );
//errFields.add( "dsp_date".toLowerCase() );
String message = "Despatch date must be > = Order date";
return getError(itemCode, "VTDSPDT", message, conn);
}
else
{
String statSal = "",prdCode = "";
int count = 0;
System.out.println("Despatch Date="+columnValue);
String despDate = genericUtility.getValidDateTimeString(
checkNullAndTrim(dspDate), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
sql = " SELECT CODE FROM PERIOD WHERE ? BETWEEN FR_DATE AND TO_DATE ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf(despDate));
rs = pstmt.executeQuery();
if (rs.next())
{
prdCode = checkNullAndTrim(rs.getString("CODE"));
count++;
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
if(count == 0)
{
//errList.add( "VTORDTINV" );
//errFields.add( "dsp_date".toLowerCase() );
String message = "Invalid Despatch Date,The Despatch Date not present in period status master";
return getError(itemCode, "VTDSPINV", message, conn);
}
sql = " SELECT STAT_SAL FROM PERIOD_STAT WHERE PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, prdCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
statSal = checkNullAndTrim(rs.getString("STAT_SAL"));
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
if("N".equalsIgnoreCase(statSal))
{
//errList.add( "VTPRDSAL" );
//errFields.add( "dsp_date".toLowerCase() );
String message = "Please check the despatch date you have entered. Probably, the date falls under the period whose sales transactions are already closed.";
return getError(itemCode, "VTPRDSAL", message, conn);
}
}
}
}
break;
} }
int errListSize = errList.size(); int errListSize = errList.size();
...@@ -336,7 +525,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -336,7 +525,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
return errString; return errString;
} }
public String getError(String itemCode, String Code, Connection conn) throws ITMException, Exception public String getError(String itemCode, String Code, String message, Connection conn) throws ITMException, Exception
{ {
String mainStr =""; String mainStr ="";
...@@ -346,8 +535,9 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -346,8 +535,9 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
errString = new ITMDBAccessEJB().getErrorString("",Code,"","",conn); errString = new ITMDBAccessEJB().getErrorString("",Code,"","",conn);
String begPart = errString.substring(0,errString.indexOf("<message>")+9); String begPart = errString.substring(0,errString.indexOf("<message>")+9);
String endDesc = errString.substring(errString.indexOf("</description>")); String endDesc = errString.substring(errString.indexOf("</description>"));
mainStr= begPart+"Entered quantity exceeded"+"</message><description>"; mainStr= begPart+"Invalid Despatch Date"+"</message><description>";
mainStr= mainStr+"Quantity has been already issued/ Exceeds Order Quantity for item code : ["+itemCode+"]."+endDesc; //mainStr= mainStr+"Despatch date must be > = Order date for item code : ["+itemCode+"]."+endDesc;
mainStr= mainStr+ message +" for item code ["+itemCode+"]."+endDesc;
System.out.println("mainStr:::::::::::::::::: "+mainStr); System.out.println("mainStr:::::::::::::::::: "+mainStr);
begPart = null; begPart = null;
} }
...@@ -3105,9 +3295,82 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -3105,9 +3295,82 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
if("UPDATE_DSP_DATE".equalsIgnoreCase(quantity)) //updating dsp date if("UPDATE_DSP_DATE".equalsIgnoreCase(quantity)) //updating dsp date
{ {
String prdCode = "",statSal = "";
int count = 0;
String dspDate = checkNullAndTrim(detail[7]); String dspDate = checkNullAndTrim(detail[7]);
String ordDate = checkNullAndTrim(detail[8]);
String dspDateStr = genericUtility.getValidDateTimeString( String dspDateStr = genericUtility.getValidDateTimeString(
checkNullAndTrim(dspDate), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()); checkNullAndTrim(dspDate), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
String appDateFormat = genericUtility.getApplDateFormat();
java.util.Date morderDate = getDateInForamt( ordDate, appDateFormat );
java.util.Date mdueDate = getDateInForamt( dspDate, appDateFormat );
System.out.println("@@mdueDate["+mdueDate+"] and morderDate["+morderDate+"]");
if( mdueDate.compareTo( morderDate ) < 0 )
{
System.out.println("Inside");
return "VTDUEDT";
}
System.out.println("After");
sql = " SELECT CODE FROM PERIOD WHERE ? BETWEEN FR_DATE AND TO_DATE ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf(dspDateStr));
rs = pstmt.executeQuery();
if (rs.next())
{
prdCode = checkNullAndTrim(rs.getString("CODE"));
count++;
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
if(count == 0)
{
return "VTORDTINV";
}
sql = " SELECT STAT_SAL FROM PERIOD_STAT WHERE PRD_CODE = ? AND SITE_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, prdCode);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
statSal = checkNullAndTrim(rs.getString("STAT_SAL"));
}
if (rs != null)
{
rs.close();rs = null;
}
if (pstmt != null )
{
pstmt.close();pstmt = null;
}
System.out.println("Acct Sal["+statSal+"]");
if("N".equalsIgnoreCase(statSal))
{
return "VTPRDSAL";
}
//String dspDate = checkNullAndTrim(detail[7]);
//String dspDateStr = genericUtility.getValidDateTimeString(
//checkNullAndTrim(dspDate), genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
sql = "UPDATE SORDDET_TEMP SET DSP_DATE = ? WHERE SALE_ORDER = ? AND TAB_NO = ?"; sql = "UPDATE SORDDET_TEMP SET DSP_DATE = ? WHERE SALE_ORDER = ? AND TAB_NO = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -3120,6 +3383,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -3120,6 +3383,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
{ {
pstmt.close();pstmt = null; pstmt.close();pstmt = null;
} }
return ""; return "";
} }
...@@ -3202,7 +3466,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -3202,7 +3466,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
catch(Exception e) catch(Exception e)
{ {
isError = true; isError = true;
System.out.println("Inside catch SaveSorderDetail "); System.out.println("Inside catch SaveSorderDetail"+e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
finally finally
...@@ -3396,7 +3660,8 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -3396,7 +3660,8 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
sql = " SELECT S.SALE_ORDER, S.ORDER_DATE, S.SITE_CODE, S.ITEM_SER, S.ORDER_TYPE, S.CUST_CODE, S.CUST_CODE__DLV, S.CUST_CODE__BIL,S.REMARKS,S.DLV_TERM , " sql = " SELECT S.SALE_ORDER, S.ORDER_DATE, S.SITE_CODE, S.ITEM_SER, S.ORDER_TYPE, S.CUST_CODE, S.CUST_CODE__DLV, S.CUST_CODE__BIL,S.REMARKS,S.DLV_TERM , "
+ " S.CR_TERM, S.CURR_CODE , S.STAN_CODE , S.TRAN_CODE , S.TRANS_MODE , S.UDF__STR2 , S.EMP_CODE__ORD ," + " S.CR_TERM, S.CURR_CODE , S.STAN_CODE , S.TRAN_CODE , S.TRANS_MODE , S.UDF__STR2 , S.EMP_CODE__ORD ,"
+ " S.UDF__NUM2, S.CURR_CODE__FRT, S.CURR_CODE__INS, C.CUST_NAME," + " S.UDF__NUM2, S.CURR_CODE__FRT, S.CURR_CODE__INS, C.CUST_NAME,"
+ " S.DLV_ADD1,S.DLV_ADD2,S.DLV_CITY,S.DLV_PIN,S.STATE_CODE__DLV,S.COUNT_CODE__DLV, S.DUE_DATE " + " S.DLV_ADD1,S.DLV_ADD2,S.DLV_CITY,S.DLV_PIN,S.STATE_CODE__DLV,S.COUNT_CODE__DLV, S.DUE_DATE,"
+ " S.DLV_ADD3, S.TEL1__DLV,S.TEL2__DLV, S.PART_QTY "
+ " FROM SORDER S, CUSTOMER C " + " FROM SORDER S, CUSTOMER C "
+ " WHERE S.SALE_ORDER = ? AND S.CONFIRMED = ? AND S.CUST_CODE = C.CUST_CODE "; + " WHERE S.SALE_ORDER = ? AND S.CONFIRMED = ? AND S.CUST_CODE = C.CUST_CODE ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -3611,7 +3876,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -3611,7 +3876,7 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
} }
catch (Exception e) catch (Exception e)
{ {
System.out.println("Inside Catch getSorderHeader"); System.out.println("Inside Catch getSorderHeader==="+e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
finally finally
...@@ -4051,4 +4316,16 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca ...@@ -4051,4 +4316,16 @@ public class SorderWizardEJB extends ValidatorEJB implements SorderWizardEJBLoca
//to get sample accordian image path [END] //to get sample accordian image path [END]
private Timestamp getDateInForamt( String dateStr, String format ) throws Exception
{
E12GenericUtility genericUtility = new E12GenericUtility();
Timestamp timestamp = null;
SimpleDateFormat sdf = new SimpleDateFormat( format );//new SimpleDateFormat(genericUtility.getApplDateFormat());
System.out.println( "dateStr[" + dateStr + "]" );
java.util.Date frDate = null;
frDate = sdf.parse( dateStr );
SimpleDateFormat sdf1 = new SimpleDateFormat(genericUtility.getDBDateFormat());
timestamp = Timestamp.valueOf(sdf1.format(frDate).toString() + " 00:00:00.0");
return timestamp;
}
} }
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