Commit f92cb0ee authored by wansari's avatar wansari

W15JSUN015 updated source for parameterizing SQL based on item lot pack size...

W15JSUN015 updated source for parameterizing SQL based on item lot pack size flag ILP_FLAG for AWMS, as RM/PM items does not  have item lot pack size entry.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@100209 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 88d2ff12
......@@ -326,7 +326,10 @@ public class PhysicalCountSchedule implements Schedule
int workDay=0;
ArrayList<String> locationMap = new ArrayList<String>() ;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
//Changed by wasim on 11-02-2016 for item lot pack size flag [START]
String itemLotPackFlag = "";
DistCommon distComm = new DistCommon();
//Changed by wasim on 11-02-2016 for item lot pack size flag [END]
try
{
java.util.Date dt=new Date();
......@@ -347,7 +350,12 @@ public class PhysicalCountSchedule implements Schedule
conn.setAutoCommit(false);
//tranId=generateTranId("w_phy_item_scan",conn);
//Added by manoj dtd 05/02/2013 to generate tran id as per keystring
tranId=generateTranId("w_phy_item_scan",loginSiteCode,conn);
tranId=generateTranId("w_phy_item_scan",loginSiteCode,conn);
//Changed by wasim on 11-02-2016 for item lot pack size flag [START]
itemLotPackFlag = checkNull(distComm.getDisparams("999999","ILP_FLAG",conn));
System.out.println("itemLotPackFlag Disparm=["+itemLotPackFlag+"]");
//Changed by wasim on 11-02-2016 for item lot pack size flag [END]
queryString="select count(*) from work_calendar where work_date=? and working='Y' and site_code=? ";
pstmt=conn.prepareStatement(queryString);
......@@ -595,7 +603,19 @@ public class PhysicalCountSchedule implements Schedule
rs=null;
pstmt.close();
pstmt=null;
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [START]
if("N".equalsIgnoreCase(itemLotPackFlag))
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
" WHERE get_analysis_class( ? ,s.item_code) ='A' " +
" AND S.ITEM_CODE NOT IN (SELECT ITEM_CODE FROM PHYSCAN A,PHYSCANDET B WHERE A.TRAN_ID=B.TRAN_ID AND get_analysis_class( ? ,s.item_code) ='A' AND TO_CHAR(TRAN_DATE, 'MON/YYYY')=? AND CASE WHEN B.STATUS IS NULL THEN 'N' ELSE B.STATUS END ='Y' and A.tran_type='A' AND B.TRAN_TYPE<>'E') " +
" AND S.ITEM_CODE = I.ITEM_CODE AND S.LOC_CODE=L.LOC_CODE AND CYCLE_COUNT_REQD='Y' " +
" and ( S.QUANTITY>0 " +
" ) AND S.site_code = ? "+
" AND (S.LAST_PHYC_DATE IS NULL OR TO_CHAR(S.LAST_PHYC_DATE,'MON/YYYY') <> ?) ORDER BY CYCLE_CRITERIA,S.ITEM_CODE,S.LOT_NO,S.LOT_SL ";
}
else
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE get_analysis_class( ? ,s.item_code) ='A' " +
......@@ -610,6 +630,8 @@ public class PhysicalCountSchedule implements Schedule
//"OR (T.qty_after=0 and T.tran_date=?)" +
" ) AND S.site_code = ? "+ //added by kunal add site code in cond. on 18/09/12 as par Manoj Sharma instruction
" AND (S.LAST_PHYC_DATE IS NULL OR TO_CHAR(S.LAST_PHYC_DATE,'MON/YYYY') <> ?) ORDER BY CYCLE_CRITERIA,S.ITEM_CODE,S.LOT_NO,S.LOT_SL ";
}
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [END]
pstmt=conn.prepareStatement(queryString);
pstmt.setString(1, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
pstmt.setString(2, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
......@@ -652,7 +674,18 @@ public class PhysicalCountSchedule implements Schedule
System.out.println("arrA---"+arrA.size());
//
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [START]
if("N".equalsIgnoreCase(itemLotPackFlag))
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
" WHERE get_analysis_class( ? ,S.ITEM_CODE) ='B' " +
" AND S.ITEM_CODE = I.ITEM_CODE AND S.LOC_CODE=L.LOC_CODE AND CYCLE_COUNT_REQD='Y' " +
" AND S.ITEM_CODE NOT IN (SELECT ITEM_CODE FROM PHYSCAN A,PHYSCANDET B WHERE A.TRAN_ID=B.TRAN_ID AND get_analysis_class( ? ,s.item_code) ='B' AND TRAN_DATE BETWEEN ? AND ? AND CASE WHEN B.STATUS IS NULL THEN 'N' ELSE B.STATUS END ='Y' and A.tran_type='A' AND B.TRAN_TYPE<>'E' ) " +
" AND ( S.QUANTITY>0 ) and S.SITE_CODE = ? "+
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ORDER BY CYCLE_CRITERIA,S.ITEM_CODE,S.LOT_NO,S.LOT_SL";
}
else
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE get_analysis_class( ? ,s.item_code) ='B' " +
......@@ -667,6 +700,8 @@ public class PhysicalCountSchedule implements Schedule
//" OR (T.qty_after=0 and T.tran_date=?)" +
" ) and S.site_code = ? "+ //added by kunal add site code in cond. on 18/09/12 as par Manoj Sharma instruction
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ORDER BY CYCLE_CRITERIA,S.ITEM_CODE,S.LOT_NO,S.LOT_SL";
}
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [END]
pstmt=conn.prepareStatement(queryString);
pstmt.setString(1, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
pstmt.setString(2, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
......@@ -709,7 +744,19 @@ public class PhysicalCountSchedule implements Schedule
arrB=(ArrayList<ArrayList<SelectItem>>) result.get(1);
}
System.out.println("arrB---"+arrB.size());
//
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [START]
if("N".equalsIgnoreCase(itemLotPackFlag))
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
" WHERE get_analysis_class( ? ,s.item_code) ='C' " +
" AND S.ITEM_CODE = I.ITEM_CODE AND S.LOC_CODE=L.LOC_CODE AND CYCLE_COUNT_REQD='Y'" +
" AND S.ITEM_CODE NOT IN (SELECT ITEM_CODE FROM PHYSCAN A,PHYSCANDET B WHERE A.TRAN_ID=B.TRAN_ID AND get_analysis_class( ? ,s.item_code) ='C' AND TRAN_DATE BETWEEN ? AND ? AND CASE WHEN B.STATUS IS NULL THEN 'N' ELSE B.STATUS END ='Y' and A.tran_type='A' AND B.TRAN_TYPE<>'E' )" +
" AND (S.QUANTITY>0)" +
" AND S.SITE_CODE = ? "+
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ";
}
else
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE get_analysis_class( ? ,s.item_code) ='C' " +
......@@ -724,6 +771,8 @@ public class PhysicalCountSchedule implements Schedule
//" OR (T.qty_after=0 and T.tran_date=?)" +
" ) and S.site_code = ? "+ //added by kunal add site code in cond. on 18/09/12 as par Manoj Sharma instruction
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ";
}
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [END]
pstmt=conn.prepareStatement(queryString);
pstmt.setString(1, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
pstmt.setString(2, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
......@@ -766,6 +815,19 @@ public class PhysicalCountSchedule implements Schedule
System.out.println("arrC---"+arrC.size());
//ADDED BY KUNAL ON 11/JUL/14 START
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [START]
if("N".equalsIgnoreCase(itemLotPackFlag))
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
" WHERE get_analysis_class( ? ,s.item_code) ='D' " +
" AND S.ITEM_CODE = I.ITEM_CODE AND S.LOC_CODE=L.LOC_CODE AND CYCLE_COUNT_REQD='Y'" +
" AND S.ITEM_CODE NOT IN (SELECT ITEM_CODE FROM PHYSCAN A,PHYSCANDET B WHERE A.TRAN_ID=B.TRAN_ID AND get_analysis_class( ? ,s.item_code) ='D' AND TRAN_DATE BETWEEN ? AND ? AND CASE WHEN B.STATUS IS NULL THEN 'N' ELSE B.STATUS END ='Y' and A.tran_type='A' AND B.TRAN_TYPE<>'E' )" +
" AND (S.QUANTITY > 0)" +
" AND S.SITE_CODE = ? "+
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ";
}
else
{
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,get_cycle_criteria( S.SITE_CODE ,S.ITEM_CODE) CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE get_analysis_class( ? ,s.item_code) ='D' " +
......@@ -780,6 +842,8 @@ public class PhysicalCountSchedule implements Schedule
//" OR (T.qty_after=0 and T.tran_date=?)" +
" ) and S.site_code = ? "+ //added by kunal add site code in cond. on 18/09/12 as par Manoj Sharma instruction
" AND (S.LAST_PHYC_DATE IS NULL OR S.LAST_PHYC_DATE NOT BETWEEN ? AND ? ) ";
}
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [END]
pstmt=conn.prepareStatement(queryString);
pstmt.setString(1, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
pstmt.setString(2, loginSiteCode); //ADDED BY KUNAL ON 11/JULY/14
......@@ -1028,7 +1092,17 @@ public class PhysicalCountSchedule implements Schedule
rec=generateDetRec(empCode,rec,conn,tranId,dts,arrD,numberOfItemsPerdayD);
System.out.println("4--rec----"+rec);
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [START]
if("N".equalsIgnoreCase(itemLotPackFlag))
{
queryString=" SELECT DISTINCT T.ITEM_CODE,T.LOT_NO,T.LOT_SL,T.LOC_CODE,T.SITE_CODE,get_cycle_criteria( T.site_code ,T.item_code) CYCLE_CRITERIA,0 QUANTITY,T.UNIT,get_analysis_class( T.site_code ,T.item_code) ANALYSIS_CLASS , T.TRAN_ID FROM ITEM I,LOCATION L,INVTRACE T WHERE " +
" T.LOC_CODE=L.LOC_CODE AND T.ITEM_CODE=I.ITEM_CODE AND "+
" L.CYCLE_COUNT_REQD='Y' AND (T.qty_after=0 and T.tran_date=?) AND T.site_code = ? "+
" AND T.LOC_CODE NOT IN ( SELECT DISTINCT LOC_CODE FROM PHYSCANDET WHERE TRAN_ID = ? ) "+
" ORDER BY T.TRAN_ID DESC, CYCLE_CRITERIA,T.ITEM_CODE,T.LOT_NO,T.LOT_SL ASC";
}
else
{
queryString=" SELECT DISTINCT T.ITEM_CODE,T.LOT_NO,T.LOT_SL,T.LOC_CODE,T.SITE_CODE,get_cycle_criteria( T.site_code ,T.item_code) CYCLE_CRITERIA,0 QUANTITY,T.UNIT,get_analysis_class( T.site_code ,T.item_code) ANALYSIS_CLASS , T.TRAN_ID FROM ITEM I,LOCATION L,INVTRACE T,ITEM_LOT_PACKSIZE P WHERE " +
//" AND I.ITEM_CODE NOT IN (SELECT ITEM_CODE FROM PHYSCAN A,PHYSCANDET B WHERE A.TRAN_ID=B.TRAN_ID AND ANALYSIS_CLASS='A' AND TO_CHAR(TRAN_DATE, 'MON/YYYY')=? AND CASE WHEN B.STATUS IS NULL THEN 'N' ELSE B.STATUS END ='Y' and A.tran_type='A') " +
//" AND S.ITEM_CODE = I.ITEM_CODE AND S.LOC_CODE=L.LOC_CODE AND CYCLE_COUNT_REQD='Y' " +
......@@ -1040,6 +1114,8 @@ public class PhysicalCountSchedule implements Schedule
" AND T.LOC_CODE NOT IN ( SELECT DISTINCT LOC_CODE FROM PHYSCANDET WHERE TRAN_ID = ? ) "+//added by kunal on 2/04/13 for prevent Duplicate Data
" ORDER BY T.TRAN_ID DESC, CYCLE_CRITERIA,T.ITEM_CODE,T.LOT_NO,T.LOT_SL ASC";//change done by kunal on 14/01/12 change order by
//}commented by chandrashekar
}
//Changed by wasim on 02-11-2016 for checking item lot pack size flag [END]
pstmt=conn.prepareStatement(queryString);
pstmt.setTimestamp(1,wTimeStamp);
pstmt.setString(2, loginSiteCode);
......@@ -2182,7 +2258,19 @@ public static java.sql.Date addMonths(java.sql.Date date, int months) throws Exc
return calculatedDate;
}
//Changed by wasim on 11-02-2016 [START]
private String checkNull(String input)
{
if(input == null)
{
return "";
}
else
{
return input.trim();
}
}
//Changed by wasim on 11-02-2016 [END]
}
class SelectItem
{
......
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