Commit 43897885 authored by ssarkar's avatar ssarkar

Previous Day Empty location will be scheduled irrespective to Analysis

class. source send by Manoj Sharma


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91943 ce508802-f39f-4f6c-b175-0d175dae99d5
parent fa6745d2
......@@ -405,18 +405,25 @@ public class PhysicalCountSchedule implements Schedule
pstmt.close();
pstmt=null;
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L,INVTRACE T,ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='A' " +
" 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' " +
" AND S.ITEM_CODE=P.ITEM_CODE AND P.ITEM_CODE=T.ITEM_CODE AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
" and S.item_code=T.item_code and ( S.QUANTITY>0 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 ";
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='A' " +
" 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' " +
" AND S.ITEM_CODE=P.ITEM_CODE " +
//" AND P.ITEM_CODE=T.ITEM_CODE " +
" AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
//" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
//" and S.item_code=T.item_code" +
" and ( S.QUANTITY>0 " +
//"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 ";
pstmt=conn.prepareStatement(queryString);
pstmt.setString(1,(new SimpleDateFormat("MMM").format(dt)).toUpperCase()+"/"+new SimpleDateFormat("yyyy").format(dt));
pstmt.setTimestamp(2,wTimeStamp);
pstmt.setString(3, loginSiteCode);
pstmt.setString(4,(new SimpleDateFormat("MMM").format(dt)).toUpperCase()+"/"+new SimpleDateFormat("yyyy").format(dt));
//pstmt.setTimestamp(2,wTimeStamp);
pstmt.setString(2, loginSiteCode);
pstmt.setString(3,(new SimpleDateFormat("MMM").format(dt)).toUpperCase()+"/"+new SimpleDateFormat("yyyy").format(dt));
rs=pstmt.executeQuery();
alist=new ArrayList<SelectItem>();
......@@ -453,20 +460,27 @@ public class PhysicalCountSchedule implements Schedule
System.out.println("arrA---"+arrA.size());
//
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L,INVTRACE T,ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='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 ANALYSIS_CLASS='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 S.ITEM_CODE=P.ITEM_CODE AND P.ITEM_CODE=T.ITEM_CODE AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
" and S.item_code=T.item_code and ( S.QUANTITY>0 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";
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='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 ANALYSIS_CLASS='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 S.ITEM_CODE=P.ITEM_CODE" +
//" AND P.ITEM_CODE=T.ITEM_CODE" +
" AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
//" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
//" and S.item_code=T.item_code" +
" and ( S.QUANTITY>0" +
//" 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";
pstmt=conn.prepareStatement(queryString);
pstmt.setTimestamp(1,java.sql.Timestamp.valueOf(sdf1.format(setQFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(2,java.sql.Timestamp.valueOf(sdf1.format(setQTodt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(3,wTimeStamp);
pstmt.setString(4, loginSiteCode);
pstmt.setTimestamp(5,java.sql.Timestamp.valueOf(sdf1.format(setQFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(6,java.sql.Timestamp.valueOf(sdf1.format(setQTodt).toString() + " 00:00:00.0"));
//pstmt.setTimestamp(3,wTimeStamp);
pstmt.setString(3, loginSiteCode);
pstmt.setTimestamp(4,java.sql.Timestamp.valueOf(sdf1.format(setQFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(5,java.sql.Timestamp.valueOf(sdf1.format(setQTodt).toString() + " 00:00:00.0"));
rs=pstmt.executeQuery();
alist=new ArrayList<SelectItem>();
......@@ -501,20 +515,27 @@ public class PhysicalCountSchedule implements Schedule
}
System.out.println("arrB---"+arrB.size());
//
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L,INVTRACE T,ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='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 ANALYSIS_CLASS='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 S.ITEM_CODE=P.ITEM_CODE AND P.ITEM_CODE=T.ITEM_CODE AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
" and S.item_code=T.item_code and ( S.QUANTITY>0 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 ? ) ";
queryString=" SELECT DISTINCT S.ITEM_CODE,S.LOT_NO,S.LOT_SL,S.LOC_CODE,S.SITE_CODE,CYCLE_CRITERIA,S.LTRAN_DATE,S.QUANTITY,S.UNIT FROM ITEM I, STOCK S,LOCATION L" +
//",INVTRACE T" +
",ITEM_LOT_PACKSIZE P WHERE ANALYSIS_CLASS='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 ANALYSIS_CLASS='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 S.ITEM_CODE=P.ITEM_CODE" +
//" AND P.ITEM_CODE=T.ITEM_CODE" +
" AND S.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO "+
//" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
//" and S.item_code=T.item_code" +
" and ( S.QUANTITY>0" +
//" 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 ? ) ";
pstmt=conn.prepareStatement(queryString);
pstmt.setTimestamp(1,java.sql.Timestamp.valueOf(sdf1.format(setHFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(2,java.sql.Timestamp.valueOf(sdf1.format(setHTodt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(3,wTimeStamp);
pstmt.setString(4, loginSiteCode);
pstmt.setTimestamp(5,java.sql.Timestamp.valueOf(sdf1.format(setHFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(6,java.sql.Timestamp.valueOf(sdf1.format(setHTodt).toString() + " 00:00:00.0"));
//pstmt.setTimestamp(3,wTimeStamp);
pstmt.setString(3, loginSiteCode);
pstmt.setTimestamp(4,java.sql.Timestamp.valueOf(sdf1.format(setHFromdt).toString() + " 00:00:00.0"));
pstmt.setTimestamp(5,java.sql.Timestamp.valueOf(sdf1.format(setHTodt).toString() + " 00:00:00.0"));
rs=pstmt.executeQuery();
alist=new ArrayList<SelectItem>();
......@@ -705,8 +726,54 @@ public class PhysicalCountSchedule implements Schedule
System.out.println("2--rec----"+rec);
rec=generateDetRec(empCode,rec,conn,tranId,dts,arrC,numberOfItemsPerdayC);
System.out.println("3--rec----"+rec);
queryString=" SELECT DISTINCT T.ITEM_CODE,T.LOT_NO,T.LOT_SL,T.LOC_CODE,T.SITE_CODE,CYCLE_CRITERIA,0 QUANTITY,T.UNIT,I.ANALYSIS_CLASS 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' " +
//" AND S.ITEM_CODE=P.ITEM_CODE AND "+
" T.LOC_CODE=L.LOC_CODE AND T.ITEM_CODE=I.ITEM_CODE AND "+
"P.ITEM_CODE=T.ITEM_CODE AND T.LOT_NO BETWEEN P.LOT_NO__FROM AND P.LOT_NO__TO AND "+
//" AND S.site_code=T.site_code and S.lot_no=T.lot_no and S.loc_code=T.loc_code and S.lot_sl=T.lot_sl " +
" (T.qty_after=0 and T.tran_date=?) AND T.site_code = ? "+ //added by kunal add site code in cond. on 18/09/12 as par Manoj Sharma instruction
" ORDER BY CYCLE_CRITERIA,T.ITEM_CODE,T.LOT_NO,T.LOT_SL ";
}
pstmt=conn.prepareStatement(queryString);
pstmt.setTimestamp(1,wTimeStamp);
pstmt.setString(2, loginSiteCode);
rs=pstmt.executeQuery();
while(rs.next())
{
rec++;
insertItemProcess="insert into PHYSCANDET (TRAN_ID,LINE_NO,SITE_CODE,ITEM_CODE," +
"LOC_CODE,LOT_NO,LOT_SL,QUANTITY," +
"ANALYSIS_CLASS,PRIORITY_SEQ,CYCLE_CRITERIA,EMP_CODE__USER,UNIT) " +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtInsert = conn.prepareStatement(insertItemProcess);
pstmtInsert.setString(1,tranId);
pstmtInsert.setInt(2,rec);
pstmtInsert.setString(3,loginSiteCode);
pstmtInsert.setString(4,rs.getString("ITEM_CODE"));
pstmtInsert.setString(5,rs.getString("LOC_CODE"));
pstmtInsert.setString(6,rs.getString("LOT_NO"));
pstmtInsert.setString(7,rs.getString("LOT_SL"));
pstmtInsert.setDouble(8,0);
pstmtInsert.setString(9,rs.getString("ANALYSIS_CLASS"));
pstmtInsert.setInt(10,0);
pstmtInsert.setString(11,rs.getString("CYCLE_CRITERIA"));
pstmtInsert.setString(12,empCode);
pstmtInsert.setString(13,rs.getString("UNIT"));
pstmtInsert.executeUpdate();
pstmtInsert.close();
pstmtInsert=null;
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
queryString="select * from PHYSCANDET where tran_id=? order by loc_code asc ";
pstmt=conn.prepareStatement(queryString);
......
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