ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Crum <adrian.c...@sandglass-software.com>
Subject Re: List of all people and the company they work for
Date Sat, 16 Feb 2013 07:22:46 GMT
Exactly. So, copy the view entity and add what you need.

-Adrian

On 2/15/2013 7:24 PM, James Piechota wrote:
> Thanks, Adrian!
>
> Yeah, I'd looked at PartyRelationshipAndDetail view entity (actually
> started my journey through the source there), but it seems like it only
> considers the PartyRelationship.partyIdTo side of the connection, not the
> partyIdFrom.
>
> I'd like to build a list of Persons and their associated PartyGroups. At
> its most basic the list would contain just:
>
> PersonFirstName PersonLastName CompanyName
> ...
>
> For all Persons.
>
> I'm not sure PartyRelationshipAndDetail will do that for me since the
> relationships could be Person -> PartyGroup as well as PartyGroup -> Person
> and it only looks at the end of the relationship. i.e. It grabbs all
> Persons and PartyGroups that sit on the terminal end of a relationship, but
> I believe ignores the start end of the relationship.
>
> James
>
>
> On Fri, Feb 15, 2013 at 8:29 AM, Adrian Crum <
> adrian.crum@sandglass-software.com> wrote:
>
>> Relationships go from Party to Party. Person and PartyGroup are Party
>> subtypes. So, if you want your code to work with all Party subtypes, you
>> need a view entity that includes both Person and PartyGroup. The
>> PartyRelationshipAndDetail view entity is a good example.
>>
>> -Adrian
>>
>>
>>
>> On 2/15/2013 3:47 PM, James Piechota wrote:
>>
>>> Update:
>>>
>>> I may be able to so what I need using complex aliases (basically map a
>>> fromPerson and toPerson column to a single person column - assuming that
>>> only one of the two will be non-null for a given row).
>>>
>>> I'll give it a go.
>>>
>>> James
>>>
>>> On Thursday, February 14, 2013, James Piechota wrote:
>>>
>>>   Thank you both for the replies!
>>>> I completely agree: I'd love to avoid hacking as much as possible! Maybe
>>>> my searching skills need some help because these are the issues I hit
>>>> after
>>>> combing through the source:
>>>>
>>>> 1.
>>>> I believe the relationships can go either Person -> PartyGroup or
>>>> PartyGroup -> Person - is that right? To simplify use of the view-entity,
>>>> I'd like to just have single "person" and "partyGroup" fields (as opposed
>>>> to the toPerson, fromPerson, toPartyGroup, fromPartyGroup fields used in
>>>> the scrum PartyRelationshipAndPartyDetai**l entitymodel example)
>>>>
>>>> 2.
>>>> We'll be tracking this employment relationship for customers and other
>>>> external contacts and so I don't think I can rely on the human resource
>>>> tables.
>>>>
>>>> I guess what it boils down to is:
>>>>
>>>> A. Are my search skills crappy, and there does in fact exist an example
>>>> of
>>>> how to query the employment relationship without needing both to and from
>>>> fields for both parties? (if so, I'll keep looking!)
>>>>
>>>> B. Have I misunderstood something fundamental, and there's another way to
>>>> get at what I need.
>>>>
>>>> Thanks again for the replies!
>>>>
>>>>
>>>> On Thu, Feb 14, 2013 at 2:20 AM, Adrian Crum <
>>>> adrian.crum@sandglass-**software.com<adrian.crum@sandglass-software.com><javascript:_e({},
'cvml',
>>>> 'adrian.crum@sandglass-**software.com<adrian.crum@sandglass-software.com>');>>
>>>> wrote:
>>>>
>>>>   James,
>>>>> One thing to always remember: Whatever you are trying to do, there is
a
>>>>> good chance someone else has already done it. Looking up a party
>>>>> relationship is a very common requirement, so there is no need to hack
>>>>> up
>>>>> the source code to do it. Just spend some time looking at the current
>>>>> implementations - chances are it already exists.
>>>>>
>>>>> -Adrian
>>>>>
>>>>>
>>>>> On 2/14/2013 9:39 AM, Malin Nicolas wrote:
>>>>>
>>>>>   Hi
>>>>>> You can create a view-entity between Person - PartyRelationship -
>>>>>> PartyGroup with non optional relation and a entity-condition on
>>>>>> partyRelationshipTypeId = EMPLOYMENT
>>>>>> See applications/humanres/****entitydef/entitymodel.xml for example.
>>>>>>
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>> Le 14/02/2013 00:09, James Piechota a écrit :
>>>>>>
>>>>>>   Hi,
>>>>>>> What's the recommended approach to getting a list of Persons
and the
>>>>>>> Party
>>>>>>> Group that they are in an EMPLOYMENT relationship with?
>>>>>>>
>>>>>>> Some context:
>>>>>>>
>>>>>>> Since a Person can be on either end of a PartyRelationship the
SQL
>>>>>>> query
>>>>>>> I've cooked up involves Left Joins with OR conditions.
>>>>>>>
>>>>>>> I've been unable to do this with a view-entity since the view-links
>>>>>>> seem to
>>>>>>> require at least one AND in any boolean condition (i.e., they
require
>>>>>>> at
>>>>>>> least one key-map which gets AND'ed with any provided
>>>>>>> entity-conditions).
>>>>>>>
>>>>>>> I've edited my local install to relax the view-link requirements
so
>>>>>>> that
>>>>>>> they just require *some* condition whether from a key-map,
>>>>>>> entity-condition
>>>>>>> or both. If there isn't a recommended approach to the above,
I can
>>>>>>> look
>>>>>>> into opening a JIRA issue and attaching a patch.
>>>>>>>
>>>>>>> For reference, this is the sort of SQL query I've been trying
to
>>>>>>> build:
>>>>>>>
>>>>>>> select PERSON.FIRST_NAME, PARTY_GROUP.GROUP_NAME
>>>>>>> from PERSON
>>>>>>> left outer join PARTY_RELATIONSHIP
>>>>>>>        on (PERSON.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_****FROM
or
>>>>>>> PERSON.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_****TO) and
>>>>>>> PARTY_RELATIONSHIP.PARTY_****RELATIONSHIP_TYPE_ID = 'EMPLOYMENT'
>>>>>>> left outer join PARTY_GROUP
>>>>>>>        on (PARTY_GROUP.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_****FROM
>>>>>>> or
>>>>>>> PARTY_GROUP.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_****TO) and
>>>>>>> PARTY_RELATIONSHIP.PARTY_****RELATIONSHIP_TYPE_ID = 'EMPLOYMENT'
>>>>>>>
>>>>>>>
>>>>>>>


Mime
View raw message