Commit b751bbe8 authored by dkasliwal's avatar dkasliwal

Add in MFG HAlolMFG Dashboard


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98023 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e7010812
...@@ -65,7 +65,7 @@ public class BSRTransferReportSchedule implements Schedule ...@@ -65,7 +65,7 @@ public class BSRTransferReportSchedule implements Schedule
finalURI = CommonConstants.TOMCAT_HOME + uri + "&userID=" + userID; finalURI = CommonConstants.TOMCAT_HOME + uri + "&userID=" + userID;
System.out.println("direct uri from table =" + uri); System.out.println("direct uri from table =" + uri);
System.out.println("User id is =" + userID); System.out.println("User id is =" + userID);
System.out.println("Final url appended user id in URL =" + finalURI); System.out.println("Final url appended in BSRTransferReportSchedule =" + finalURI);
sendFinalURIList.add(finalURI); sendFinalURIList.add(finalURI);
} }
...@@ -78,7 +78,7 @@ public class BSRTransferReportSchedule implements Schedule ...@@ -78,7 +78,7 @@ public class BSRTransferReportSchedule implements Schedule
if (os.indexOf("win") >= 0) if (os.indexOf("win") >= 0)
{ {
System.out.println("Start Window Section part execution"); System.out.println("Start Window Section part execution in BSRTransferReportSchedule");
if (Desktop.isDesktopSupported()) if (Desktop.isDesktopSupported())
{ {
Desktop desktop = Desktop.getDesktop(); Desktop desktop = Desktop.getDesktop();
...@@ -86,10 +86,10 @@ public class BSRTransferReportSchedule implements Schedule ...@@ -86,10 +86,10 @@ public class BSRTransferReportSchedule implements Schedule
{ {
try try
{ {
System.out.println("run on browser(IE) through window machine"); System.out.println("run on browser(IE) through window machine in BSRTransferReportSchedule");
desktop.browse(new URI(resourcePath)); desktop.browse(new URI(resourcePath));
Thread.sleep(120000); Thread.sleep(150000);
System.out.println("End run on browser through window "); System.out.println("End run on browser through window in BSRTransferReportSchedule");
} catch (Exception e) } catch (Exception e)
{ {
e.printStackTrace(); e.printStackTrace();
...@@ -152,10 +152,10 @@ public class BSRTransferReportSchedule implements Schedule ...@@ -152,10 +152,10 @@ public class BSRTransferReportSchedule implements Schedule
try try
{ {
int second = (int) (System.currentTimeMillis() / 1000) % 60; int second = (int) (System.currentTimeMillis() / 1000) % 60;
System.out.println("View for Time when next URL are comming===" + second); System.out.println("View for Time when next URL are comming in BSRTransferReportSchedule===" + second);
Runtime.getRuntime().exec(new String[] Runtime.getRuntime().exec(new String[]
{ browserPath, resourcePath }); { browserPath, resourcePath });
Thread.sleep(120000); Thread.sleep(150000);
System.out.println("In Linex12"); System.out.println("In Linex12");
} catch (Exception e) } catch (Exception e)
{ {
......
package ibase.dashboard.mfg.bean;
import ibase.scheduler.utility.interfaces.Schedule;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.webitm.utility.ITMException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.awt.Desktop;
import java.net.URI;
public class HalolMFGReleaseSchedule implements Schedule
{
public String schedule(HashMap map) throws Exception
{
System.out.println(schedule((String) map.get("PROCESS_NAME")));
return schedule((String) map.get("PROCESS_NAME"));
}
public String schedule(String schedule) throws Exception
{
System.out.println("inside HalolMFGReleaseSchedule.........");
this.runSchedule();
return schedule;
}
public String schedulePriority(String arg0) throws Exception
{
return null;
}
private void runSchedule() throws ITMException
{
// Add new code on dated 10/01/2013
String sql = "";
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
String userID = "";
String uri = "";
String finalURI = "";
List<String> sendFinalURIList = null;
//add new variable on dated1/02/2013
String os = System.getProperty("os.name").toLowerCase();
String browserPathForLinex = "";
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
sendFinalURIList = new ArrayList<String>();
//sql = " select user_id,uri from dashboard_comp where uri like '%ProductionVsBudgetReportExport.jsp%'";
sql = "select user_id,uri from dashboard_comp where uri like '%ExportExample/GwtDashboardPage.html%'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
userID = rs.getString("user_id").trim();
uri = rs.getString("uri").trim();
finalURI = CommonConstants.TOMCAT_HOME + uri +"&EMP_MAILCODE="+ userID;
System.out.println("direct uri from dashboard_comp for HalolMFGReleaseSchedule =" + uri);
System.out.println("User id is =" + userID);
System.out.println("Final url for HalolMFGReleaseSchedule =" + finalURI);
sendFinalURIList.add(finalURI.trim());
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
if (os.indexOf("win") >= 0)
{
System.out.println("Start Window Section part execution for HalolMFGReleaseSchedule");
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
for (String resourcePath : sendFinalURIList)
{
try
{
System.out.println("run on browser(IE) through window machine");
desktop.browse(new URI(resourcePath));
Thread.sleep(90000);
System.out.println("End run on browser through window ");
} catch (Exception e)
{
e.printStackTrace();
}
}
}
System.out.println("End of Window Machine section part execution HalolMFGReleaseSchedule");
}
/* Ended Added new code for windows palform */
if (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0)
{
//browserPathForLinex ="/usr/lib/firefox/firefox";//this is my PC firefox
browserPathForLinex = "/usr/bin/firefox";
for (String resourcePath : sendFinalURIList)
{
callURL(browserPathForLinex, resourcePath); //call synchronized method
}
}
}// end try block
catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception e)
{
e.printStackTrace();
System.out.println("ibase.dashboard.mfg.bean: HalolMFGReleaseSchedule :runSchedule() " + e.getMessage());
}
}
}
synchronized void callURL(String browserPath, String resourcePath)
{
try
{
int second = (int) (System.currentTimeMillis() / 1000) % 60;
System.out.println("View for Time when next URL are comming in HalolMFGReleaseSchedule===" + second);
Runtime.getRuntime().exec(new String[]
{ browserPath, resourcePath });
Thread.sleep(90000);
} catch (Exception e)
{
System.out.println("ibase.dashboard.mfg.bean: HalolMFGReleaseSchedule() " + e.getMessage());
}
}
// This method call for check null
private String checkNull(String input)
{
if (input == null)
{
input = "";
} else
{
input = input.trim();
}
return input;
}
}
...@@ -68,7 +68,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule ...@@ -68,7 +68,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule
finalURI = CommonConstants.TOMCAT_HOME+uri+"&userID="+userID; finalURI = CommonConstants.TOMCAT_HOME+uri+"&userID="+userID;
System.out.println("direct uri from table ="+ uri); System.out.println("direct uri from table ="+ uri);
System.out.println("User id is =" + userID); System.out.println("User id is =" + userID);
System.out.println("Final url appended user id in URL =" + finalURI); System.out.println("Final url appended in ProductionVsBudgetReportSchedule=" + finalURI);
sendFinalURIList.add(finalURI); sendFinalURIList.add(finalURI);
} }
...@@ -95,7 +95,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule ...@@ -95,7 +95,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule
if (os.indexOf("win") >= 0) if (os.indexOf("win") >= 0)
{ {
System.out.println("Start Window Section part execution"); System.out.println("Start Window Section part execution for ProductionVsBudgetReportSchedule");
if (Desktop.isDesktopSupported()) if (Desktop.isDesktopSupported())
{ {
Desktop desktop = Desktop.getDesktop(); Desktop desktop = Desktop.getDesktop();
...@@ -105,7 +105,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule ...@@ -105,7 +105,7 @@ public class ProductionVsBudgetReportSchedule implements Schedule
{ {
System.out.println("run on browser(IE) through window machine"); System.out.println("run on browser(IE) through window machine");
desktop.browse(new URI(resourcePath)); desktop.browse(new URI(resourcePath));
Thread.sleep(120000); Thread.sleep(150000);
System.out.println("End run on browser through window "); System.out.println("End run on browser through window ");
} }
catch (Exception e) catch (Exception e)
...@@ -171,11 +171,11 @@ public class ProductionVsBudgetReportSchedule implements Schedule ...@@ -171,11 +171,11 @@ public class ProductionVsBudgetReportSchedule implements Schedule
try{ try{
int second = (int)(System.currentTimeMillis() / 1000) % 60 ; int second = (int)(System.currentTimeMillis() / 1000) % 60 ;
System.out.println("View for Time when next URL are comming==="+second); System.out.println("View for Time when next URL are comming in ProductionVsBudgetReportSchedule==="+second);
Runtime.getRuntime().exec(new String[] {browserPath, resourcePath}); Runtime.getRuntime().exec(new String[] {browserPath, resourcePath});
Thread.sleep(120000); Thread.sleep(150000);
System.out.println("In Linex12"); System.out.println("In Linex12");
}catch(Exception e){System.out.println("Exception Inside callURL by synchronization method "+e.getMessage());} }catch(Exception e){System.out.println("Exception Inside when synchronization method for ProductionVsBudgetReportSchedule "+e.getMessage());}
} }
......
...@@ -189,12 +189,6 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport ...@@ -189,12 +189,6 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport
listDate.add(String.valueOf(i)); listDate.add(String.valueOf(i));
} }
{
xmlData.append("</country_code>");
// end of changes
System.out.println("select Final initGeoLocation inside in EJB ===" + geoLoc + "selected initUnitForm inside in java ==" + unitForm + "length of List ====" + listDate.size() + "AND Value of ===" + listDate); System.out.println("select Final initGeoLocation inside in EJB ===" + geoLoc + "selected initUnitForm inside in java ==" + unitForm + "length of List ====" + listDate.size() + "AND Value of ===" + listDate);
// sql_changesbySahul on data-130215 = "select geo_loc, unit__form,to_char (tran_date,'DD') as tran_date, day_quantity, pyr_cumqty, " + "cum_budqty , sum(day_quantity) over (partition by geo_loc, unit__form order by tran_date) " + "as cur_cumqty from ( select s.GEO_LOC,p.tran_date, t.unit__form, " + "sum(fn_qty_form(p.item_code,p.unit,t.unit__form,i.phy_attrib_6, p.quantity)) " + "as day_quantity, fn_get_pyr_cumqty( to_date(add_months(p.tran_date,-12)),s.geo_loc,t.unit__form ) " + "as pyr_cumqty, fn_get_budgetqty(p.tran_date,s.GEO_LOC,t.unit__form ) " + "as cum_budqty from dwh_production_day_events p, item i, item_type t, " + "site s where p.site_code = s.site_code and p.item_code = i.item_code " + "and i.item_type = t.item_type and p.tran_date >= ? " + "and p.tran_date <= ? " + "and p.ref_type = (case when t.item_type in('AMPOULES','BOTTLES','DROPS','INHALER','POWDER','POUCH','SUSPENSION','TUBE','VIALS','GRANULES') then 'P' when t.item_type in('CAPSULES','TABLETS',' SOFTGELCAP') then 'P' else '' end ) " + "and p.ref_ser = 'W-RCP' and s.geo_loc in(" + geoLoc + ") " + "and t.unit__form in(" + unitForm + ") group by s.GEO_LOC, p.tran_date, t.unit__form ) " + "order by geo_loc, unit__form,tran_date"; // sql_changesbySahul on data-130215 = "select geo_loc, unit__form,to_char (tran_date,'DD') as tran_date, day_quantity, pyr_cumqty, " + "cum_budqty , sum(day_quantity) over (partition by geo_loc, unit__form order by tran_date) " + "as cur_cumqty from ( select s.GEO_LOC,p.tran_date, t.unit__form, " + "sum(fn_qty_form(p.item_code,p.unit,t.unit__form,i.phy_attrib_6, p.quantity)) " + "as day_quantity, fn_get_pyr_cumqty( to_date(add_months(p.tran_date,-12)),s.geo_loc,t.unit__form ) " + "as pyr_cumqty, fn_get_budgetqty(p.tran_date,s.GEO_LOC,t.unit__form ) " + "as cum_budqty from dwh_production_day_events p, item i, item_type t, " + "site s where p.site_code = s.site_code and p.item_code = i.item_code " + "and i.item_type = t.item_type and p.tran_date >= ? " + "and p.tran_date <= ? " + "and p.ref_type = (case when t.item_type in('AMPOULES','BOTTLES','DROPS','INHALER','POWDER','POUCH','SUSPENSION','TUBE','VIALS','GRANULES') then 'P' when t.item_type in('CAPSULES','TABLETS',' SOFTGELCAP') then 'P' else '' end ) " + "and p.ref_ser = 'W-RCP' and s.geo_loc in(" + geoLoc + ") " + "and t.unit__form in(" + unitForm + ") group by s.GEO_LOC, p.tran_date, t.unit__form ) " + "order by geo_loc, unit__form,tran_date";
sql = "select geo_loc, unit__form,to_char (tran_date,'DD') as tran_date, day_quantity, pyr_cumqty, " + "cum_budqty , sum(day_quantity) over (partition by geo_loc, unit__form order by tran_date) " + "as cur_cumqty from ( select s.GEO_LOC,p.tran_date, t.unit__form, " + "sum(fn_qty_form(p.item_code,p.unit,t.unit__form,i.phy_attrib_6, p.quantity)) " + "as day_quantity, fn_get_pyr_cumqty( to_date(add_months(p.tran_date,-12)),s.geo_loc,t.unit__form ) " + "as pyr_cumqty, fn_get_budgetqty(p.tran_date,s.GEO_LOC,t.unit__form ) " + "as cum_budqty from dwh_production_day_events p, item i, item_type t, " + "site s where p.site_code = s.site_code and p.item_code = i.item_code " + "and i.item_type = t.item_type and p.tran_date >= ? " + "and p.tran_date <= ? " + "and p.ref_type = (case when t.item_type in (select trim(item_type) from item_type where unit__form is not null) then 'P' when t.item_type in (select trim(item_type) from item_type where unit__form is not null) then 'P' else '' end ) " + "and p.ref_ser = 'W-RCP' and s.geo_loc in(" + geoLoc + ") " + "and t.unit__form in(" + unitForm + ") group by s.GEO_LOC, p.tran_date, t.unit__form ) " + "order by geo_loc, unit__form,tran_date"; sql = "select geo_loc, unit__form,to_char (tran_date,'DD') as tran_date, day_quantity, pyr_cumqty, " + "cum_budqty , sum(day_quantity) over (partition by geo_loc, unit__form order by tran_date) " + "as cur_cumqty from ( select s.GEO_LOC,p.tran_date, t.unit__form, " + "sum(fn_qty_form(p.item_code,p.unit,t.unit__form,i.phy_attrib_6, p.quantity)) " + "as day_quantity, fn_get_pyr_cumqty( to_date(add_months(p.tran_date,-12)),s.geo_loc,t.unit__form ) " + "as pyr_cumqty, fn_get_budgetqty(p.tran_date,s.GEO_LOC,t.unit__form ) " + "as cum_budqty from dwh_production_day_events p, item i, item_type t, " + "site s where p.site_code = s.site_code and p.item_code = i.item_code " + "and i.item_type = t.item_type and p.tran_date >= ? " + "and p.tran_date <= ? " + "and p.ref_type = (case when t.item_type in (select trim(item_type) from item_type where unit__form is not null) then 'P' when t.item_type in (select trim(item_type) from item_type where unit__form is not null) then 'P' else '' end ) " + "and p.ref_ser = 'W-RCP' and s.geo_loc in(" + geoLoc + ") " + "and t.unit__form in(" + unitForm + ") group by s.GEO_LOC, p.tran_date, t.unit__form ) " + "order by geo_loc, unit__form,tran_date";
...@@ -294,9 +288,7 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport ...@@ -294,9 +288,7 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport
pstmt1 = null; pstmt1 = null;
rs1.close(); rs1.close();
rs1 = null; rs1 = null;
// End here decr pupose for Unit_form and geo_location // End here decr pupose for Unit_form and geo_location
cntFrBudget = 0; cntFrBudget = 0;
xmlData.append("<geo_loc location=\"" + geoLocation + "\" glocdescr =\"" + geol_Descr + "\" >"); xmlData.append("<geo_loc location=\"" + geoLocation + "\" glocdescr =\"" + geol_Descr + "\" >");
xmlData.append("<unit_form unit=\"" + checkNull(rs.getString("unit__form")) + "\" unitdescr =\"" + unit_Descr + "\">"); xmlData.append("<unit_form unit=\"" + checkNull(rs.getString("unit__form")) + "\" unitdescr =\"" + unit_Descr + "\">");
...@@ -409,8 +401,7 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport ...@@ -409,8 +401,7 @@ public class BSRTransferReport extends ValidatorEJB implements BSRTransferReport
xmlData.append("</unit_form>"); xmlData.append("</unit_form>");
xmlData.append("</geo_loc>"); xmlData.append("</geo_loc>");
} }
xmlData.append("</country_code>");
}
xmlData.append("</Detail>"); xmlData.append("</Detail>");
xmlData.append("</Root>"); xmlData.append("</Root>");
......
package ibase.dashboard.mfg.ejb; package ibase.dashboard.mfg.ejb;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.EMail;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility; import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
/** /**
* Session Bean implementation class SalesPersonSales * Session Bean implementation class SalesPersonSales
*/ */
...@@ -53,27 +68,36 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -53,27 +68,36 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.parseInt(selectedYear)); calendar.set(Calendar.YEAR, Integer.parseInt(selectedYear));
calendar.add(Calendar.YEAR,-1); calendar.add(Calendar.YEAR,-1);
String preMonth =""+ ( calendar.get(Calendar.YEAR)+""+selectedMonth); String preMonth =""+ (calendar.get(Calendar.YEAR)+""+selectedMonth);
System.out.println("month and prev month in getHalolMFGReleaseBatches ==="+month +"---"+preMonth); System.out.println("month and prev month in getHalolMFGReleaseBatches ==="+month +"---"+preMonth);
preMonth=month; preMonth=month;
String curntYear=""+Calendar.getInstance().get(Calendar.YEAR)+""+((Calendar.MONTH)+1); String curntYear=""+Calendar.getInstance().get(Calendar.YEAR)+""+((Calendar.MONTH)+1);
month=curntYear; month=curntYear;
sql_forprd = " SELECT C.BATCHES_DISPATCHED AS ACTUAL_BATCHES_RELEASED, D.PENDING_BATCHES AS PENDING_BATCHES, E.TBD_BATCHES AS TBD_BATCHES, C.CODE FROM (SELECT COUNT(BATCH_NO) AS BATCHES_DISPATCHED, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' "
sql_forprd = " SELECT DISTINCT CODE, SUM(ACTUAL_BATCHES_RELEASED) AS ACTUAL_BATCHES_RELEASED, SUM(PENDING_BATCHES) AS PENDING_BATCHES, SUM(TBD_BATCHES) AS TBD_BATCHES FROM ( "
+" SELECT COUNT(BATCH_NO) AS ACTUAL_BATCHES_RELEASED, 0 AS PENDING_BATCHES, 0 AS TBD_BATCHES, ACCTPRD.CODE AS CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"' ) ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND rel_status = 'Released' GROUP BY 0, 0, ACCTPRD.CODE "
+" UNION "
+" SELECT 0 AS ACTUAL_BATCHES_RELEASED, COUNT(BATCH_NO) AS PENDING_BATCHES, 0 AS TBD_BATCHES, ACCTPRD.CODE AS CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"' ) ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND rel_status = 'Not Released' GROUP BY 0, 0, ACCTPRD.CODE "
+" UNION "
+" SELECT 0 AS ACTUAL_BATCHES_RELEASED, 0 AS PENDING_BATCHES, COUNT(BATCH_NO) AS TBD_BATCHES, ACCTPRD.CODE AS CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"' ) ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND rel_status = 'In METIS Not in LIMS' GROUP BY 0, 0, ACCTPRD.CODE ) GROUP BY CODE ORDER BY CODE ";
/* sql_forprd = " SELECT C.BATCHES_DISPATCHED AS ACTUAL_BATCHES_RELEASED, D.PENDING_BATCHES AS PENDING_BATCHES, E.TBD_BATCHES AS TBD_BATCHES, C.CODE FROM (SELECT COUNT(BATCH_NO) AS BATCHES_DISPATCHED, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' "
+" AND rel_status = 'Released' GROUP BY CODE) C, (SELECT COUNT(BATCH_NO) AS PENDING_BATCHES, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND rel_status = 'Not Released' GROUP BY CODE) D , " +" AND rel_status = 'Released' GROUP BY CODE) C, (SELECT COUNT(BATCH_NO) AS PENDING_BATCHES, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND rel_status = 'Not Released' GROUP BY CODE) D , "
+" (SELECT COUNT(BATCH_NO) AS TBD_BATCHES, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND BATCH_NO IS NOT NULL AND REL_STATUS = 'In METIS Not in LIMS' GROUP BY CODE) E" +" (SELECT COUNT(BATCH_NO) AS TBD_BATCHES, CODE FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE BETWEEN '"+preMonth+"' AND '"+month+"') ACCTPRD WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND site_code = '"+geoLoc+"' AND BATCH_NO IS NOT NULL AND REL_STATUS = 'In METIS Not in LIMS' GROUP BY CODE) E"
+" WHERE C.CODE = D.CODE(+) AND C.CODE = E.CODE(+) ORDER BY C.CODE " ; +" WHERE C.CODE = D.CODE(+) AND C.CODE = E.CODE(+) ORDER BY C.CODE " ; */
pstmt = conn.prepareStatement(sql_forprd); pstmt = conn.prepareStatement(sql_forprd);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while (rs.next()) while (rs.next())
{ {
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("prd_code", convertPrdToMonth(rs.getString("CODE"))); rowData.put("prd_code", convertPrdToMonth(rs.getString("CODE")));
rowData.put("tbd_batches", rs.getString("TBD_BATCHES")); rowData.put("tbd_batches", checkZero(rs.getString("TBD_BATCHES")));
rowData.put("actual_batches_released", rs.getString("ACTUAL_BATCHES_RELEASED")); rowData.put("actual_batches_released", checkZero(rs.getString("ACTUAL_BATCHES_RELEASED")));
rowData.put("pending_batches", rs.getString("PENDING_BATCHES")); rowData.put("pending_batches", checkZero(rs.getString("PENDING_BATCHES")));
rawDataMthlySalesJson.put(count, rowData); rawDataMthlySalesJson.put(count, rowData);
count++; count++;
...@@ -155,7 +179,7 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -155,7 +179,7 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
//Over Due start for graph //Over Due start for graph
OverDueSql = " SELECT COUNT(BATCH_NO) AS OVERDUE_BATCHES FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE < SYSDATE AND rel_status = 'Not Released' "; OverDueSql = " SELECT COUNT(BATCH_NO) AS OVERDUE_BATCHES FROM MFG_RELEASE3 WHERE site_code = '"+geoLoc+"' AND WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE < SYSDATE AND rel_status = 'Not Released' ";
pstmt = conn.prepareStatement(OverDueSql); pstmt = conn.prepareStatement(OverDueSql);
rs= pstmt.executeQuery(); rs= pstmt.executeQuery();
if ( rs.next()) if ( rs.next())
...@@ -169,9 +193,9 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -169,9 +193,9 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
rs.close(); rs.close();
rs=null; rs=null;
//End of Over Due of Graph //End of Over Due of Graph
sql_forforcastweek = " SELECT COUNT(BATCH_NO) AS PENDING_BATCHES , WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'Not Released' GROUP BY WEEK_NO_OF_THE_YEAR" sql_forforcastweek = " SELECT COUNT(BATCH_NO) AS PENDING_BATCHES , WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE site_code = '"+geoLoc+"' AND WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'Not Released' GROUP BY WEEK_NO_OF_THE_YEAR"
+" UNION " +" UNION "
+" SELECT COUNT(BATCH_NO) AS PENDING_BATCHES, WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'In LIMS Not in Metis' GROUP BY WEEK_NO_OF_THE_YEAR ORDER BY WEEK_NO_OF_THE_YEAR "; +" SELECT COUNT(BATCH_NO) AS PENDING_BATCHES, WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE site_code = '"+geoLoc+"' AND WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'In LIMS Not in Metis' GROUP BY WEEK_NO_OF_THE_YEAR ORDER BY WEEK_NO_OF_THE_YEAR ";
pstmt = conn.prepareStatement(sql_forforcastweek); pstmt = conn.prepareStatement(sql_forforcastweek);
...@@ -293,14 +317,13 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -293,14 +317,13 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
if(periodCode!=null && periodCode.trim().length()==8 && geoLoc!=null && geoLoc.trim().length()>0) if(periodCode!=null && periodCode.trim().length()==8 && geoLoc!=null && geoLoc.trim().length()>0)
{ {
System.out.println("month=="+periodCode);
periodCode =convertMonthToPrd(periodCode); periodCode =convertMonthToPrd(periodCode);
System.out.println("month after conversion for year=="+periodCode); System.out.println("month after conversion for year=="+periodCode);
sql = "select MFG_RELEASE3.SITE_CODE AS SITE_CODE, MFG_RELEASE3.ITEM_CODE AS ITEM_CODE, MFG_RELEASE3.BATCH_NO AS BATCH_NO, MFG_RELEASE3.QUANTITY AS QUANTITY, MFG_RELEASE3.RELEASE_DATE AS RELEASE_DATE_DRJ, MFG_RELEASE3.ENTER_PLAN_DATE AS ENTER_PLAN_DATE_DRJ , MFG_RELEASE3.QC_RELEASE_DATE AS QC_RELEASE_DATE_DRJ " sql = "select MFG_RELEASE3.SITE_CODE AS SITE_CODE, MFG_RELEASE3.ITEM_CODE AS ITEM_CODE, MFG_RELEASE3.BATCH_NO AS BATCH_NO, MFG_RELEASE3.QUANTITY AS QUANTITY, MFG_RELEASE3.RELEASE_DATE AS RELEASE_DATE_DRJ, MFG_RELEASE3.ENTER_PLAN_DATE AS ENTER_PLAN_DATE_DRJ , MFG_RELEASE3.QC_RELEASE_DATE AS QC_RELEASE_DATE_DRJ "
+" FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE = '"+periodCode+"') ACCTPRD " +" FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE = '"+periodCode+"') ACCTPRD "
+" WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' "; +" WHERE MFG_RELEASE3.release_date >= ACCTPRD.FR_DATE AND MFG_RELEASE3.release_date <= ACCTPRD.TO_DATE AND MFG_RELEASE3.SITE_CODE = '"+geoLoc+"' AND MFG_RELEASE3.rel_status = 'Not Released' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -595,44 +618,34 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -595,44 +618,34 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
rs.close(); rs.close();
rs=null; rs=null;
sql ="SELECT SUM(BATCHES) AS WEEKCOUNT FROM ( SELECT COUNT(BATCH_NO) AS BATCHES FROM MFG_RELEASE3 WHERE SITE_CODE = '"+geoLoc+"' and WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE < SYSDATE AND rel_status = 'Not Released' UNION ALL SELECT SUM(PENDING_BATCHES) AS BATCHES FROM (SELECT COUNT(BATCH_NO) AS PENDING_BATCHES , WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE SITE_CODE = '"+geoLoc+"' and WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'Not Released' GROUP BY WEEK_NO_OF_THE_YEAR) )";
sql ="SELECT SUM(BATCHES) AS WEEKCOUNT FROM ( SELECT COUNT(BATCH_NO) AS BATCHES FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE < SYSDATE AND rel_status = 'Not Released' UNION ALL SELECT SUM(PENDING_BATCHES) AS BATCHES FROM (SELECT COUNT(BATCH_NO) AS PENDING_BATCHES , WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'Not Released' GROUP BY WEEK_NO_OF_THE_YEAR) )";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count=0; int count=0;
while (rs.next()) while (rs.next())
{ {
/*rowData = new JSONObject();
sumOfWeek = rs.getInt("WEEKCOUNT"); sumOfWeek = rs.getInt("WEEKCOUNT");
System.out.println("sumOfWeek------->"+sumOfWeek); grandTotal = tbdTotal + sumOfWeek;
rowData.put("weekTotal", ""+sumOfWeek);
rowData.put("tbdTotal", tbdTotal);
System.out.println("tbdTotal------->"+tbdTotal);
grandTotal = tbdTotal + sumOfWeek;
System.out.println("grandTotal------->"+grandTotal);
rowData.put("grandTotal", ""+grandTotal);
rawDataSummaryGrid.put(count, rowData);
count++;*/
sumOfWeek = rs.getInt("WEEKCOUNT");
grandTotal = tbdTotal + sumOfWeek;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "Not Released"); rowData.put("label", "Not Released");
rowData.put("value", ""+sumOfWeek); rowData.put("value", ""+sumOfWeek);
rowData.put("color", "#FF0000"); rowData.put("color", "FF0000");
// rowData.put("color", "");
rawDataSummaryGrid.put(count, rowData); rawDataSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "In METIS Not in LIMS"); rowData.put("label", "In METIS Not in LIMS");
rowData.put("value", ""+tbdTotal); rowData.put("value", ""+tbdTotal);
rowData.put("color", "#ffff00"); rowData.put("color", "ffff00");
// rowData.put("color", "");
rawDataSummaryGrid.put(count, rowData); rawDataSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "Grand Total"); rowData.put("label", "Grand Total");
rowData.put("value", ""+grandTotal); rowData.put("value", ""+grandTotal);
rowData.put("color", "#FF8040"); rowData.put("color", "FF8040");
//rowData.put("color", " ");
rawDataSummaryGrid.put(count, rowData); rawDataSummaryGrid.put(count, rowData);
count++; count++;
...@@ -640,9 +653,6 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -640,9 +653,6 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
} }
System.out.println("final rawjson data inside HalolMFGRelease-getSummaryGrid====" + rawDataSummaryGrid.toString()); System.out.println("final rawjson data inside HalolMFGRelease-getSummaryGrid====" + rawDataSummaryGrid.toString());
} catch (Exception e) } catch (Exception e)
...@@ -728,7 +738,7 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -728,7 +738,7 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
System.out.println("periodCode in tbd batches----->"+periodCode); System.out.println("periodCode in tbd batches----->"+periodCode);
sql = "SELECT MFG_RELEASE3.SITE_CODE AS SITE_CODE, MFG_RELEASE3.ITEM_CODE AS ITEM_CODE, MFG_RELEASE3.BATCH_NO AS BATCH_NO, MFG_RELEASE3.QUANTITY AS QUANTITY, MFG_RELEASE3.RELEASE_DATE AS RELEASE_DATE_DRJ, MFG_RELEASE3.ENTER_PLAN_DATE AS ENTER_PLAN_DATE_DRJ , MFG_RELEASE3.QC_RELEASE_DATE AS QC_RELEASE_DATE_DRJ " sql = "SELECT MFG_RELEASE3.SITE_CODE AS SITE_CODE, MFG_RELEASE3.ITEM_CODE AS ITEM_CODE, MFG_RELEASE3.BATCH_NO AS BATCH_NO, MFG_RELEASE3.QUANTITY AS QUANTITY, MFG_RELEASE3.RELEASE_DATE AS RELEASE_DATE_DRJ, MFG_RELEASE3.ENTER_PLAN_DATE AS ENTER_PLAN_DATE_DRJ , MFG_RELEASE3.QC_RELEASE_DATE AS QC_RELEASE_DATE_DRJ "
+" FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE = '"+periodCode+"') ACCTPRD " +" FROM MFG_RELEASE3,(SELECT CODE,FR_DATE,TO_DATE FROM PERIOD WHERE CODE = '"+periodCode+"') ACCTPRD "
+" WHERE release_date >= ACCTPRD.FR_DATE AND release_date <= ACCTPRD.TO_DATE AND SITE_CODE = '"+geoLoc+"' AND BATCH_NO IS NOT NULL AND REL_STATUS = 'In METIS Not in LIMS' "; +" WHERE MFG_RELEASE3.release_date >= ACCTPRD.FR_DATE AND MFG_RELEASE3.release_date <= ACCTPRD.TO_DATE AND MFG_RELEASE3.SITE_CODE = '"+geoLoc+"' AND MFG_RELEASE3.BATCH_NO IS NOT NULL AND MFG_RELEASE3.REL_STATUS = 'In METIS Not in LIMS' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
...@@ -810,8 +820,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -810,8 +820,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
sql = "select COUNT(BATCH_NO) AS OOS_BATCHES " sql = "select COUNT(BATCH_NO) AS OOS_BATCHES "
+" FROM MFG_RELEASE4 " +" FROM MFG_RELEASE3 "
+" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE4.LAB_ESTIMATED_REASON_DESCR) = 'OOS' "; +" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE3.LAB_ESTIMATED_REASON_DESCR) = 'OOS' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs= pstmt.executeQuery(); rs= pstmt.executeQuery();
...@@ -824,12 +834,9 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -824,12 +834,9 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
pstmt=null; pstmt=null;
rs.close(); rs.close();
rs=null; rs=null;
sql = "select COUNT(BATCH_NO) AS OOT_BATCHES " sql = "select COUNT(BATCH_NO) AS OOT_BATCHES "
+" FROM MFG_RELEASE4 " +" FROM MFG_RELEASE3 "
+" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE4.LAB_ESTIMATED_REASON_DESCR) = 'OOT' "; +" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE3.LAB_ESTIMATED_REASON_DESCR) = 'OOT' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs= pstmt.executeQuery(); rs= pstmt.executeQuery();
...@@ -845,8 +852,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -845,8 +852,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
sql = "select COUNT(BATCH_NO) AS LAB_BATCHES " sql = "select COUNT(BATCH_NO) AS LAB_BATCHES "
+" FROM MFG_RELEASE4 " +" FROM MFG_RELEASE3 "
+" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE4.LAB_ESTIMATED_REASON_DESCR) = 'LAB EVENTS' "; +" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE3.LAB_ESTIMATED_REASON_DESCR) = 'LAB EVENTS' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs= pstmt.executeQuery(); rs= pstmt.executeQuery();
...@@ -862,8 +869,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -862,8 +869,8 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
sql = "select COUNT(BATCH_NO) AS OTHERS_BATCHES " sql = "select COUNT(BATCH_NO) AS OTHERS_BATCHES "
+" FROM MFG_RELEASE4 " +" FROM MFG_RELEASE3 "
+" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE4.LAB_ESTIMATED_REASON_DESCR) = 'OTHERS' "; +" WHERE SITE_CODE = '"+geoLoc+"' AND rel_status = 'Not Released' AND TRIM(MFG_RELEASE3.LAB_ESTIMATED_REASON_DESCR) = 'OTHERS' ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs= pstmt.executeQuery(); rs= pstmt.executeQuery();
...@@ -879,93 +886,50 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -879,93 +886,50 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
totalProblmBatch = oosBatch+ootBatch+labEvent+others; totalProblmBatch = oosBatch+ootBatch+labEvent+others;
System.out.println("totalProblmBatch ---------->"+totalProblmBatch); System.out.println("totalProblmBatch ---------->"+totalProblmBatch);
/*rowData = new JSONObject();
rowData.put("label", "Summary Of Problematic Unreleased Batches");
rowData.put("value", "0");
rowData.put("color", "#FF8040");
rawDataUnreleasedSummaryGrid.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("label", "QC Lab Problem Indication");
rowData.put("value", "0");
rowData.put("color", "#FF8040");
rawDataUnreleasedSummaryGrid.put(count, rowData);
count++;*/
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "OOS"); rowData.put("label", "OOS");
rowData.put("value", ""+oosBatch); rowData.put("value", ""+oosBatch);
rowData.put("color", "#FF8040"); // rowData.put("color", "#FF8040");
rowData.put("color", " ");
rawDataUnreleasedSummaryGrid.put(count, rowData); rawDataUnreleasedSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "OOT"); rowData.put("label", "OOT");
rowData.put("value", ""+ootBatch); rowData.put("value", ""+ootBatch);
rowData.put("color", "#FF8040"); //rowData.put("color", "#FF8040");
rowData.put("color", " ");
rawDataUnreleasedSummaryGrid.put(count, rowData); rawDataUnreleasedSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "LAB EVENTS"); rowData.put("label", "LAB EVENTS");
rowData.put("value", ""+labEvent); rowData.put("value", ""+labEvent);
rowData.put("color", "#FF8040"); // rowData.put("color", "#FF8040");
rowData.put("color", " ");
rawDataUnreleasedSummaryGrid.put(count, rowData); rawDataUnreleasedSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "OTHERS"); rowData.put("label", "OTHERS");
rowData.put("value", ""+others); rowData.put("value", ""+others);
rowData.put("color", "#FF8040"); //rowData.put("color", "#FF8040");
rowData.put("color", " ");
rawDataUnreleasedSummaryGrid.put(count, rowData); rawDataUnreleasedSummaryGrid.put(count, rowData);
count++; count++;
rowData = new JSONObject(); rowData = new JSONObject();
rowData.put("label", "Total Problematic Batches"); rowData.put("label", "Total Problematic Batches");
rowData.put("value", ""+totalProblmBatch); rowData.put("value", ""+totalProblmBatch);
rowData.put("color", "#FF8040"); //rowData.put("color", "#FF8040");
rowData.put("color", " ");
rawDataUnreleasedSummaryGrid.put(count, rowData); rawDataUnreleasedSummaryGrid.put(count, rowData);
count++; count++;
/*sql ="SELECT SUM(BATCHES) AS WEEKCOUNT FROM ( SELECT COUNT(BATCH_NO) AS BATCHES FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE < SYSDATE AND rel_status = 'Not Released' UNION ALL SELECT SUM(PENDING_BATCHES) AS BATCHES FROM (SELECT COUNT(BATCH_NO) AS PENDING_BATCHES , WEEK_NO_OF_THE_YEAR FROM MFG_RELEASE3 WHERE WEEK_NO_OF_THE_YEAR IS NOT NULL AND ENTER_PLAN_DATE >= SYSDATE AND rel_status = 'Not Released' GROUP BY WEEK_NO_OF_THE_YEAR) )";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int count=0;
while (rs.next())
{
sumOfWeek = rs.getInt("WEEKCOUNT");
grandTotal = tbdTotal + sumOfWeek;
rowData = new JSONObject();
rowData.put("label", "Not Released");
rowData.put("value", ""+sumOfWeek);
rowData.put("color", "#FF0000");
rawDataUnreleasedSummaryGrid.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("label", "In METIS Not in LIMS");
rowData.put("value", ""+tbdTotal);
rowData.put("color", "#ffff00");
rawDataUnreleasedSummaryGrid.put(count, rowData);
count++;
rowData = new JSONObject();
rowData.put("label", "Grand Total");
rowData.put("value", ""+grandTotal);
rowData.put("color", "#FF8040");
rawDataUnreleasedSummaryGrid.put(count, rowData);
count++;
}*/
} }
System.out.println("final rawjson data inside HalolMFGRelease-getUnreleasedSummaryGrid====" + rawDataUnreleasedSummaryGrid.toString()); System.out.println("final rawjson data inside HalolMFGRelease-getUnreleasedSummaryGrid====" + rawDataUnreleasedSummaryGrid.toString());
} catch (Exception e) } catch (Exception e)
...@@ -998,16 +962,279 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -998,16 +962,279 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
return rawDataUnreleasedSummaryGrid; return rawDataUnreleasedSummaryGrid;
} }
//4. /* End this method by Dhanendra on date 30Mar2015*/ //4. /* End this method by Dhanendra on date 30Mar2015*/
/*Start- this method add for generatePDF on 6Apr2015*/
public String getPDFByScheduler(String rptTitle, String remark, String userID, String imgName) throws RemoteException, ITMException
{
System.out.println("In HalolMFGRelease EJB.getPDFByScheduler Method ");
PdfWriter writer = null;
OutputStream file = null;
Document document = null;
ConnDriver connDriver = new ConnDriver();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<String> mailInfo=null;
String imageName = null;
Image image = null;
File attachFile = null;
String imgFilePath =null;
File existImgFile =null;
String pdfFileName =null;
String toMailId ="";
String ccMailId ="";
String bccAddress ="";
String subject ="";
String userWiseBodytext="";
String resultFlage ="false";
String exportPDFPath ="";
String exportImagePath = "";
String imgNameArray[] = null;
SimpleDateFormat simpleDateFormat = null;
Calendar calendar = null;
String currDate = "";
int prntTblNo =2;
PdfPTable parentTable=null;
Paragraph preface = null;
System.out.print("Calling for PDF created step1");
try
{
//START CODE FOR WINDOWS
//exportPDFPath ="C://jboss-5.1.0.GA//server//default//deploy//ibase.ear//ibase.war//dashboard//mfg//Scheduler//ExportExample//ExportPDF//";
//exportImagePath ="C://jboss-5.1.0.GA//server//default//deploy//ibase.ear//ibase.war//dashboard//mfg//Scheduler//ExportExample//ExportImages//";
//END CODE FOR WINDOWS
//START CODE FOR LINUX
// exportPDFPath = CommonConstants.APPLICATION_CONTEXT + "dashboard" + File.separator + "mfg"+ File.separator + "Scheduler"+File.separator +"ExportExample"+ File.separator + "ExportPDF"+File.separator;
exportPDFPath = CommonConstants.JBOSSHOME + File.separator +"server"+File.separator +"default"+File.separator +"deploy"+File.separator +"ibase.ear"+File.separator + "ibase.war" +File.separator + "dashboard" + File.separator + "mfg"+ File.separator + "Scheduler"+File.separator +"ExportExample"+ File.separator + "ExportPDF"+File.separator;
exportImagePath = CommonConstants.JBOSSHOME + File.separator +"server"+File.separator +"default"+File.separator +"deploy"+File.separator +"ibase.ear"+File.separator + "ibase.war" +File.separator + "dashboard" + File.separator + "mfg"+ File.separator + "Scheduler"+File.separator +"ExportExample"+ File.separator + "ExportImages"+File.separator;
//END CODE FOR LINUX
System.out.println("exportPDFPath----->"+exportPDFPath);
simpleDateFormat = new SimpleDateFormat("dd-MMM-yy");
calendar = Calendar.getInstance();
currDate = simpleDateFormat.format(calendar.getTime());
document = new Document();
rptTitle = rptTitle+"-"+currDate;
pdfFileName = exportPDFPath+rptTitle+"-"+userID+".pdf";
System.out.println("modify PDF file name "+ pdfFileName+"current date formate==="+currDate);
file = new FileOutputStream(new File(pdfFileName));
writer = PdfWriter.getInstance(document, file);
document.open();
preface = new Paragraph();
preface.setAlignment(Element.ALIGN_CENTER);
preface.add(new Paragraph(rptTitle, FontFactory.getFont(FontFactory.TIMES_ROMAN, 15)));
preface.add(new Paragraph(" "));
document.add(preface);
imgNameArray = imgName.split(",");
for(int size=0;size<prntTblNo;size++)
{
System.out.println("imageName =="+imageName);
if(size==0)
{
imageName= imgNameArray[size];
parentTable = new PdfPTable(1);
imgFilePath = exportImagePath+imageName+".png";
image = Image.getInstance(imgFilePath);
parentTable.addCell(image);
existImgFile= new File(imgFilePath);
if(existImgFile.exists())
{
existImgFile.delete();
System.out.println("Image Deleted after status **First*****"+imgFilePath );
}
parentTable.setWidthPercentage(100);
}else
{
parentTable = new PdfPTable(2);
for(int childTblCnt = 1; childTblCnt<imgNameArray.length;childTblCnt++)
{
imageName= imgNameArray[childTblCnt];
imgFilePath = exportImagePath+imageName+".png";
image = Image.getInstance(imgFilePath);
System.out.println("Image name with image path =="+imageName+"--------imgFilePath=="+imgFilePath);
PdfPTable table=new PdfPTable(1);
PdfPTable gridTbl=new PdfPTable(2);
PdfPTable imgTbl=new PdfPTable(1);
imgTbl.addCell(image);
existImgFile= new File(imgFilePath);
PdfPCell cell = null;
if(childTblCnt==1)
{
cell = new PdfPCell (new Paragraph ("Summary Of Problematic Unreleased Batches",FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
}else{
cell = new PdfPCell (new Paragraph ("Final Summary Of Total Batches",FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
}
cell.setColspan (2);
cell.setHorizontalAlignment (Element.ALIGN_CENTER);
cell.setPadding (10.0f);
gridTbl.addCell (cell);
if(childTblCnt==1)
{
cell = new PdfPCell (new Paragraph ("QC Lab Problem Indication",FontFactory.getFont(FontFactory.TIMES_ROMAN, 8)));
}else{
cell = new PdfPCell (new Paragraph ("Category Type",FontFactory.getFont(FontFactory.TIMES_ROMAN, 8)));
}
cell.setHorizontalAlignment (Element.ALIGN_CENTER);
cell.setPadding (10.0f);
gridTbl.addCell (cell);
if(childTblCnt==1)
{
cell = new PdfPCell (new Paragraph ("Number Of Batches",FontFactory.getFont(FontFactory.TIMES_ROMAN, 8)));
}else{
cell = new PdfPCell (new Paragraph ("Number Of Batches",FontFactory.getFont(FontFactory.TIMES_ROMAN, 8)));
}
cell.setHorizontalAlignment (Element.ALIGN_CENTER);
cell.setPadding (10.0f);
gridTbl.addCell (cell);
cell = new PdfPCell(gridTbl);
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(imgTbl);
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(table);
cell.setBorder(Rectangle.NO_BORDER);
parentTable.addCell(cell);
if(existImgFile.exists())
{
existImgFile.delete();
System.out.println("Image Deleted after status **Second*****"+imgFilePath );
}
}
parentTable.setWidthPercentage(90);
}
document.add(parentTable);
preface = new Paragraph();
preface.add(new Paragraph(" "));
document.add(preface);
if(size==0)
{
preface = new Paragraph();
preface.add(new Paragraph("Remark: "+remark, FontFactory.getFont(FontFactory.TIMES_ROMAN, 8)));
preface.add(new Paragraph(" "));
document.add(preface);
}
}
document.close();
file.close();
System.out.println("PDF Created succesfully");
conn = connDriver.getConnectDB("DriverITM");
connDriver =null;
toMailId ="";
ccMailId ="";
bccAddress ="";
subject =rptTitle;
userWiseBodytext ="Dear Sir, Please find attached herewith is the Daily Output:"+rptTitle+" Report in PDF format.";
String sql = "select name,user_type,email_id FROM users WHERE code='"+userID+"'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
toMailId = checkNull(rs.getString("email_id"));
System.out.println("No of Users for HalolMFGRelease.getPDFByScheduler ="+userID +"AND According to the Email ID======="+toMailId);
}
pstmt.close();
pstmt = null;
conn.close();
conn = null;
rs.close();
rs = null;
System.out.println("Export Pdf path for HalolMFGRelease.getPDFByScheduler ="+pdfFileName);
attachFile = new File(pdfFileName);
if(attachFile.exists() && attachFile.length()>0)
{
mailInfo =new ArrayList<String>();
mailInfo.add(toMailId);
mailInfo.add(ccMailId);
mailInfo.add(bccAddress);
mailInfo.add(subject);
mailInfo.add(userWiseBodytext);
mailInfo.add(attachFile.getPath());
this.sendingMail(mailInfo);
resultFlage="true";
}
System.out.println("*sending mail done succesfully for HalolMFGRelease.getPDFByScheduler*");
} catch (Exception e)
{
System.out.println("Exception :HalolMFGRelease :getPDFByScheduler(HashMap<String, List<String>>,String,String,String,String"+e.getMessage());
e.printStackTrace();
}
finally
{
try
{
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
} catch (Exception e)
{
e.printStackTrace();
}
}
return resultFlage;
}
public void sendingMail(ArrayList<String> mailInfo)
{
StringBuffer commInfo = new StringBuffer();
commInfo.append("<ROOT>");
commInfo.append("<MAILINFO>");
commInfo.append("<EMAIL_TYPE>").append("page").append("</EMAIL_TYPE>");
commInfo.append("<TO_ADD>").append("<![CDATA[" + mailInfo.get(0) + "]]>").append("</TO_ADD>");
commInfo.append("<CC_ADD>").append("<![CDATA[" + mailInfo.get(1) + "]]>").append("</CC_ADD>");
commInfo.append("<BCC_ADD>").append("<![CDATA[" + mailInfo.get(2) + "]]>").append("</BCC_ADD>");
commInfo.append("<SUBJECT>").append("<![CDATA[" + mailInfo.get(3) + "]]>").append("</SUBJECT>");
commInfo.append("<BODY_TEXT>").append("<![CDATA[" + mailInfo.get(4) + "]]>").append("</BODY_TEXT>");
commInfo.append("<XML_DATA_FILE_PATH>").append("<![CDATA[" + mailInfo.get(5) + "]]>").append("</XML_DATA_FILE_PATH>");
commInfo.append("</MAILINFO>");
commInfo.append("</ROOT>");
EMail email = new EMail();
try
{
System.out.println(" calling sendMail method() for forHalolMFGRelease.getPDFByScheduler");
email.sendMail(commInfo.toString(), "ITM", null);
System.out.println(" ********Email send succesfully for HalolMFGRelease.getPDFByScheduler ***********");
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :HalolMFGRelease :sendMail(String ,String)" + e.getMessage());
}
email = null;
}
/*End- this method add for generatePDF on 6Apr2015*/
private String convertPrdToMonth(String code) private String convertPrdToMonth(String code)
{ {
System.out.println("code===" +code);
if(code.trim().length()>0) if(code.trim().length()>0)
{ {
String year = code.substring(0, 4); String year = code.substring(0, 4);
System.out.println("year===" +year); String month= code.substring(4, 6);
String month= code.substring(4, 6);
System.out.println("month===" +month);
if(month.equals("01")) if(month.equals("01"))
{ {
code="Jan-"+year; code="Jan-"+year;
...@@ -1127,6 +1354,20 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo ...@@ -1127,6 +1354,20 @@ public class HalolMFGRelease extends ValidatorEJB implements HalolMFGReleaseRemo
} }
} }
private String checkZero(String str)
{
if(str.equals("0"))
{
return "";
}
else
{
return str ;
}
}
} }
...@@ -17,4 +17,5 @@ public interface HalolMFGReleaseLocal extends ValidatorLocal ...@@ -17,4 +17,5 @@ public interface HalolMFGReleaseLocal extends ValidatorLocal
public JSONObject getSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public JSONObject getTBDBatch(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getTBDBatch(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public JSONObject getUnreleasedSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getUnreleasedSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public String getPDFByScheduler(String rptTitle,String remark,String userID , String imgName) throws RemoteException, ITMException;
} }
...@@ -16,5 +16,6 @@ public interface HalolMFGReleaseRemote extends ValidatorRemote ...@@ -16,5 +16,6 @@ public interface HalolMFGReleaseRemote extends ValidatorRemote
public JSONObject getSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public JSONObject getTBDBatch(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getTBDBatch(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public JSONObject getUnreleasedSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException; public JSONObject getUnreleasedSummaryGrid(String dataSourceName,String month,String geoLoc) throws RemoteException, ITMException;
public String getPDFByScheduler(String rptTitle,String remark,String userID, String imgName) throws RemoteException, ITMException;
} }
...@@ -16,6 +16,6 @@ public interface ProductionVsBudgetReportRemote extends ValidatorRemote ...@@ -16,6 +16,6 @@ public interface ProductionVsBudgetReportRemote extends ValidatorRemote
public String getGeoLoCodeXmlData() throws RemoteException, ITMException; public String getGeoLoCodeXmlData() throws RemoteException, ITMException;
public String getUnitFormXmlData() throws RemoteException, ITMException; public String getUnitFormXmlData() throws RemoteException, ITMException;
public boolean getRoleValid(String userCode, String roleCode) throws RemoteException, ITMException; public boolean getRoleValid(String userCode, String roleCode) throws RemoteException, ITMException;
public String generatePDF(HashMap<String, List<String>> hashMap ,String exportPDFPath,String exportImagePath,String preyearMonth,String rptTitle,String userID) throws RemoteException, ITMException; public String generatePDF(HashMap<String, List<String>> hashMap ,String exportPDFPath,String exportImagePath,String preyearMonth,String rptTitle,String userID) throws RemoteException, ITMException;
} }
package ibase.dashboard.mfg.servlet;
import ibase.dashboard.mfg.ejb.HalolMFGReleaseRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@SuppressWarnings("serial")
public class QCBatchExportPDFServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost( request, response );
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
String rptTitle ="";
String remark ="";
String userID ="";
String imgName = "";
String resultString ="";
HalolMFGReleaseRemote halolMFGReleaseRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
System.out.println(" ENTER - QCBatchExportPDFServlet ***********************");
try
{
response.setContentType("application/xml");
userID = request.getParameter("userID");
rptTitle = request.getParameter("rptTitle");
remark = request.getParameter("remark");
imgName = request.getParameter("imgNameList");
System.out.println("userID inside QCBatchExportPDFServlet====="+ userID +"---rptTitle----->"+rptTitle + "---remark--->"+remark);
// call EJB method for PDF creation*******************
context = new InitialContext(appConnectParm.getProperty());
halolMFGReleaseRemote = (HalolMFGReleaseRemote) context.lookup("ibase/HalolMFGRelease/remote");
resultString = halolMFGReleaseRemote.getPDFByScheduler(rptTitle,remark,userID,imgName);
response.setContentType("text/html");
if(resultString.equals("false"))
{
response.getWriter().write("false");
}
else
{
response.getWriter().write("true");
}
}
catch (Exception e)
{
System.out.println("Exception :QCBatchExportPDFServlet : QCBatchExportPDFServlet) :"+e.getMessage()); //$NON-NLS-1$
try
{
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
finally
{
userID="";
rptTitle="";
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment