Hi,
I think this code will helpful for you
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.*;
import org.ofbiz.entity.*;
import org.ofbiz.entity.util.EntityUtil;
import org.ofbiz.base.util.*;
import org.ofbiz.securityext.login.*;
import org.ofbiz.common.*;
import org.ofbiz.party.contact.*;
import org.ofbiz.party.party.*;
import org.ofbiz.accounting.payment.*;
import org.ofbiz.securityext.login.*;
if(partyList != null)
{
partyListIt = partyList.iterator();
FileWriter fw = new FileWriter("E:\\RAF02Nov\\skp.csv");
fw.append("partyId");
fw.append(',');
fw.append("toName");
fw.append(',');
fw.append("attnName");
fw.append(',');
fw.append("Address1");
fw.append(',');
fw.append("Address2");
fw.append(',');
fw.append("City");
fw.append(',');
fw.append("PostalCode");
fw.append(',');
fw.append("State");
fw.append(',');
fw.append("Country");
fw.append(',');
fw.append("Full Name");
fw.append('\n');
while(partyListIt.hasNext())
{
fullName = "";
toName = "";
attnName ="";
address1 = "";
address2 = "";
city = "";
state= "";
country = "";
postalCode = "";
email = "";
phone ="";
genericPartyList = partyListIt.next();
partyId = genericPartyList.getString("partyId");
List partyContactMechValueMaps =
ContactMechWorker.getPartyContactMechValueMaps(delegator, partyId, false);
Iterator contactMechIt = partyContactMechValueMaps.iterator();
while(contactMechIt.hasNext())
{
contactMechGV = contactMechIt.next();
otherValues = PartyWorker.getPartyOtherValues(request,
partyId, "party", "lookupPerson", "lookupGroup");
lookupPerson = otherValues.get("lookupPerson");
if(lookupPerson != null)
{
if(lookupPerson.get("firstName") != null)
fullName += lookupPerson.get("firstName");
if(lookupPerson.get("middleName") != null)
fullName +=" "+lookupPerson.get("middleName");
if(lookupPerson.get("lastName") != null)
fullName +=" "+lookupPerson.get("lastName");
if(lookupPerson.get("suffix") != null)
fullName +=" "+lookupPerson.get("suffix");
}
else
{
fullName += " ";
}
contactMech1 = contactMechGV.get("contactMech");
if("POSTAL_ADDRESS".equals(contactMech1.getString("contactMechTypeId")))
{
postalAddress = contactMechGV.get("postalAddress");
if( postalAddress.get("toName") != null)
{
toName += postalAddress.get("toName").replace(","," ");
}
if(postalAddress.get("attnName") != null)
{
attnName += "
"+postalAddress.get("attnName").replace(","," ");
}
address1 +=" "+postalAddress.get("address1").replace(",","
");
if(postalAddress.get("address2") != null)
{
address2 += "
"+postalAddress.get("address2").replace(","," ");
}
city +=" "+postalAddress.get("city").replace(","," ");
postalCode += "
"+postalAddress.get("postalCode").replace(","," ");
if(postalAddress.get("stateProvinceGeoId") != null)
{
state +="
"+postalAddress.getRelatedOneCache("StateProvinceGeo").get("abbreviation").replace(",","
");
}
if(postalAddress.get("countryGeoId") != null)
{
country +="
"+postalAddress.getRelatedOneCache("CountryGeo").get("geoName").replace(",","
");
}
}
if("EMAIL_ADDRESS".equals(contactMech1.getString("contactMechTypeId")))
{
email += contactMech1.getString("infoString")+"/";
}
if("TELECOM_NUMBER".equals(contactMech1.getString("contactMechTypeId")))
{
telecomNumber = contactMechGV.get("telecomNumber");
if(telecomNumber.get("areaCode") != null)
phone += telecomNumber.get("areaCode").trim();
phone += telecomNumber.get("contactNumber").trim();
// if(telecomNumber.partyContactMech.get("extension") !=
null)
// phone +=
telecomNumber.partyContactMech.get("extension");
}
// print(" partyId "+partyId+" email "+email+" fullName
"+fullName+" address "+address+" phone "+phone);
}
fw.append(partyId);
fw.append(',');
fw.append(toName);
fw.append(',');
fw.append(attnName);
fw.append(',');
fw.append(address1);
fw.append(',');
fw.append(address2);
fw.append(',');
fw.append(city);
fw.append(',');
fw.append(postalCode);
fw.append(',');
fw.append(state);
fw.append(',');
fw.append(country);
fw.append(',');
fw.append(fullName);
fw.append('\n');
fw.flush();
// fw.close();
//response.sendRedirect("control/main");
}
}
On Wed, Dec 3, 2008 at 2:05 AM, nalin chandra <
[email protected]> wrote:
i use CSV reporting in ofbiz
As we all know, we can display data of only one list in the form.
so i use view entity to display data of multiple table.
now i have one problem.
i want to display the detail of party like name, address, email, contact
number etc.
for this purpose i create a view entity but it only display the email id or
telephone number because contactMechId id different for those two, so
please
help me on this issue..
below i paste the view entity code which i use for this purpose:-
DynamicViewEntity dynamicView = new DynamicViewEntity();
List orderBy = FastList.newInstance();
List fieldsToSelect = FastList.newInstance();
dynamicView.addMemberEntity("PT", "Party");
dynamicView.addAlias("PT", "partyId");
dynamicView.addAlias("PT", "statusId");
dynamicView.addAlias("PT", "partyTypeId");
dynamicView.addAlias("PT", "createdDate");
dynamicView.addRelation("one-nofk", "", "PartyType",
ModelKeyMap.makeKeyMapList("partyTypeId"));
dynamicView.addRelation("many", "", "UserLogin",
ModelKeyMap.makeKeyMapList("partyId"));
fieldsToSelect.add("partyId");
fieldsToSelect.add("statusId");
fieldsToSelect.add("partyTypeId");
fieldsToSelect.add("createdDate");
orderBy.add("createdDate");
dynamicView.addMemberEntity("PDS", "PartyDataSource");
dynamicView.addAlias("PDS", "visitId");
dynamicView.addViewLink("PT", "PDS", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("partyId"));
fieldsToSelect.add("visitId");
dynamicView.addMemberEntity("UL", "UserLogin");
dynamicView.addAlias("UL", "userLoginId");
dynamicView.addViewLink("PT", "UL", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("partyId"));
fieldsToSelect.add("userLoginId");
dynamicView.addMemberEntity("PE", "Person");
dynamicView.addAlias("PE", "firstName");
dynamicView.addAlias("PE", "lastName");
dynamicView.addViewLink("PT", "PE", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("partyId"));
fieldsToSelect.add("firstName");
fieldsToSelect.add("lastName");
dynamicView.addMemberEntity("PC", "PartyContactMech");
dynamicView.addMemberEntity("CM", "ContactMech");
dynamicView.addMemberEntity("TM", "TelecomNumber");
dynamicView.addAlias("PC", "contactMechId");
dynamicView.addAlias("CM", "infoString");
dynamicView.addAlias("TM", "countryCode");
dynamicView.addAlias("TM", "areaCode");
dynamicView.addAlias("TM", "contactNumber");
dynamicView.addViewLink("PT", "PC", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("partyId"));
dynamicView.addViewLink("PC", "CM", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("contactMechId"));
dynamicView.addViewLink("PC", "TM", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("contactMechId"));
fieldsToSelect.add("infoString");
fieldsToSelect.add("contactNumber");
fieldsToSelect.add("areaCode");
fieldsToSelect.add("countryCode");
in ftl file if i display partyLists.infoSting is display null because for
telecomNumber there is no infoString value in corresponding column of
contactMech table.
--
View this message in context:
http://www.nabble.com/CSV-reporting..-tp20800340p20800340.html
Sent from the OFBiz - User mailing list archive at Nabble.com.