Commit c2b7d4fa authored by prumde's avatar prumde

Period Code - Filter apply

To Get filter value from xml passed from Datamodel Component


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@217548 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 1785bf74
...@@ -11,9 +11,16 @@ import java.util.HashMap; ...@@ -11,9 +11,16 @@ import java.util.HashMap;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.ejb.CommonDBAccessEJB; import ibase.ejb.CommonDBAccessEJB;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.utility.BaseLogger;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
...@@ -40,8 +47,8 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -40,8 +47,8 @@ public class SellsPlanSummary extends ValidatorEJB
String maxLevel = ""; String maxLevel = "";
String tranDb= userInfo.getTransDB(); String tranDb= userInfo.getTransDB();
String empCode= userInfo.getEmpCode(); String empCode= userInfo.getEmpCode();
E12GenericUtility genericUtility = new E12GenericUtility(); String prdCode = getJSONFieldValue(xmlData, "prdCode");
System.out.println("getPlanSummaryData tranDb:::: "+tranDb+" empCode "+empCode); System.out.println("getPlanSummaryData tranDb:::: "+tranDb+" empCode "+empCode + " prdCode " + prdCode);
StringBuffer planDataSql = new StringBuffer(); StringBuffer planDataSql = new StringBuffer();
StringBuffer teamMaxLvlSql = new StringBuffer(); StringBuffer teamMaxLvlSql = new StringBuffer();
...@@ -95,7 +102,7 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -95,7 +102,7 @@ public class SellsPlanSummary extends ValidatorEJB
while( maxLevelInt > 0 ) while( maxLevelInt > 0 )
{ {
System.out.println("SQL RESULT AFTER EXECUTED ::::::::maxLevel::::::::: " + maxLevelInt ); System.out.println("SQL RESULT AFTER EXECUTED ::::::::maxLevel::::::::: " + maxLevelInt );
ArrayList<HashMap<String, String>> currentLevelData = getCurrentLevelData( teamData, tranDb, maxLevelInt ); ArrayList<HashMap<String, String>> currentLevelData = getCurrentLevelData( teamData, tranDb, maxLevelInt, prdCode );
allLevelData.addAll(currentLevelData); allLevelData.addAll(currentLevelData);
maxLevelInt--; maxLevelInt--;
} }
...@@ -138,7 +145,7 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -138,7 +145,7 @@ public class SellsPlanSummary extends ValidatorEJB
return finalPlanSummaryData.toString(); return finalPlanSummaryData.toString();
} }
private ArrayList<HashMap<String, String>> getCurrentLevelData( ArrayList<HashMap<String, String>> currentLevelAllEmp, String tranDb, int currentLevel ) private ArrayList<HashMap<String, String>> getCurrentLevelData( ArrayList<HashMap<String, String>> currentLevelAllEmp, String tranDb, int currentLevel, String prdCode )
{ {
ArrayList<HashMap<String, String>> currentLevelSummary = new ArrayList<HashMap<String, String>>(); ArrayList<HashMap<String, String>> currentLevelSummary = new ArrayList<HashMap<String, String>>();
...@@ -154,14 +161,14 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -154,14 +161,14 @@ public class SellsPlanSummary extends ValidatorEJB
} }
for(String empCode : empCodes ) for(String empCode : empCodes )
{ {
ArrayList<HashMap<String, String>> empSellSummData = getSummarySellsData(empCode, tranDb); ArrayList<HashMap<String, String>> empSellSummData = getSummarySellsData(empCode, tranDb, prdCode);
currentLevelSummary.addAll(empSellSummData); currentLevelSummary.addAll(empSellSummData);
} }
return currentLevelSummary; return currentLevelSummary;
} }
private ArrayList<HashMap<String, String>> getSummarySellsData(String empCode, String tranDb) private ArrayList<HashMap<String, String>> getSummarySellsData(String empCode, String tranDb, String prdCode)
{ {
StringBuffer summaryDataSql = new StringBuffer(); StringBuffer summaryDataSql = new StringBuffer();
...@@ -176,9 +183,18 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -176,9 +183,18 @@ public class SellsPlanSummary extends ValidatorEJB
.append(" SUM(SPD.SELL_OUT_VALUE) AS SELL_OUT_VALUE ") .append(" SUM(SPD.SELL_OUT_VALUE) AS SELL_OUT_VALUE ")
.append("FROM SELLS_PLANNING SP ") .append("FROM SELLS_PLANNING SP ")
.append("LEFT OUTER JOIN SELLS_PLANNING_DET SPD ON SP.TRAN_ID = SPD.TRAN_ID ") .append("LEFT OUTER JOIN SELLS_PLANNING_DET SPD ON SP.TRAN_ID = SPD.TRAN_ID ")
.append("LEFT OUTER JOIN ITEM I ON SPD.ITEM_CODE = I.ITEM_CODE ") .append("LEFT OUTER JOIN ITEM I ON SPD.ITEM_CODE = I.ITEM_CODE ");
.append("WHERE SP.PRD_CODE = TO_CHAR(SYSDATE, 'YYYYMM') ")
.append("AND SP.STATUS = 'S' ") //Added by Prajyot on 05-MAR-2020 [To Get filter value from xml passed from Datamodel Component]
if( prdCode.length() == 0 )
{
summaryDataSql.append(" WHERE SP.PRD_CODE = TO_CHAR(SYSDATE, 'YYYYMM') ");
}
else
{
summaryDataSql.append(" WHERE SP.PRD_CODE = '" + prdCode + "' ");
}
summaryDataSql.append("AND SP.STATUS = 'S' ")
.append("AND SP.SALES_PERS IN ( ") .append("AND SP.SALES_PERS IN ( ")
.append(" SELECT EMP_CODE ") .append(" SELECT EMP_CODE ")
.append(" FROM ORG_STRUCTURE O1 ") .append(" FROM ORG_STRUCTURE O1 ")
...@@ -286,4 +302,116 @@ public class SellsPlanSummary extends ValidatorEJB ...@@ -286,4 +302,116 @@ public class SellsPlanSummary extends ValidatorEJB
} }
return 0; return 0;
} }
//Added by Prajyot on 05-MAR-2020 [To Get filter value from xml passed from Datamodel Component] Starts
private String getJSONFieldValue(String xmlData, String fieldName)
{
String fieldValue = "";
try
{
JSONObject dashboardConfig = (JSONObject) xmlToJson(xmlData);
JSONObject group0 = dashboardConfig.optJSONObject("group0");
JSONObject Header0 = group0.optJSONObject("Header0");
JSONObject Detail1 = Header0.optJSONObject("Detail1");
fieldValue = Detail1.optString(fieldName);
}
catch(Exception e)
{
}
return checkNull(fieldValue);
}
public JSONObject xmlToJson(String transData) throws JSONException
{
try
{
E12GenericUtility utility = new E12GenericUtility();
Document dashboardDom = utility.parseString(transData);
NodeList rootNodeList = dashboardDom.getElementsByTagName("DocumentRoot");
Node rootNode = null;
if( rootNodeList != null && rootNodeList.getLength() > 0 ){
rootNode = rootNodeList.item(0);
return (JSONObject) xmlToJson(rootNode);
}
}
catch (ITMException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public Object xmlToJson(Node xmlObj) throws JSONException
{
// Create the return object
JSONObject jsonObj = new JSONObject();
// console.log('xmlObj.nodeType---', xmlObj.nodeType, xmlObj);
if (xmlObj.getNodeType() == Node.ELEMENT_NODE) { // element
// do attributes
if (xmlObj.hasAttributes()) {
NamedNodeMap attributes = xmlObj.getAttributes();
int attribLen = attributes.getLength();
for (int j = 0; j < attribLen; j++) {
Node attribute = attributes.item(j);
String name = attribute.getNodeName();
String value = attribute.getNodeValue();
jsonObj.put(name, value);
}
}
}
//BaseLogger.log("3",null,null,"jsonObj>>" + jsonObj);
// do children
if (xmlObj.hasChildNodes()) {
NodeList childNodes = xmlObj.getChildNodes();
int childNodeLen = childNodes.getLength();
for (int i = 0; i < childNodeLen; i++)
{
Node childNode = childNodes.item(i);
String childNodeName = childNode.getNodeName();
String childNodeValue = childNode.getNodeValue();
if("#cdata-section".equalsIgnoreCase(childNodeName) )
{
if (xmlObj.hasAttributes())
{
jsonObj.put("value", childNodeValue);
return jsonObj;
}
else
{
return childNodeValue;
}
}
else if( !"#text".equalsIgnoreCase(childNodeName) )
{
BaseLogger.log("3",null,null,childNodeName + "<<childNodeValue>>" + childNodeValue);
if( jsonObj.optJSONObject(childNodeName) != null )
{
JSONObject old = jsonObj.optJSONObject(childNodeName);
jsonObj.put(childNodeName, new JSONArray());
jsonObj.optJSONArray(childNodeName).put(old);
jsonObj.optJSONArray(childNodeName).put(xmlToJson(childNode));
}
else if( jsonObj.optJSONArray(childNodeName) != null )
{
jsonObj.optJSONArray(childNodeName).put(xmlToJson(childNode));
}
else
{
jsonObj.put(childNodeName, xmlToJson(childNode));
}
}
}
}
return jsonObj;
}
//Added by Prajyot on 05-MAR-2020 [To Get filter value from xml passed from Datamodel Component] Ends
} }
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