Commit c3ace8f5 authored by dkasliwal's avatar dkasliwal

Added new EJB and Servlet for WIP Dashboard


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98473 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 3a86e5c8
package ibase.dashboard.mfg.ejb;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.EMail;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.Stateless;
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
*/
@Stateless
public class WIPStatus extends ValidatorEJB implements WIPStatusLocal, WIPStatusRemote
{
public WIPStatus() {
// TODO Auto-generated constructor stub
}
@SuppressWarnings("unchecked")
public JSONObject getWIPStatus(String loginId , String city, String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataWIPStatusDtlJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside WIPStatus for getWIPStatus Data Soruc Name ="+dataSourceName);
System.out.println("In getWIPStatus Method loginId :"+loginId+"-------dataSourceName :"+dataSourceName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
/*sql="SELECT z.assending, Z.city, z.no_of_days_text, z.sub_type, SUM (z.wip) wip, SUM (z.batch_cost) batch_cost " +
"FROM (SELECT a.site_code__mfg AS site_code,s.city, " +
"CASE WHEN TO_CHAR (a.wo_release_date,'YYYY') =TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') =TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND " +
"TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND " +
"TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') " +
"THEN TO_CHAR (a.wo_release_date, 'YYYY') END no_of_days_text, " +
"CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') " +
"THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END assending, " +
"a.bom_sub_type AS sub_type, COUNT (a.work_order) wip, SUM (a.actual_prod_value) AS batch_cost " +
"FROM dwh_production a, item b, SITE s WHERE a.item_code = b.item_code AND a.site_code__mfg = s.site_code " +
"AND s.city in ('"+city+"') " +
"AND (a.item_code >= '00' AND a.item_code <= 'ZZ') AND a.work_order_status = 'R' " +
"AND b.stk_opt = '2' AND a.bom_sub_type <> 'CLEANING' AND a.wo_release_date <= TRUNC (SYSDATE) " +
"GROUP BY a.site_code__mfg, CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days'" +
" WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR (a.wo_release_date, 'YYYY') END, " +
"CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END, a.bom_sub_type,s.city) z " +
"GROUP BY z.city,z.no_of_days_text, z.sub_type, z.assending " +
"ORDER BY z.assending "; */
sql=" SELECT assending, city, no_of_days_text, sub_type, wip, batch_cost, CHK_VAL "
+ "FROM ( SELECT z.assending AS assending, Z.city as city, z.no_of_days_text as no_of_days_text, z.sub_type as sub_type, SUM (z.wip) as wip, SUM (z.batch_cost) batch_cost, "
+ "CHK_VAL FROM (SELECT a.site_code__mfg AS site_code, s.city, "
+ "CASE WHEN TO_CHAR (a.wo_release_date,'YYYY') =TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') =TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR (a.wo_release_date, 'YYYY') END no_of_days_text, "
+ "CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END assending, "
+ "a.bom_sub_type AS sub_type, COUNT (a.work_order) wip, SUM (a.actual_prod_value) AS batch_cost, "
+ "(CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN 1 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN 2 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN 3 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN 4 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN 5 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN 6 WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_NUMBER ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) ELSE 0 END) as CHK_VAL "
+ "FROM dwh_production a, item b, SITE s "
+ "WHERE a.item_code = b.item_code AND a.site_code__mfg = s.site_code AND s.city IN ('"+city+"') "
+ "AND (a.item_code >= '00' AND a.item_code <= 'ZZ') AND a.work_order_status = 'R' "
+ "AND b.stk_opt = '2' AND a.bom_sub_type <> 'CLEANING' "
+ "AND a.wo_release_date <= TRUNC (SYSDATE) "
+ "GROUP BY a.site_code__mfg,a.wo_release_date, a.bom_sub_type, s.city ) z "
+ "GROUP BY z.city, z.no_of_days_text, z.sub_type, z.assending, CHK_VAL ORDER BY z.assending, z.no_of_days_text, z.sub_type ) "
+ "ORDER BY CHK_VAL ASC";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int wipValue=0;
String noOfDay="",subType="";
List<String> noOfDayList= new ArrayList<String>();
List<String> subTypeList= new ArrayList<String>();
String key="";
LinkedHashMap<String, Integer> graphDataMap = new LinkedHashMap<String, Integer>();
LinkedHashMap<String, Integer> sortedGraphDataMap = new LinkedHashMap<String, Integer>();
while (rs.next())
{
wipValue=0;
wipValue = rs.getInt("WIP");
noOfDay = rs.getString("NO_OF_DAYS_TEXT");
subType= rs.getString("SUB_TYPE");
if(!noOfDayList.contains(noOfDay))
{
noOfDayList.add(noOfDay);
}
if(!subTypeList.contains(subType))
{
subTypeList.add(subType);
}
key = (noOfDay.trim()+"@"+subType.trim());
if(graphDataMap.size()==0)
{
graphDataMap.put(key, wipValue);
}
if(graphDataMap !=null && graphDataMap.size()>0)
{
if(graphDataMap.containsKey(key))
{
//wipValue = wipValue + graphDataMap.get(key);
wipValue = graphDataMap.get(key);
}
else if(! graphDataMap.containsKey(key))
{
wipValue = wipValue;
}
graphDataMap.put(key, wipValue);
}
}
System.out.println("graphDataMap: "+graphDataMap);
String sbType="";
String grpKey="";
for(int itmCtr=0;itmCtr<subTypeList.size();itmCtr++)
{
sbType = subTypeList.get(itmCtr);
for (Map.Entry<String, Integer> grpentry : graphDataMap.entrySet())
{
for(int dayCtr=0;dayCtr<noOfDayList.size();dayCtr++)
{
grpKey = (noOfDayList.get(dayCtr).trim()+"@"+sbType.trim());
if(graphDataMap.containsKey(grpKey))
{
sortedGraphDataMap.put(grpKey, graphDataMap.get(grpKey));
}
if(!graphDataMap.containsKey(grpKey) )
{
sortedGraphDataMap.put(grpKey, 0);
}
}
}
}
System.out.println("sortedGraphDataMap: "+sortedGraphDataMap);
rowData = new JSONObject();
String noDays="";
String subType1="",prvsubType1="";
LinkedHashMap<String, Integer> catValues = new LinkedHashMap<String, Integer>();
int cnt=0;
for (Map.Entry<String, Integer> entry : sortedGraphDataMap.entrySet())
{
cnt++;
String mapKey = entry.getKey();
int value = entry.getValue();
String[] temp;
temp = mapKey.split("@");
noDays = temp[0].trim();
subType1 = temp[1].trim();
if( subType1 != null && ("").equals(prvsubType1) && subType1.trim().length()>0)
{
catValues.put(noDays,value);
rowData.put("month",cnt);
rowData.put("product_category",subType1);
rowData.put("category_value",catValues);
//rowData.put("pending_value", "100");
}
else if(!("").equals(prvsubType1) && prvsubType1.equals(subType1))
{
catValues.put(noDays,value);
}
if(!("").equals(prvsubType1) && ! prvsubType1.equals(subType1))
{
rowData.put("month",cnt);
rowData.put("product_category",prvsubType1);
rowData.put("category_value",catValues);
//rowData.put("pending_value", "100");
rawDataWIPStatusDtlJson.put(count, rowData);
count++;
rowData = new JSONObject();
catValues = new LinkedHashMap<String, Integer>();
catValues.put(noDays,value);
}
if(cnt==sortedGraphDataMap.size())
{
rowData.put("month",cnt);
rowData.put("product_category",prvsubType1);
rowData.put("category_value",catValues);
//rowData.put("pending_value", "100");
rawDataWIPStatusDtlJson.put(count, rowData);
}
prvsubType1=subType1;
}
System.out.println("rawDataWIPStatusDtlJson :"+rawDataWIPStatusDtlJson);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
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 d)
{
d.printStackTrace();
System.out.println("Exception in :getWIPStatus:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataWIPStatusDtlJson;
}
@SuppressWarnings("unchecked")
public JSONObject getWIPStatusGrid(String loginId , String city,String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataWIPStatusGridDtlJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside WIPStatus for getWIPStatusGrid Data Soruc Name ="+dataSourceName);
System.out.println("In getWIPStatusGrid Method loginId :"+loginId+"-------dataSourceName :"+dataSourceName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
/*sql="SELECT z.assending, Z.city, z.no_of_days_text, z.sub_type, SUM (z.wip) wip, SUM (z.batch_cost) batch_cost " +
"FROM (SELECT a.site_code__mfg AS site_code,s.city, " +
"CASE WHEN TO_CHAR (a.wo_release_date,'YYYY') =TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') =TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND " +
"TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND " +
"TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') " +
"THEN TO_CHAR (a.wo_release_date, 'YYYY') END no_of_days_text, " +
"CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') " +
"AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') " +
"THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END assending, " +
"a.bom_sub_type AS sub_type, COUNT (a.work_order) wip, SUM (a.actual_prod_value) AS batch_cost " +
"FROM dwh_production a, item b, SITE s WHERE a.item_code = b.item_code AND a.site_code__mfg = s.site_code " +
"AND s.city in ('"+city+"') " +
"AND (a.item_code >= '00' AND a.item_code <= 'ZZ') AND a.work_order_status = 'R' " +
"AND b.stk_opt = '2' AND a.bom_sub_type <> 'CLEANING' AND a.wo_release_date <= TRUNC (SYSDATE) " +
"GROUP BY a.site_code__mfg, CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days'" +
" WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR (a.wo_release_date, 'YYYY') END, " +
"CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' " +
"WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END, a.bom_sub_type,s.city) z " +
"GROUP BY z.city,z.no_of_days_text, z.sub_type, z.assending " +
"ORDER BY z.assending, z.no_of_days_text, z.sub_type ";*/
sql=" SELECT assending, city, no_of_days_text, sub_type, wip, batch_cost, CHK_VAL "
+ "FROM ( SELECT z.assending AS assending, Z.city as city, z.no_of_days_text as no_of_days_text, z.sub_type as sub_type, SUM (z.wip) as wip, SUM (z.batch_cost) batch_cost, "
+ "CHK_VAL FROM (SELECT a.site_code__mfg AS site_code, s.city, "
+ "CASE WHEN TO_CHAR (a.wo_release_date,'YYYY') =TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '<15 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') =TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '>15-30 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '>30-60 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '>60-120 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '>120-180 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '>180 days' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR (a.wo_release_date, 'YYYY') END no_of_days_text, "
+ "CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN '1' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN '2' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN '3' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN '4' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN '5' WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN '6' WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_CHAR ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) END assending, "
+ "a.bom_sub_type AS sub_type, COUNT (a.work_order) wip, SUM (a.actual_prod_value) AS batch_cost, "
+ "(CASE WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 15 THEN 1 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 15 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 30 THEN 2 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 30 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 60 THEN 3 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 60 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 120 THEN 4 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 120 AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) < 180 THEN 5 WHEN TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) >= 180 THEN 6 WHEN TO_CHAR (a.wo_release_date, 'YYYY') <> TO_CHAR (SYSDATE, 'YYYY') THEN TO_NUMBER ( 6 + ABS ( TO_NUMBER (TO_CHAR (a.wo_release_date, 'YYYY' ) ) - TO_NUMBER (TO_CHAR (SYSDATE, 'YYYY')) ) ) ELSE 0 END) as CHK_VAL "
+ "FROM dwh_production a, item b, SITE s "
+ "WHERE a.item_code = b.item_code AND a.site_code__mfg = s.site_code AND s.city IN ('"+city+"') "
+ "AND (a.item_code >= '00' AND a.item_code <= 'ZZ') AND a.work_order_status = 'R' "
+ "AND b.stk_opt = '2' AND a.bom_sub_type <> 'CLEANING' "
+ "AND a.wo_release_date <= TRUNC (SYSDATE) "
+ "GROUP BY a.site_code__mfg,a.wo_release_date, a.bom_sub_type, s.city ) z "
+ "GROUP BY z.city, z.no_of_days_text, z.sub_type, z.assending, CHK_VAL ORDER BY z.assending, z.no_of_days_text, z.sub_type ) "
+ "ORDER BY CHK_VAL ASC";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("no_of_days_text", rs.getString("NO_OF_DAYS_TEXT"));
rowData.put("sub_type", rs.getString("SUB_TYPE"));
rowData.put("wip", rs.getString("WIP"));
rowData.put("batch_cost", rs.getString("BATCH_COST"));
rowData.put("city", rs.getString("CITY"));
rawDataWIPStatusGridDtlJson.put(count, rowData);
count++;
}
System.out.println("rawDataWIPStatusDtlJson :"+rawDataWIPStatusGridDtlJson);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
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 d)
{
d.printStackTrace();
System.out.println("Exception in :getWIPStatusGrid:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataWIPStatusGridDtlJson;
}
@SuppressWarnings("unchecked")
public JSONObject getWIPStatusLinkGrid(String loginId, String city,String period,String catagory,String dataSourceName) throws RemoteException, ITMException
{
JSONObject rawDataWIPStatusLinkGridDtlJson = new JSONObject();
JSONObject rowData = null;
String sql = "";
ResultSet rs = null;
PreparedStatement pstmt = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
try
{
System.out.println(" Inside WIPStatus for getWIPStatusLinkGrid Data Soruc Name ="+dataSourceName);
System.out.println("In getWIPStatusLinkGrid Method period :"+period+"-------dataSourceName :"+dataSourceName);
conn = connDriver.getConnectDB(dataSourceName);
connDriver = null;
int count = 0;
String[] temp ;
String firstDays = "";
String secondDays = "";
String sqlCondition = "";
if(period!=null)
{
if(period.contains("days"))
{
System.out.println("IF Contains");
if(period.contains("-"))
{
period = period.replace("days", "");
temp = period.split("-");
firstDays = temp[0].trim();
secondDays = temp[1].trim();
System.out.println("firstDays :"+firstDays);
System.out.println("secondDays :"+secondDays);
sqlCondition = "TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) "+firstDays+" AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) <="+secondDays+" ";
}else
{
if(period.contains(">180 days"))
{
firstDays = period.substring(0,4);
sqlCondition = " TO_CHAR (a.wo_release_date, 'YYYY') = TO_CHAR (SYSDATE, 'YYYY') AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) "+firstDays+" AND TRUNC (TRUNC (SYSDATE) - a.wo_release_date) <=365 ";
}else if(period.contains("<15 days"))
{
firstDays = period.substring(0,3);
sqlCondition = "TRUNC (TRUNC (SYSDATE) - a.wo_release_date) "+firstDays+" ";
}
}
}
else{
System.out.println("Not Contains");
sqlCondition = " TO_CHAR (a.wo_release_date, 'YYYY') <>TO_CHAR (SYSDATE, 'YYYY') AND TO_CHAR (a.wo_release_date, 'YYYY') = "+period+" ";
}
}
System.out.println("sqlCondition :"+sqlCondition);
sql=" SELECT TRUNC (TRUNC (SYSDATE) - a.wo_release_date) AS no_of_days, "+
" a.work_order, "+
" a.wo_release_date AS rel_date, "+
" a.order_type, a.bom_sub_type AS sub_type, a.item_code, b.item_parnt, "+
" b.descr AS item_name, a.unit, a.lot_no AS batch_no, "+
" a.current_batch_size, a.production_qty, "+
" ((a.current_batch_size * a.std_yield_perc / 100) - a.production_qty ) AS wip, "+
" a.work_order_status AS status, a.std_yield_perc, a.actual_yield, "+
" a.actual_prod_value AS batch_cost "+
" FROM dwh_production a, item b,SITE s "+
" WHERE a.item_code = b.item_code "+
" AND a.site_code__mfg = s.site_code "+
" AND s.city in ('"+city+"') " +
" AND (a.item_code >= '00' AND a.item_code <= 'ZZ') "+
" AND a.work_order_status = 'R' "+
" AND b.stk_opt = '2' "+
" AND a.bom_sub_type <> 'CLEANING' "+
" AND a.wo_release_date <= TRUNC (SYSDATE) "+
" AND a.bom_sub_type ='"+catagory+"' AND "+sqlCondition+" "+
" ORDER BY a.item_code, a.lot_no ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next())
{
rowData = new JSONObject();
rowData.put("no_of_days", rs.getString("NO_OF_DAYS"));
rowData.put("work_order", rs.getString("WORK_ORDER"));
rowData.put("rel_date", rs.getString("REL_DATE"));
rowData.put("order_type", rs.getString("ORDER_TYPE"));
rowData.put("sub_type", rs.getString("SUB_TYPE"));
rowData.put("item_code", rs.getString("ITEM_CODE"));
rowData.put("item_parnt", rs.getString("ITEM_PARNT"));
rowData.put("item_name", rs.getString("ITEM_NAME"));
rowData.put("unit", rs.getString("UNIT"));
rowData.put("batch_no", rs.getString("BATCH_NO"));
rowData.put("current_batch_size", rs.getString("CURRENT_BATCH_SIZE"));
rowData.put("production_qty", rs.getString("PRODUCTION_QTY"));
rowData.put("wip", rs.getString("WIP"));
rowData.put("status", rs.getString("STATUS"));
rowData.put("std_yield_perc", rs.getString("STD_YIELD_PERC"));
rowData.put("actual_yield", rs.getString("ACTUAL_YIELD"));
rowData.put("batch_cost", checkNull(rs.getString("BATCH_COST")));
rawDataWIPStatusLinkGridDtlJson.put(count, rowData);
count++;
}
System.out.println("rawDataWIPStatusLinkGridDtlJson :"+rawDataWIPStatusLinkGridDtlJson);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
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 d)
{
d.printStackTrace();
System.out.println("Exception in :getWIPStatusLinkGrid:" + d.getMessage());
throw new ITMException(d);
}
}
return rawDataWIPStatusLinkGridDtlJson;
}
/*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 WIPStatus 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 =1;
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 in WIPStatus getPDFByScheduler =="+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);
}
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 in WIPStatus getPDFByScheduler");
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 WIPStatus.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 WIPStatus.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 WIPStatus.getPDFByScheduler*");
} catch (Exception e)
{
System.out.println("Exception :WIPStatus :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 WIPStatus.getPDFByScheduler");
email.sendMail(commInfo.toString(), "ITM", null);
System.out.println(" ********Email send succesfully for WIPStatus.getPDFByScheduler ***********");
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :WIPStatus :sendMail(String ,String)" + e.getMessage());
}
email = null;
}
/*End- this method add for generatePDF on 6Apr2015*/
private String checkNull(String str)
{
if(str == null)
{
return "";
}
else
{
return str ;
}
}
}
\ No newline at end of file
package ibase.dashboard.mfg.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local;
import org.json.simple.JSONObject;
@Local
public interface WIPStatusLocal extends ValidatorLocal
{
public JSONObject getWIPStatus(String loginId ,String city, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getWIPStatusGrid(String loginId ,String city, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getWIPStatusLinkGrid(String loginId ,String city,String days,String category,String dataSourceName) throws RemoteException, ITMException;
public String getPDFByScheduler(String rptTitle,String remark,String userID, String imgName) throws RemoteException, ITMException;
}
package ibase.dashboard.mfg.ejb;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
import org.json.simple.JSONObject;
@Remote
public interface WIPStatusRemote extends ValidatorRemote
{
public JSONObject getWIPStatus(String loginId ,String city, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getWIPStatusGrid(String loginId ,String city, String dataSourceName) throws RemoteException, ITMException;
public JSONObject getWIPStatusLinkGrid(String loginId ,String city,String days,String category,String dataSourceName) throws RemoteException, ITMException;
public String getPDFByScheduler(String rptTitle,String remark,String userID, String imgName) throws RemoteException, ITMException;
}
package ibase.dashboard.mfg.servlet;
import ibase.dashboard.mfg.ejb.WIPStatusRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class WIPStatusExportPDFServlet 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 ="";
WIPStatusRemote wipStatusRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
System.out.println(" ENTER - WIPStatusExportPDFServlet ***********************");
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 WIPStatusExportPDFServlet====="+ userID +"---rptTitle----->"+rptTitle + "---remark--->"+remark+"---imgName--->"+imgName);
// call EJB method for PDF creation*******************
context = new InitialContext(appConnectParm.getProperty());
wipStatusRemote = (WIPStatusRemote) context.lookup("ibase/WIPStatus/remote");
resultString = wipStatusRemote.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 :WIPStatusExportPDFServlet: ) :"+e.getMessage()); //$NON-NLS-1$
try
{
throw new ITMException(e);
}
catch (ITMException e1)
{
e1.printStackTrace();
}
}
finally
{
userID="";
rptTitle="";
}
}
}
\ No newline at end of file
package ibase.dashboard.mfg.servlet;
import ibase.dashboard.mfg.ejb.WIPStatusRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
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;
import org.json.simple.JSONObject;
public class WIPStatusGridLinkServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
WIPStatusRemote wipStatusRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
String month = "";
String city = "";
String category = "";
try
{
response.setContentType("application/xml");
/*HttpSession session = request.getSession(true);
ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
month = request.getParameter("month");
city = request.getParameter("city");
category = request.getParameter("category");
System.out.println("category :"+category);
System.out.println("month :"+month+"---city :"+city+"----category :"+category);
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
wipStatusRemote = (WIPStatusRemote) context.lookup("ibase/WIPStatus/remote");
JSONObject jsonObjData = (JSONObject)wipStatusRemote.getWIPStatusLinkGrid(loginId,city,month,category,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set inside WIPStatusGridLinkServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : WIPStatusGridLinkServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e.getMessage());
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.mfg.servlet;
import ibase.dashboard.mfg.ejb.WIPStatusRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
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;
import org.json.simple.JSONObject;
public class WIPStatusGridServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
WIPStatusRemote wipStatusRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
String city = "";
try
{
response.setContentType("application/xml");
/*HttpSession session = request.getSession(true);
ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
city = request.getParameter("city");
System.out.println("in WIPStatusGridServlet city :"+city);
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
wipStatusRemote = (WIPStatusRemote) context.lookup("ibase/WIPStatus/remote");
JSONObject jsonObjData = (JSONObject)wipStatusRemote.getWIPStatusGrid(loginId,city,dataSourceName);
OutputStream outputStream = response.getOutputStream();
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set inside getWIPStatusGrid build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : getWIPStatusGrid :doPost(HttpServletRequest request, HttpServletResponse response) :" + e.getMessage());
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ No newline at end of file
package ibase.dashboard.mfg.servlet;
import ibase.dashboard.mfg.ejb.WIPStatusRemote;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.IOException;
import java.io.OutputStream;
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;
import org.json.simple.JSONObject;
public class WIPStatusServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
WIPStatusRemote wipStatusRemote = null;
InitialContext context = null;
AppConnectParm appConnectParm = new AppConnectParm();
String dataSourceName = "";
String loginId = "";
String city = "";
try
{
response.setContentType("application/xml");
/*HttpSession session = request.getSession(true);
ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
loginId = userInfo.getLoginCode();*/
city = request.getParameter("city");
System.out.println("in WIPStatusServlet city :"+city);
dataSourceName = request.getParameter("dataSourceName");
context = new InitialContext(appConnectParm.getProperty());
wipStatusRemote = (WIPStatusRemote) context.lookup("ibase/WIPStatus/remote");
JSONObject jsonObjData = (JSONObject)wipStatusRemote.getWIPStatus(loginId,city,dataSourceName);
//String jsonObjData = "{'0':{'month':0,'product_catagory':'F','product_value':{'2013':'6','2014':'6'}},'1':{'month':1,'product_catagory':'FRESH','product_value':{'2014':'13','<15 days':'9','>120-180 days':'1','>180 days':'1','>30-60 days':'4','>60-120 days':'5'}}}";
OutputStream outputStream = response.getOutputStream();
//outputStream.write(jsonObjData.toString().replace('\'', '"').getBytes());
outputStream.write(jsonObjData.toString().getBytes());
outputStream.flush();
outputStream.close();
System.out.println(" Final data set inside WIPStatusServlet build the Graph is===" + jsonObjData);
} catch (Exception e)
{
System.out.println("Exception : WIPStatusServlet :doPost(HttpServletRequest request, HttpServletResponse response) :" + e.getMessage());
try
{
throw new ITMException(e);
} catch (ITMException e1)
{
e1.printStackTrace();
}
}
}
}
\ 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