Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-5706

Have parties to be assigned to production run tasks

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Implemented
    • Affects Version/s: Release Branch 11.04, Release Branch 12.04, Release Branch 13.07, Trunk
    • Fix Version/s: 16.11.01
    • Component/s: manufacturing
    • Labels:
      None
    • Sprint:
      Sharan - Jira Test Sprint

      Description

      It is not possible to assign parties to execute one or more task in a production run.

        Issue Links

          Activity

          Hide
          arunpati Arun Patidar added a comment -

          Hi Pierre Smits,

          Please provide more details about the issue. Steps to regenerate and any additonal details can help.

          Show
          arunpati Arun Patidar added a comment - Hi Pierre Smits , Please provide more details about the issue. Steps to regenerate and any additonal details can help.
          Hide
          diveshdut Divesh Dutta added a comment - - edited

          Similar to OFBIZ-5705 , this ticket can also changed to an improvement.

          Show
          diveshdut Divesh Dutta added a comment - - edited Similar to OFBIZ-5705 , this ticket can also changed to an improvement.
          Hide
          toashishvijay Ashish Vijaywargiya added a comment -

          Based on Divesh's comment, changing the type of this issue.

          Show
          toashishvijay Ashish Vijaywargiya added a comment - Based on Divesh's comment, changing the type of this issue.
          Hide
          pfm.smits Pierre Smits added a comment -

          Thanks for picking up this issue. My apologies for the delay in reacting.

          Like the title of the issue indicates, it is not possible to assign parties to any task in a production run. In general you would expect that the production manager (assigned to the production run) would be required to execute such tasks.

          Show
          pfm.smits Pierre Smits added a comment - Thanks for picking up this issue. My apologies for the delay in reacting. Like the title of the issue indicates, it is not possible to assign parties to any task in a production run. In general you would expect that the production manager (assigned to the production run) would be required to execute such tasks.
          Hide
          swash78 Swapnil Shah added a comment -

          Pierre Smits
          We can try leveraging upon WORK_EFFORT_PARTY_ASSIGNMENT to honor this requirement. Of course it would require us to make necessary changes over few corresponding UI screens (e.g. ProductionRunDeclaration/EditRoutingTask etc.) to make way for planners to assign the responsible users in required role to each task.

          We can go on further and try to use WEPA to associate the production run (header) directly to corresponding customer (with required UI enhancements over CreateProductionRun/EditProductionRun screens) based on business model requirements.

          Show
          swash78 Swapnil Shah added a comment - Pierre Smits We can try leveraging upon WORK_EFFORT_PARTY_ASSIGNMENT to honor this requirement. Of course it would require us to make necessary changes over few corresponding UI screens (e.g. ProductionRunDeclaration/EditRoutingTask etc.) to make way for planners to assign the responsible users in required role to each task. We can go on further and try to use WEPA to associate the production run (header) directly to corresponding customer (with required UI enhancements over CreateProductionRun/EditProductionRun screens) based on business model requirements.
          Hide
          pfm.smits Pierre Smits added a comment -

          I know. I have a solution available, but was not yet able to package it as a patch due to other more pressing engagements. I intend to have this done before end of year.

          Regards,

          Pierre

          Show
          pfm.smits Pierre Smits added a comment - I know. I have a solution available, but was not yet able to package it as a patch due to other more pressing engagements. I intend to have this done before end of year. Regards, Pierre
          Hide
          ofbizzer Christian Carlow added a comment -

          This issue seems related to OFBIZ-5532 which requests time entries to be created for each party that does work on a production run task. The code that handles updating of production run tasks has commented code that employs time entries that I reused to implement such functionality.

          Show
          ofbizzer Christian Carlow added a comment - This issue seems related to OFBIZ-5532 which requests time entries to be created for each party that does work on a production run task. The code that handles updating of production run tasks has commented code that employs time entries that I reused to implement such functionality.
          Hide
          pfm.smits Pierre Smits added a comment -

          This patch addresses this issue as well as OFBIZ-5709

          Show
          pfm.smits Pierre Smits added a comment - This patch addresses this issue as well as OFBIZ-5709
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Hi Pierre,

          After applying the patch, and creating a production run with "Gizmo Basket Assembly Pick" "Default Routing", when I get to https://localhost:8443/manufacturing/control/productionRunParties?productionRunId=10000 and try to add the admin with 2 other default parameters; I get this error:

              [java] 2015-02-14 21:33:41,866 |http-bio-8443-exec-3 |ModelService                  |E| [ModelService.validate] : {createProductionRunPartyAssign} : (OUT) Required test error: org.ofbiz.service.ServiceVaidationException: The following required parameter is missing: [OUT] [createProductionRunPartyAssign.productionRunId]
              [java] 2015-02-14 21:33:41,866 |http-bio-8443-exec-3 |ServiceDispatcher             |T| [[Sync service failed...- total:0.0,since last(Begin):0.0]] - 'manufacturing / createProductionRunPartyAssign'
              [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |TransactionUtil               |I| Transaction rolled back
              [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |TransactionUtil               |W| Not committing transaction, status is No Transaction (6)
              [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |ServiceEventHandler           |E| Service invocation error
              [java] org.ofbiz.service.GenericServiceException: Outgoing result (in runSync : createProductionRunPartyAssign) does not match expected requirements (The following required parameter is missing: [OUT] [ceateProductionRunPartyAssign.productionRunId])
          

          I did not went further...

          Show
          jacques.le.roux Jacques Le Roux added a comment - Hi Pierre, After applying the patch, and creating a production run with "Gizmo Basket Assembly Pick" "Default Routing", when I get to https://localhost:8443/manufacturing/control/productionRunParties?productionRunId=10000 and try to add the admin with 2 other default parameters; I get this error: [java] 2015-02-14 21:33:41,866 |http-bio-8443-exec-3 |ModelService |E| [ModelService.validate] : {createProductionRunPartyAssign} : (OUT) Required test error: org.ofbiz.service.ServiceVaidationException: The following required parameter is missing: [OUT] [createProductionRunPartyAssign.productionRunId] [java] 2015-02-14 21:33:41,866 |http-bio-8443-exec-3 |ServiceDispatcher |T| [[Sync service failed...- total:0.0,since last(Begin):0.0]] - 'manufacturing / createProductionRunPartyAssign' [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |TransactionUtil |I| Transaction rolled back [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |TransactionUtil |W| Not committing transaction, status is No Transaction (6) [java] 2015-02-14 21:33:41,884 |http-bio-8443-exec-3 |ServiceEventHandler |E| Service invocation error [java] org.ofbiz.service.GenericServiceException: Outgoing result (in runSync : createProductionRunPartyAssign) does not match expected requirements (The following required parameter is missing: [OUT] [ceateProductionRunPartyAssign.productionRunId]) I did not went further...
          Hide
          pfm.smits Pierre Smits added a comment -

          Thanks Jacques, for spotting the error.

          I will submit a corrected patch shortly. I missed to put out the productionRunId and the fromDate in the patch provided.

          Show
          pfm.smits Pierre Smits added a comment - Thanks Jacques, for spotting the error. I will submit a corrected patch shortly. I missed to put out the productionRunId and the fromDate in the patch provided.
          Hide
          pfm.smits Pierre Smits added a comment -

          This patch is a replacement for OFBIZ-5706-ManufacturingParties.patch. It includes the missing output parameters productionRunId and fromDate.

          Show
          pfm.smits Pierre Smits added a comment - This patch is a replacement for OFBIZ-5706 -ManufacturingParties.patch. It includes the missing output parameters productionRunId and fromDate.
          Hide
          jacques.le.roux Jacques Le Roux added a comment - - edited

          Thanks Pierre, it works. While at it why not have a through date, why not be able to remove a party, why not show the parties in the EditProductionRun and ShowProductionRun?

          Show
          jacques.le.roux Jacques Le Roux added a comment - - edited Thanks Pierre, it works. While at it why not have a through date, why not be able to remove a party, why not show the parties in the EditProductionRun and ShowProductionRun?
          Hide
          pfm.smits Pierre Smits added a comment -

          Jacques,

          All the other stuff can be added at a later stage. It doesn't interfere with the intended issue.

          Show
          pfm.smits Pierre Smits added a comment - Jacques, All the other stuff can be added at a later stage. It doesn't interfere with the intended issue.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Thanks Pierre,

          Your patch is in trunk at revision: 1659914. I will create an issue for the improvement propositions I made.

          Show
          jacques.le.roux Jacques Le Roux added a comment - Thanks Pierre, Your patch is in trunk at revision: 1659914. I will create an issue for the improvement propositions I made.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          At revision: 1659923, I committed ProductionRunTaskParties.groovy. I Forgot it in r1659914 ("unversioned file"). Thanks to Pierre for spotting it.

          Show
          jacques.le.roux Jacques Le Roux added a comment - At revision: 1659923, I committed ProductionRunTaskParties.groovy. I Forgot it in r1659914 ("unversioned file"). Thanks to Pierre for spotting it.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Thanks to Deepak's report on dev ML:

          > + manufacturer = from("WorkEffortPartyAssignment").where("workEffortId", productionRunId, "roleTypeId", "MANUFACTURER").queryOne();
          Here we need to use filterByDate for “ WorkEffortPartyAssignment”.

          I have committed a fix at r1661323

          Actually it was a bit more because WorkEffortPartyAssignment PK is
          <prim-key field="workEffortId"/>
          <prim-key field="partyId"/>
          <prim-key field="roleTypeId"/>
          <prim-key field="fromDate"/>

          Show
          jacques.le.roux Jacques Le Roux added a comment - Thanks to Deepak's report on dev ML: > + manufacturer = from("WorkEffortPartyAssignment").where("workEffortId", productionRunId, "roleTypeId", "MANUFACTURER").queryOne(); Here we need to use filterByDate for “ WorkEffortPartyAssignment”. I have committed a fix at r1661323 Actually it was a bit more because WorkEffortPartyAssignment PK is <prim-key field="workEffortId"/> <prim-key field="partyId"/> <prim-key field="roleTypeId"/> <prim-key field="fromDate"/>
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Please Pierre check that this has no entailments at the functional level, should be ok since it was what you were aiming for (only 1 entities)

          Show
          jacques.le.roux Jacques Le Roux added a comment - Please Pierre check that this has no entailments at the functional level, should be ok since it was what you were aiming for (only 1 entities)
          Hide
          pfm.smits Pierre Smits added a comment -

          It depends where that is applied. Yes, on the production run declaration (the front page of the production run) it should only display the current manufacturer. On the overview of associated parties all past and present partiers should be shown. And filtering can be done in another way. But that is another issue.

          Show
          pfm.smits Pierre Smits added a comment - It depends where that is applied. Yes, on the production run declaration (the front page of the production run) it should only display the current manufacturer. On the overview of associated parties all past and present partiers should be shown. And filtering can be done in another way. But that is another issue.

            People

            • Assignee:
              pfm.smits Pierre Smits
              Reporter:
              pfm.smits Pierre Smits
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development

                  Agile