private String[] getResourcesColHeader(JSONArray j, JSONArray data) throws JSONException { String[] res = new String[(j.length() * 2) + 2]; int i = 0, k = 0; try { for (i = 0, k = 0; i < res.length || k < j.length(); i += 2, k++) { res[i] = (String) j.getJSONObject(k).getString("type"); res[i + 1] = (String) j.getJSONObject(k).getString("count"); } } catch (JSONException e) { } catch (Exception e) { } finally { res[i] = "Total Resources"; res[i + 1] = (String) data.getJSONObject(0).getString("Total Resources"); } return res; }
public void setCustomData(CrmAccount crmAcc, JSONArray cstmData) { StringBuffer fields = new StringBuffer("accountid,company"); StringBuffer qmarks = new StringBuffer("?,?"); ArrayList params = new ArrayList(); params.add(crmAcc.getAccountid()); params.add(crmAcc.getCompany().getCompanyID()); boolean hasValue = false; try { for (int i = 0; i < cstmData.length(); i++) { JSONObject jobj = cstmData.getJSONObject(i); if (jobj.has(Constants.Crm_custom_field)) { String fieldname = jobj.getString(Constants.Crm_custom_field); String fielddbname = jobj.getString(fieldname); String fieldValue = jobj.getString(fielddbname); hasValue = true; fielddbname = fielddbname.replace("c", "C"); Integer xtype = Integer.parseInt(jobj.getString("xtype")); if (!StringUtil.isNullOrEmpty(fieldValue) && !StringUtil.isNullOrEmpty(fieldValue.trim()) && !fieldValue.equalsIgnoreCase(Constants.field_data_undefined)) { fields.append(',').append(fielddbname); qmarks.append(",?"); params.add(fieldValue); } else { if (xtype == 7 || xtype == 8 || xtype == 4) { fields.append(',').append(fielddbname); qmarks.append(",?"); params.add(null); } else { fields.append(',').append(fielddbname); qmarks.append(",?"); params.add(""); } } } } } catch (NumberFormatException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } if (hasValue) { StringBuffer sql = new StringBuffer("insert into crmaccountcustomdata (") .append(fields) .append(")VALUES(") .append(qmarks) .append(')'); updateJDBC(sql.toString(), params.toArray()); } }
private String[] getColValues(String[] colIndex, JSONArray j) throws JSONException { String[] val = new String[colIndex.length]; try { for (int i = 0; i < val.length; i++) { if (colIndex[i].contains(" ")) { val[i] = " "; } else { val[i] = (String) j.getJSONObject(0).getString(colIndex[i]); } } } catch (JSONException e) { } catch (Exception e) { } return val; }
private ByteArrayOutputStream getCsvData( JSONArray src, JSONArray store, HttpServletRequest request) throws ServiceException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); StringBuilder resSB = new StringBuilder(); JSONObject temp = null; int fieldListLength = 0; try { String header = ""; temp = new JSONObject( "{data:[Project Start,Baseline Start,Actual Start," + "Start Variance,Project Finish,Baseline Finish,Actual Finish,Finish Variance," + "Scheduled,Baseline,Variance,Remaining,Actual,Scheduled,Baseline,Variance," + "Remaining,Actual,Scheduled,Baseline,Variance,Remaining,Actual,Percent Complete," + "Task not yet Started,Task in progress,Task Completed,Parent Tasks, Total Tasks]}"); JSONArray colHeader = temp.getJSONArray("data"); temp = new JSONObject( "{data:[Project Start Date,Baseline Start Date,Project Actual Start Date," + "Start Variance,Project End Date,Baseline End Date,Project End Date,End Variance," + "Scheduled Duration,Baseline Duration,Duration Variance,Remaining Duration," + "Actual Duration,Scheduled Cost,Baseline Cost,Cost Variance,Remaining Cost,Actual Cost," + "Scheduled Work,Baseline Work,Work Variance,Remaining Work,Actual Work,Percent Complete," + "Unstarted Tasks,Inprogress Tasks,Completed Tasks,Parent Tasks,Total Tasks]}"); JSONArray fieldList = temp.getJSONArray("data"); fieldListLength = fieldList.length(); for (int i = 0; i < src.length(); i++) { colHeader.put(src.getJSONObject(i).getString("type")); fieldList.put("count"); } fieldList.put("Total Resources"); colHeader.put("Total Resources"); for (int i = 0; i < colHeader.length(); i++) { header += "\"" + colHeader.get(i).toString() + "\","; } header = header.substring(0, (header.length() - 1)); header += "\n"; resSB.append(header); String dataIndexArrStr[] = new String[fieldList.length()]; for (int i = 0; i < fieldList.length(); i++) dataIndexArrStr[i] = fieldList.get(i).toString(); for (int i = 0; i < store.length(); i++) { temp = store.getJSONObject(i); String dstr = ""; for (int j = 0; j < fieldListLength; j++) dstr += "\"" + temp.getString(dataIndexArrStr[j]) + "\","; dstr = dstr.substring(0, (dstr.length() - 1)); dstr += "\n"; resSB.append(dstr); } for (int i = 0; i < src.length(); i++) { temp = src.getJSONObject(i); String dstr = ""; dstr += "\"" + temp.getString("count") + "\","; dstr = dstr.substring(0, (dstr.length() - 1)); resSB.append(dstr); } String dstr = ""; dstr += "\"" + store.getJSONObject(0).getString("Total Resources") + "\","; resSB.append(dstr); baos.write(resSB.toString().getBytes()); baos.close(); } catch (IOException ex) { throw ServiceException.FAILURE("ExportProjectReport.getCsvData", ex); } catch (JSONException e) { throw ServiceException.FAILURE("ExportProjectReport.getCsvData", e); } catch (Exception e) { throw ServiceException.FAILURE("ExportProjectReport.getCsvData", e); } return baos; }