[jira] [Updated] (OFBIZ-7957) RateAmount is not found when the level is 'WorkEffort'

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (OFBIZ-7957) RateAmount is not found when the level is 'WorkEffort'

Nicolas Malin (Jira)

     [ https://issues.apache.org/jira/browse/OFBIZ-7957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Montalbano Florian updated OFBIZ-7957:
--------------------------------------
    Attachment: OFBIZ-7957.patch

Here is a patch to correct this issue.
I went by the 'micro-service' solution for now and I kept the inpt/output of the modified service 'getRateAmount'.

I'm now wondering where I can put an option to retrieve the rateAmount of a parent workEffort is the workEffortId given in the parameters does not match any rateAmount. This way, we could put a 'global' rateAmount on a porject and punctually set rateAmount on given task of this project. It could works with phases too.

Every review of this patch is welcomed !

> RateAmount is not found when the level is 'WorkEffort'
> ------------------------------------------------------
>
>                 Key: OFBIZ-7957
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7957
>             Project: OFBiz
>          Issue Type: Bug
>          Components: accounting
>    Affects Versions: Trunk
>            Reporter: Montalbano Florian
>              Labels: accounting, level, rate, rateAmount, workeffort
>         Attachments: OFBIZ-7957.patch
>
>
> When you create a RateAmount, you can determine for which WorkEffort it should apply. But when this RateAmount is retrieved for a specific WorkEffort, it fails to find the good RateAmount.
> The problem comes from the check done to retrieve the RateAmount at a WorkEffort level. This is the used check :
> {code}
> <entity-and entity-name="RateAmount" list="amounts" filter-by-date="true">
>                 <field-map field-name="rateTypeId" from-field="parameters.rateTypeId"/>
>                 <field-map field-name="partyId" from-field="parameters.partyId"/>
>                 <field-map field-name="workEffortId" from-field="parameters.workEffortId"/>
>                 <field-map field-name="periodTypeId" from-field="parameters.periodTypeId"/>
>                 <field-map field-name="rateCurrencyUomId" from-field="parameters.rateCurrencyUomId"/>
>             </entity-and>
>             <if-empty field="amounts">
> {code}
> In this 'entity-and', the partyId is set as a constraint. But it is possible to enable a special RateAmount only for a WorkEffort without regarding the partyId.
> I think we have 2 options here :
> - Remove the partyId constraint but then the retrieving may be less accurate
> - Make the retrieving more accurate by checking first the WorkEffort, then from the retrieved list, check if the partyId matches and finally from this second retrieval, check if the emplPositionTypeId match. At the end, we would have the most accurate RateAmount.
> What do you think of it ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)