Commit a3464749 authored by ngunjal's avatar ngunjal

Calendar dashboard changes

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@198733 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 4b15d72e
...@@ -641,6 +641,8 @@ public class CalendarDBR extends ValidatorEJB implements CalendarDBRLocal, Calen ...@@ -641,6 +641,8 @@ public class CalendarDBR extends ValidatorEJB implements CalendarDBRLocal, Calen
Connection conn = null; Connection conn = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
String frDate="";
String toDate="";
try try
{ {
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
...@@ -654,38 +656,84 @@ public class CalendarDBR extends ValidatorEJB implements CalendarDBRLocal, Calen ...@@ -654,38 +656,84 @@ public class CalendarDBR extends ValidatorEJB implements CalendarDBRLocal, Calen
StringBuilder queryBuilder = new StringBuilder(); StringBuilder queryBuilder = new StringBuilder();
String sql = "SELECT FR_DATE,TO_DATE FROM PERIOD WHERE CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, period);
rs = pstmt.executeQuery();
if (rs.next())
{
frDate = rs.getString("FR_DATE");
toDate = rs.getString("TO_DATE");
}
if( rs != null )
{
rs.close();
rs = null;
}
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if("ORACLE".equalsIgnoreCase(CommonConstants.DB_NAME)) if("ORACLE".equalsIgnoreCase(CommonConstants.DB_NAME))
{ {
queryBuilder.append("SELECT stan_type, sum(planned_visit) as planned_visit, sum(actual_visit) as actual_visit "); /*queryBuilder.append("SELECT stan_type, sum(planned_visit) as planned_visit, sum(actual_visit) as actual_visit ");
queryBuilder.append("from(select det.stan_type as stan_type , trunc(sysdate) as plan_date, det.work_days as planned_visit, 0 as actual_visit "); queryBuilder.append("from(select det.stan_type as stan_type , trunc(sysdate) as plan_date, det.work_days as planned_visit, 0 as actual_visit ");
queryBuilder.append("from SF_PLAN_PARAM hdr, SF_PLAN_PARAM_STAN det where det.param_table = hdr.param_table "); queryBuilder.append("from SF_PLAN_PARAM hdr, SF_PLAN_PARAM_STAN det where det.param_table = hdr.param_table ");
queryBuilder.append("and det.prd_code = hdr.prd_code and hdr.prd_code = '"+period+"' and det.work_days > 0 union all ");//Added By nilesh for Blank actual visited Start :: 18-02-19 queryBuilder.append("and det.prd_code = hdr.prd_code and hdr.prd_code = '"+period+"' and det.work_days > 0 union all ");//Added By nilesh for Blank actual visited Start :: 18-02-19
queryBuilder.append("select distinct sr.station_type as stan_type, trunc(sp.plan_date) as plan_date, 0 as planned_visit,1 as actual_visit from sprs_plan_place spp, sprs_plan_hdr sp, period prd, sprs_route sr "); queryBuilder.append("select distinct sr.station_type as stan_type, trunc(sp.plan_date) as plan_date, 0 as planned_visit,1 as actual_visit from sprs_plan_place spp, sprs_plan_hdr sp, period prd, sprs_route sr ");
queryBuilder.append("where spp.plan_id = sp.plan_id and sr.sprs_code = sp.sprs_code__plan and spp.work_stan_code = sr.stan_code and prd.code = '"+period+"' "); queryBuilder.append("where spp.plan_id = sp.plan_id and sr.sprs_code = sp.sprs_code__plan and spp.work_stan_code = sr.stan_code and prd.code = '"+period+"' ");
queryBuilder.append("and sp.plan_date >=prd.fr_date and sp.plan_date<=prd.to_date and sp.sprs_code__plan = '"+loginCode+"') group by stan_type"); // added condition of planned visit by rupali on 03/04/18 //Commented By nilesh Start :: 18-02-19 queryBuilder.append("and sp.plan_date >=prd.fr_date and sp.plan_date<=prd.to_date and sp.sprs_code__plan = '"+loginCode+"') group by stan_type"); // added condition of planned visit by rupali on 03/04/18 //Commented By nilesh Start :: 18-02-19
*/
queryBuilder.append("SELECT CASE WHEN TO_CHAR(Query1.WORK_DAYS) IS NULL THEN '0' ELSE TO_CHAR(Query1.WORK_DAYS) END AS actual_visit, ");
queryBuilder.append("Query2.STAN_TYPE AS STAN_CLASS ,Query2.WORK_DAYS AS planned_visit FROM((SELECT COUNT(SR.STATION_TYPE) AS WORK_DAYS,ST.STAN_CLASS ");
queryBuilder.append("FROM SPRS_PLAN SP INNER JOIN LOCALITY L ON SP.LOCALITY_CODE = L.LOCALITY_CODE INNER JOIN SPRS_ROUTE SR ON SR.LOCALITY_CODE = L.LOCALITY_CODE ");
queryBuilder.append("AND SR.SPRS_CODE = SP.SPRS_CODE__FOR INNER JOIN STANTYPE ST ON ST.STAN_TYPE =SR.STATION_TYPE ");
queryBuilder.append("WHERE SPRS_CODE__FOR = ? AND SP.PLAN_DATE BETWEEN ? and ? GROUP BY ST.STAN_CLASS ORDER BY ST.STAN_CLASS) Query1 ");
queryBuilder.append("RIGHT JOIN (SELECT SPPS.STAN_TYPE,SPPS.WORK_DAYS FROM SF_PLAN_PARAM_STAN SPPS JOIN SF_PLAN_PARAM SPP ");
queryBuilder.append("ON SPPS.PRD_CODE = SPP.PRD_CODE WHERE SPPS.PARAM_TABLE = SPP.PARAM_TABLE AND SPP.PARAM_TABLE =(SELECT PROP_VALUE FROM PROPERTIES WHERE PROP_NAME = 'PARAM_TABLE') AND SPP.PRD_CODE = ? ORDER BY SPPS.stan_type) ");
queryBuilder.append("Query2 ON Query1.STAN_CLASS = Query2.STAN_TYPE) ORDER BY Query2.STAN_TYPE ");
} }
else if("DB2".equalsIgnoreCase(CommonConstants.DB_NAME)) else if("DB2".equalsIgnoreCase(CommonConstants.DB_NAME))
{ {
queryBuilder.append("SELECT stan_type, sum(planned_visit) as planned_visit, sum(actual_visit) as actual_visit "); /*queryBuilder.append("SELECT stan_type, sum(planned_visit) as planned_visit, sum(actual_visit) as actual_visit ");
queryBuilder.append("from(select det.stan_type as stan_type , date(current date) as plan_date, det.work_days as planned_visit, 0 as actual_visit "); queryBuilder.append("from(select det.stan_type as stan_type , date(current date) as plan_date, det.work_days as planned_visit, 0 as actual_visit ");
queryBuilder.append("from SF_PLAN_PARAM hdr, SF_PLAN_PARAM_STAN det where det.param_table = hdr.param_table "); queryBuilder.append("from SF_PLAN_PARAM hdr, SF_PLAN_PARAM_STAN det where det.param_table = hdr.param_table ");
queryBuilder.append("and det.prd_code = hdr.prd_code and hdr.prd_code = '"+period+"' and det.work_days > 0 union all ");//Added By nilesh for Blank actual visited Start :: 18-02-19 queryBuilder.append("and det.prd_code = hdr.prd_code and hdr.prd_code = '"+period+"' and det.work_days > 0 union all ");//Added By nilesh for Blank actual visited Start :: 18-02-19
queryBuilder.append("select distinct sr.station_type as stan_type, date(sp.plan_date) as plan_date, 0 as planned_visit,1 as actual_visit from sprs_plan_place spp, sprs_plan_hdr sp, period prd, sprs_route sr "); queryBuilder.append("select distinct sr.station_type as stan_type, date(sp.plan_date) as plan_date, 0 as planned_visit,1 as actual_visit from sprs_plan_place spp, sprs_plan_hdr sp, period prd, sprs_route sr ");
queryBuilder.append("where spp.plan_id = sp.plan_id and sr.sprs_code = sp.sprs_code__plan and spp.work_stan_code = sr.stan_code and prd.code = '"+period+"' "); queryBuilder.append("where spp.plan_id = sp.plan_id and sr.sprs_code = sp.sprs_code__plan and spp.work_stan_code = sr.stan_code and prd.code = '"+period+"' ");
queryBuilder.append("and sp.plan_date >=prd.fr_date and sp.plan_date<=prd.to_date and sp.sprs_code__plan = '"+loginCode+"') as caldash group by stan_type"); // added condition of planned visit by rupali on 03/04/18 //Commented By nilesh Start :: 18-02-19 queryBuilder.append("and sp.plan_date >=prd.fr_date and sp.plan_date<=prd.to_date and sp.sprs_code__plan = '"+loginCode+"') as caldash group by stan_type"); // added condition of planned visit by rupali on 03/04/18 //Commented By nilesh Start :: 18-02-19
*/
queryBuilder.append("SELECT CASE WHEN TO_CHAR(Query1.WORK_DAYS) IS NULL THEN '0' ELSE TO_CHAR(Query1.WORK_DAYS) END AS actual_visit, ");
queryBuilder.append("Query2.STAN_TYPE AS STAN_CLASS ,Query2.WORK_DAYS AS planned_visit FROM((SELECT COUNT(SR.STATION_TYPE) AS WORK_DAYS,ST.STAN_CLASS ");
queryBuilder.append("FROM SPRS_PLAN SP INNER JOIN LOCALITY L ON SP.LOCALITY_CODE = L.LOCALITY_CODE INNER JOIN SPRS_ROUTE SR ON SR.LOCALITY_CODE = L.LOCALITY_CODE ");
queryBuilder.append("AND SR.SPRS_CODE = SP.SPRS_CODE__FOR INNER JOIN STANTYPE ST ON ST.STAN_TYPE =SR.STATION_TYPE ");
queryBuilder.append("WHERE SPRS_CODE__FOR = ? AND SP.PLAN_DATE BETWEEN ? and ? GROUP BY ST.STAN_CLASS ORDER BY ST.STAN_CLASS) Query1 ");
queryBuilder.append("RIGHT JOIN (SELECT SPPS.STAN_TYPE,SPPS.WORK_DAYS FROM SF_PLAN_PARAM_STAN SPPS JOIN SF_PLAN_PARAM SPP ");
queryBuilder.append("ON SPPS.PRD_CODE = SPP.PRD_CODE WHERE SPPS.PARAM_TABLE = SPP.PARAM_TABLE AND SPP.PARAM_TABLE =(SELECT PROP_VALUE FROM PROPERTIES WHERE PROP_NAME = 'PARAM_TABLE') AND SPP.PRD_CODE = ? ORDER BY SPPS.stan_type) ");
queryBuilder.append("Query2 ON Query1.STAN_CLASS = Query2.STAN_TYPE) ORDER BY Query2.STAN_TYPE ");
} }
String sqlQuery = queryBuilder.toString(); String sqlQuery = queryBuilder.toString();
pstmt = conn.prepareStatement( sqlQuery ); pstmt = conn.prepareStatement( sqlQuery );
//Added By Nilesh Start :: 23-03-19
pstmt.setString(1, loginCode);
pstmt.setTimestamp(2, java.sql.Timestamp.valueOf(frDate));
pstmt.setTimestamp(3, java.sql.Timestamp.valueOf(toDate));
pstmt.setString(4, period);
//Added By Nilesh End :: 23-03-19
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int count = 0; int count = 0;
while( rs.next() ) while( rs.next() )
{ {
String stnType = checkNull(rs.getString(1)).trim(); String stnType = checkNull(rs.getString(2)).trim();
String planedVisit = rs.getString(2).trim(); String planedVisit = rs.getString(3).trim();
String actualVisit = rs.getString(3).trim(); String actualVisit = rs.getString(1).trim();
JSONObject rowData = new JSONObject(); JSONObject rowData = new JSONObject();
......
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